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

	TITLE	d:\Source Code\STGM\shawk.cpp
	.686P
	.XMM
	include listing.inc
	.model	flat

INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES

PUBLIC	??_C@_0P@GHFPNOJB@bad?5allocation?$AA@		; `string'
PUBLIC	?collate@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::collate
PUBLIC	?ctype@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::ctype
PUBLIC	?monetary@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::monetary
PUBLIC	?numeric@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::numeric
PUBLIC	?time@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::time
PUBLIC	?messages@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::messages
PUBLIC	?all@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::all
PUBLIC	?none@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::none
PUBLIC	?table_size@?$ctype@D@std@@2IB			; std::ctype<char>::table_size
PUBLIC	?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::skipws
PUBLIC	?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::unitbuf
PUBLIC	?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::uppercase
PUBLIC	?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showbase
PUBLIC	?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpoint
PUBLIC	?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpos
PUBLIC	?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::left
PUBLIC	?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::right
PUBLIC	?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::internal
PUBLIC	?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::dec
PUBLIC	?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::oct
PUBLIC	?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::hex
PUBLIC	?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::scientific
PUBLIC	?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::fixed
PUBLIC	?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::boolalpha
PUBLIC	?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::_Stdio
PUBLIC	?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::adjustfield
PUBLIC	?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::basefield
PUBLIC	?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::floatfield
PUBLIC	?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::goodbit
PUBLIC	?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::eofbit
PUBLIC	?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::failbit
PUBLIC	?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::badbit
PUBLIC	?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::_Hardfail
PUBLIC	?in@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::in
PUBLIC	?out@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::out
PUBLIC	?ate@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::ate
PUBLIC	?app@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::app
PUBLIC	?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::trunc
PUBLIC	?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Nocreate
PUBLIC	?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Noreplace
PUBLIC	?binary@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::binary
PUBLIC	?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::beg
PUBLIC	?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::cur
PUBLIC	?end@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::end
PUBLIC	?VerifyController@@3PAVFileVerificationController@@A ; VerifyController
_BSS	SEGMENT
?VerifyController@@3PAVFileVerificationController@@A DD 01H DUP (?) ; VerifyController
_BSS	ENDS
;	COMDAT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?end@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 02H		; std::_Iosb<int>::end
CONST	ENDS
;	COMDAT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 01H		; std::_Iosb<int>::cur
CONST	ENDS
;	COMDAT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 00H		; std::_Iosb<int>::beg
CONST	ENDS
;	COMDAT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?binary@?$_Iosb@H@std@@2W4_Openmode@12@B DD 020H	; std::_Iosb<int>::binary
CONST	ENDS
;	COMDAT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B DD 080H	; std::_Iosb<int>::_Noreplace
CONST	ENDS
;	COMDAT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 040H	; std::_Iosb<int>::_Nocreate
CONST	ENDS
;	COMDAT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B DD 010H		; std::_Iosb<int>::trunc
CONST	ENDS
;	COMDAT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?app@?$_Iosb@H@std@@2W4_Openmode@12@B DD 08H		; std::_Iosb<int>::app
CONST	ENDS
;	COMDAT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?ate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 04H		; std::_Iosb<int>::ate
CONST	ENDS
;	COMDAT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?out@?$_Iosb@H@std@@2W4_Openmode@12@B DD 02H		; std::_Iosb<int>::out
CONST	ENDS
;	COMDAT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?in@?$_Iosb@H@std@@2W4_Openmode@12@B DD 01H		; std::_Iosb<int>::in
CONST	ENDS
;	COMDAT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B DD 010H	; std::_Iosb<int>::_Hardfail
CONST	ENDS
;	COMDAT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 04H		; std::_Iosb<int>::badbit
CONST	ENDS
;	COMDAT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 02H		; std::_Iosb<int>::failbit
CONST	ENDS
;	COMDAT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 01H		; std::_Iosb<int>::eofbit
CONST	ENDS
;	COMDAT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 00H		; std::_Iosb<int>::goodbit
CONST	ENDS
;	COMDAT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 03000H	; std::_Iosb<int>::floatfield
CONST	ENDS
;	COMDAT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0e00H	; std::_Iosb<int>::basefield
CONST	ENDS
;	COMDAT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01c0H	; std::_Iosb<int>::adjustfield
CONST	ENDS
;	COMDAT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08000H	; std::_Iosb<int>::_Stdio
CONST	ENDS
;	COMDAT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04000H	; std::_Iosb<int>::boolalpha
CONST	ENDS
;	COMDAT ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02000H	; std::_Iosb<int>::fixed
CONST	ENDS
;	COMDAT ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01000H	; std::_Iosb<int>::scientific
CONST	ENDS
;	COMDAT ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0800H		; std::_Iosb<int>::hex
CONST	ENDS
;	COMDAT ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0400H		; std::_Iosb<int>::oct
CONST	ENDS
;	COMDAT ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0200H		; std::_Iosb<int>::dec
CONST	ENDS
;	COMDAT ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0100H	; std::_Iosb<int>::internal
CONST	ENDS
;	COMDAT ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 080H		; std::_Iosb<int>::right
CONST	ENDS
;	COMDAT ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 040H		; std::_Iosb<int>::left
CONST	ENDS
;	COMDAT ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 020H	; std::_Iosb<int>::showpos
CONST	ENDS
;	COMDAT ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 010H	; std::_Iosb<int>::showpoint
CONST	ENDS
;	COMDAT ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08H	; std::_Iosb<int>::showbase
CONST	ENDS
;	COMDAT ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04H	; std::_Iosb<int>::uppercase
CONST	ENDS
;	COMDAT ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02H	; std::_Iosb<int>::unitbuf
CONST	ENDS
;	COMDAT ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01H		; std::_Iosb<int>::skipws
CONST	ENDS
;	COMDAT ?table_size@?$ctype@D@std@@2IB
CONST	SEGMENT
?table_size@?$ctype@D@std@@2IB DD 0100H			; std::ctype<char>::table_size
CONST	ENDS
;	COMDAT ?none@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?none@?$_Locbase@H@std@@2HB DD 00H			; std::_Locbase<int>::none
CONST	ENDS
;	COMDAT ?all@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?all@?$_Locbase@H@std@@2HB DD 03fH			; std::_Locbase<int>::all
CONST	ENDS
;	COMDAT ?messages@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?messages@?$_Locbase@H@std@@2HB DD 020H			; std::_Locbase<int>::messages
CONST	ENDS
;	COMDAT ?time@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?time@?$_Locbase@H@std@@2HB DD 010H			; std::_Locbase<int>::time
CONST	ENDS
;	COMDAT ?numeric@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?numeric@?$_Locbase@H@std@@2HB DD 08H			; std::_Locbase<int>::numeric
CONST	ENDS
;	COMDAT ?monetary@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?monetary@?$_Locbase@H@std@@2HB DD 04H			; std::_Locbase<int>::monetary
CONST	ENDS
;	COMDAT ?ctype@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?ctype@?$_Locbase@H@std@@2HB DD 02H			; std::_Locbase<int>::ctype
CONST	ENDS
;	COMDAT ?collate@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?collate@?$_Locbase@H@std@@2HB DD 01H			; std::_Locbase<int>::collate
CONST	ENDS
_DATA	SEGMENT
__bad_alloc_Message DD FLAT:??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
_DATA	ENDS
;	COMDAT ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
CONST	SEGMENT
??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ DB 'bad allocation', 00H ; `string'
CONST	ENDS
PUBLIC	??_7bad_alloc@std@@6B@				; std::bad_alloc::`vftable'
PUBLIC	??0bad_alloc@std@@QAE@PBD@Z			; std::bad_alloc::bad_alloc
PUBLIC	??_R4bad_alloc@std@@6B@				; std::bad_alloc::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVbad_alloc@std@@@8			; std::bad_alloc `RTTI Type Descriptor'
PUBLIC	??_R3bad_alloc@std@@8				; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2bad_alloc@std@@8				; std::bad_alloc::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@bad_alloc@std@@8			; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@exception@std@@8			; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVexception@std@@@8			; std::exception `RTTI Type Descriptor'
PUBLIC	??_R3exception@std@@8				; std::exception::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2exception@std@@8				; std::exception::`RTTI Base Class Array'
EXTRN	??0exception@std@@QAE@ABQBD@Z:PROC		; std::exception::exception
EXTRN	??_7type_info@@6B@:QWORD			; type_info::`vftable'
EXTRN	??_Ebad_alloc@std@@UAEPAXI@Z:PROC		; std::bad_alloc::`vector deleting destructor'
EXTRN	?what@exception@std@@UBEPBDXZ:PROC		; std::exception::what
;	COMDAT ??_R2exception@std@@8
; File c:\program files\microsoft visual studio 8\vc\include\exception
rdata$r	SEGMENT
??_R2exception@std@@8 DD FLAT:??_R1A@?0A@EA@exception@std@@8 ; std::exception::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3exception@std@@8
rdata$r	SEGMENT
??_R3exception@std@@8 DD 00H				; std::exception::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVexception@std@@@8
_DATA	SEGMENT
??_R0?AVexception@std@@@8 DD FLAT:??_7type_info@@6B@	; std::exception `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVexception@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@exception@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@exception@std@@8 DD FLAT:??_R0?AVexception@std@@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@bad_alloc@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@bad_alloc@std@@8 DD FLAT:??_R0?AVbad_alloc@std@@@8 ; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_R2bad_alloc@std@@8
rdata$r	SEGMENT
??_R2bad_alloc@std@@8 DD FLAT:??_R1A@?0A@EA@bad_alloc@std@@8 ; std::bad_alloc::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R3bad_alloc@std@@8
rdata$r	SEGMENT
??_R3bad_alloc@std@@8 DD 00H				; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVbad_alloc@std@@@8
_DATA	SEGMENT
??_R0?AVbad_alloc@std@@@8 DD FLAT:??_7type_info@@6B@	; std::bad_alloc `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVbad_alloc@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4bad_alloc@std@@6B@
rdata$r	SEGMENT
??_R4bad_alloc@std@@6B@ DD 00H				; std::bad_alloc::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVbad_alloc@std@@@8
	DD	FLAT:??_R3bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_7bad_alloc@std@@6B@
CONST	SEGMENT
??_7bad_alloc@std@@6B@ DD FLAT:??_R4bad_alloc@std@@6B@	; std::bad_alloc::`vftable'
	DD	FLAT:??_Ebad_alloc@std@@UAEPAXI@Z
	DD	FLAT:?what@exception@std@@UBEPBDXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@PBD@Z
_TEXT	SEGMENT
__Message$ = 8						; size = 4
??0bad_alloc@std@@QAE@PBD@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx

; 371  : 		{	// construct from message string

	push	esi
	lea	eax, DWORD PTR __Message$[esp]
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@

; 372  : 		}

	mov	eax, esi
	pop	esi
	ret	4
??0bad_alloc@std@@QAE@PBD@Z ENDP			; std::bad_alloc::bad_alloc
_TEXT	ENDS
PUBLIC	??1bad_alloc@std@@UAE@XZ			; std::bad_alloc::~bad_alloc
EXTRN	??1exception@std@@UAE@XZ:PROC			; std::exception::~exception
; Function compile flags: /Ogtpy
;	COMDAT ??1bad_alloc@std@@UAE@XZ
_TEXT	SEGMENT
??1bad_alloc@std@@UAE@XZ PROC				; std::bad_alloc::~bad_alloc, COMDAT
; _this$ = ecx

; 380  : 		{	// destroy the object

	mov	DWORD PTR [ecx], OFFSET ??_7bad_alloc@std@@6B@

; 381  : 		}

	jmp	??1exception@std@@UAE@XZ		; std::exception::~exception
??1bad_alloc@std@@UAE@XZ ENDP				; std::bad_alloc::~bad_alloc
_TEXT	ENDS
EXTRN	??3@YAXPAX@Z:PROC				; operator delete
; Function compile flags: /Ogtpy
;	COMDAT ??_Gbad_alloc@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Gbad_alloc@std@@UAEPAXI@Z PROC			; std::bad_alloc::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	call	??1exception@std@@UAE@XZ		; std::exception::~exception
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN6@scalar
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN6@scalar:
	mov	eax, esi
	pop	esi
	ret	4
??_Gbad_alloc@std@@UAEPAXI@Z ENDP			; std::bad_alloc::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?assign@?$char_traits@D@std@@SAXAADABD@Z	; std::char_traits<char>::assign
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
;	COMDAT ?assign@?$char_traits@D@std@@SAXAADABD@Z
_TEXT	SEGMENT
__Left$ = 8						; size = 4
__Right$ = 12						; size = 4
?assign@?$char_traits@D@std@@SAXAADABD@Z PROC		; std::char_traits<char>::assign, COMDAT

; 418  : 		_Left = _Right;

	mov	eax, DWORD PTR __Right$[esp-4]
	mov	cl, BYTE PTR [eax]
	mov	edx, DWORD PTR __Left$[esp-4]
	mov	BYTE PTR [edx], cl

; 419  : 		}

	ret	0
?assign@?$char_traits@D@std@@SAXAADABD@Z ENDP		; std::char_traits<char>::assign
_TEXT	ENDS
PUBLIC	?length@?$char_traits@D@std@@SAIPBD@Z		; std::char_traits<char>::length
; Function compile flags: /Ogtpy
;	COMDAT ?length@?$char_traits@D@std@@SAIPBD@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
?length@?$char_traits@D@std@@SAIPBD@Z PROC		; std::char_traits<char>::length, COMDAT

; 441  : //		_DEBUG_POINTER(_First);
; 442  : 		return (::strlen(_First));

	mov	eax, DWORD PTR __First$[esp-4]
	lea	edx, DWORD PTR [eax+1]
$LL3@length:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL3@length
	sub	eax, edx

; 443  : 		}

	ret	0
?length@?$char_traits@D@std@@SAIPBD@Z ENDP		; std::char_traits<char>::length
_TEXT	ENDS
PUBLIC	?_Copy_s@?$char_traits@D@std@@SAPADPADIPBDI@Z	; std::char_traits<char>::_Copy_s
EXTRN	_memcpy_s:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?_Copy_s@?$char_traits@D@std@@SAPADPADIPBDI@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size_in_bytes$ = 12					; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
?_Copy_s@?$char_traits@D@std@@SAPADPADIPBDI@Z PROC	; std::char_traits<char>::_Copy_s, COMDAT

; 456  : //		_DEBUG_POINTER(_First1);
; 457  : //		_DEBUG_POINTER(_First2);
; 458  : 		_CRT_SECURE_MEMCPY(_First1, _Size_in_bytes, _First2, _Count);

	mov	eax, DWORD PTR __Count$[esp-4]
	mov	ecx, DWORD PTR __First2$[esp-4]
	mov	edx, DWORD PTR __Size_in_bytes$[esp-4]
	push	esi
	mov	esi, DWORD PTR __First1$[esp]
	push	eax
	push	ecx
	push	edx
	push	esi
	call	_memcpy_s
	add	esp, 16					; 00000010H

; 459  : 		return _First1;

	mov	eax, esi
	pop	esi

; 460  : 		}

	ret	0
?_Copy_s@?$char_traits@D@std@@SAPADPADIPBDI@Z ENDP	; std::char_traits<char>::_Copy_s
_TEXT	ENDS
PUBLIC	?_Move_s@?$char_traits@D@std@@SAPADPADIPBDI@Z	; std::char_traits<char>::_Move_s
EXTRN	_memmove_s:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?_Move_s@?$char_traits@D@std@@SAPADPADIPBDI@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size_in_bytes$ = 12					; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
?_Move_s@?$char_traits@D@std@@SAPADPADIPBDI@Z PROC	; std::char_traits<char>::_Move_s, COMDAT

; 480  : //		_DEBUG_POINTER(_First1);
; 481  : //		_DEBUG_POINTER(_First2);
; 482  : 		_CRT_SECURE_MEMMOVE(_First1, _Size_in_bytes, _First2, _Count);

	mov	eax, DWORD PTR __Count$[esp-4]
	mov	ecx, DWORD PTR __First2$[esp-4]
	mov	edx, DWORD PTR __Size_in_bytes$[esp-4]
	push	esi
	mov	esi, DWORD PTR __First1$[esp]
	push	eax
	push	ecx
	push	edx
	push	esi
	call	_memmove_s
	add	esp, 16					; 00000010H

; 483  : 		return _First1;

	mov	eax, esi
	pop	esi

; 484  : 		}

	ret	0
?_Move_s@?$char_traits@D@std@@SAPADPADIPBDI@Z ENDP	; std::char_traits<char>::_Move_s
_TEXT	ENDS
PUBLIC	?assign@?$char_traits@D@std@@SAPADPADID@Z	; std::char_traits<char>::assign
EXTRN	_memset:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?assign@?$char_traits@D@std@@SAPADPADID@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Ch$ = 16						; size = 1
?assign@?$char_traits@D@std@@SAPADPADID@Z PROC		; std::char_traits<char>::assign, COMDAT

; 488  : //		_DEBUG_POINTER(_First);
; 489  : 		return ((_Elem *)::memset(_First, _Ch, _Count));

	mov	eax, DWORD PTR __Count$[esp-4]
	movsx	ecx, BYTE PTR __Ch$[esp-4]
	mov	edx, DWORD PTR __First$[esp-4]
	push	eax
	push	ecx
	push	edx
	call	_memset
	add	esp, 12					; 0000000cH

; 490  : 		}

	ret	0
?assign@?$char_traits@D@std@@SAPADPADID@Z ENDP		; std::char_traits<char>::assign
_TEXT	ENDS
PUBLIC	?to_char_type@?$char_traits@D@std@@SADABH@Z	; std::char_traits<char>::to_char_type
; Function compile flags: /Ogtpy
;	COMDAT ?to_char_type@?$char_traits@D@std@@SADABH@Z
_TEXT	SEGMENT
__Meta$ = 8						; size = 4
?to_char_type@?$char_traits@D@std@@SADABH@Z PROC	; std::char_traits<char>::to_char_type, COMDAT

; 494  : 		return ((_Elem)_Meta);

	mov	eax, DWORD PTR __Meta$[esp-4]
	mov	al, BYTE PTR [eax]

; 495  : 		}

	ret	0
?to_char_type@?$char_traits@D@std@@SADABH@Z ENDP	; std::char_traits<char>::to_char_type
_TEXT	ENDS
PUBLIC	?to_int_type@?$char_traits@D@std@@SAHABD@Z	; std::char_traits<char>::to_int_type
; Function compile flags: /Ogtpy
;	COMDAT ?to_int_type@?$char_traits@D@std@@SAHABD@Z
_TEXT	SEGMENT
__Ch$ = 8						; size = 4
?to_int_type@?$char_traits@D@std@@SAHABD@Z PROC		; std::char_traits<char>::to_int_type, COMDAT

; 499  : 		return ((unsigned char)_Ch);

	mov	eax, DWORD PTR __Ch$[esp-4]
	movzx	eax, BYTE PTR [eax]

; 500  : 		}

	ret	0
?to_int_type@?$char_traits@D@std@@SAHABD@Z ENDP		; std::char_traits<char>::to_int_type
_TEXT	ENDS
PUBLIC	?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z	; std::char_traits<char>::eq_int_type
; Function compile flags: /Ogtpy
;	COMDAT ?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z
_TEXT	SEGMENT
__Left$ = 8						; size = 4
__Right$ = 12						; size = 4
?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z PROC	; std::char_traits<char>::eq_int_type, COMDAT

; 505  : 		return (_Left == _Right);

	mov	eax, DWORD PTR __Left$[esp-4]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR __Right$[esp-4]
	xor	eax, eax
	cmp	ecx, DWORD PTR [edx]
	sete	al

; 506  : 		}

	ret	0
?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z ENDP	; std::char_traits<char>::eq_int_type
_TEXT	ENDS
PUBLIC	?eof@?$char_traits@D@std@@SAHXZ			; std::char_traits<char>::eof
; Function compile flags: /Ogtpy
;	COMDAT ?eof@?$char_traits@D@std@@SAHXZ
_TEXT	SEGMENT
?eof@?$char_traits@D@std@@SAHXZ PROC			; std::char_traits<char>::eof, COMDAT

; 510  : 		return (EOF);

	or	eax, -1

; 511  : 		}

	ret	0
?eof@?$char_traits@D@std@@SAHXZ ENDP			; std::char_traits<char>::eof
_TEXT	ENDS
PUBLIC	??0_Container_base@std@@QAE@XZ			; std::_Container_base::_Container_base
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xutility
;	COMDAT ??0_Container_base@std@@QAE@XZ
_TEXT	SEGMENT
??0_Container_base@std@@QAE@XZ PROC			; std::_Container_base::_Container_base, COMDAT
; _this$ = ecx

; 91   : 		{	// construct childless container

	mov	eax, ecx
	mov	DWORD PTR [eax], 0

; 92   : 		}

	ret	0
??0_Container_base@std@@QAE@XZ ENDP			; std::_Container_base::_Container_base
_TEXT	ENDS
PUBLIC	??0_Iterator_base@std@@QAE@XZ			; std::_Iterator_base::_Iterator_base
; Function compile flags: /Ogtpy
;	COMDAT ??0_Iterator_base@std@@QAE@XZ
_TEXT	SEGMENT
??0_Iterator_base@std@@QAE@XZ PROC			; std::_Iterator_base::_Iterator_base, COMDAT
; _this$ = ecx

; 127  : 		{	// construct orphaned iterator

	mov	eax, ecx
	mov	DWORD PTR [eax], 0
	mov	DWORD PTR [eax+4], 0

; 128  : 		}

	ret	0
??0_Iterator_base@std@@QAE@XZ ENDP			; std::_Iterator_base::_Iterator_base
_TEXT	ENDS
PUBLIC	??_C@_1DC@POOIKBAO@?$AAI?$AAT?$AAE?$AAR?$AAA?$AAT?$AAO?$AAR?$AA?5?$AAL?$AAI?$AAS?$AAT?$AA?5?$AAC?$AAO?$AAR?$AAR?$AAU?$AAP?$AAT?$AAE?$AAD?$AA?$CB?$AA?$AA@ ; `string'
PUBLIC	??_C@_1HO@DIMJPEED@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@ ; `string'
PUBLIC	?_Orphan_me@_Iterator_base@std@@QAEXXZ		; std::_Iterator_base::_Orphan_me
EXTRN	?_Debug_message@std@@YAXPB_W0I@Z:PROC		; std::_Debug_message
;	COMDAT ??_C@_1DC@POOIKBAO@?$AAI?$AAT?$AAE?$AAR?$AAA?$AAT?$AAO?$AAR?$AA?5?$AAL?$AAI?$AAS?$AAT?$AA?5?$AAC?$AAO?$AAR?$AAR?$AAU?$AAP?$AAT?$AAE?$AAD?$AA?$CB?$AA?$AA@
CONST	SEGMENT
??_C@_1DC@POOIKBAO@?$AAI?$AAT?$AAE?$AAR?$AAA?$AAT?$AAO?$AAR?$AA?5?$AAL?$AAI?$AAS?$AAT?$AA?5?$AAC?$AAO?$AAR?$AAR?$AAU?$AAP?$AAT?$AAE?$AAD?$AA?$CB?$AA?$AA@ DB 'I'
	DB	00H, 'T', 00H, 'E', 00H, 'R', 00H, 'A', 00H, 'T', 00H, 'O', 00H
	DB	'R', 00H, ' ', 00H, 'L', 00H, 'I', 00H, 'S', 00H, 'T', 00H, ' '
	DB	00H, 'C', 00H, 'O', 00H, 'R', 00H, 'R', 00H, 'U', 00H, 'P', 00H
	DB	'T', 00H, 'E', 00H, 'D', 00H, '!', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1HO@DIMJPEED@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
CONST	SEGMENT
??_C@_1HO@DIMJPEED@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@ DB 'C'
	DB	00H, ':', 00H, '\', 00H, 'P', 00H, 'r', 00H, 'o', 00H, 'g', 00H
	DB	'r', 00H, 'a', 00H, 'm', 00H, ' ', 00H, 'F', 00H, 'i', 00H, 'l'
	DB	00H, 'e', 00H, 's', 00H, '\', 00H, 'M', 00H, 'i', 00H, 'c', 00H
	DB	'r', 00H, 'o', 00H, 's', 00H, 'o', 00H, 'f', 00H, 't', 00H, ' '
	DB	00H, 'V', 00H, 'i', 00H, 's', 00H, 'u', 00H, 'a', 00H, 'l', 00H
	DB	' ', 00H, 'S', 00H, 't', 00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o'
	DB	00H, ' ', 00H, '8', 00H, '\', 00H, 'V', 00H, 'C', 00H, '\', 00H
	DB	'i', 00H, 'n', 00H, 'c', 00H, 'l', 00H, 'u', 00H, 'd', 00H, 'e'
	DB	00H, '\', 00H, 'x', 00H, 'u', 00H, 't', 00H, 'i', 00H, 'l', 00H
	DB	'i', 00H, 't', 00H, 'y', 00H, 00H, 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?_Orphan_me@_Iterator_base@std@@QAEXXZ
_TEXT	SEGMENT
?_Orphan_me@_Iterator_base@std@@QAEXXZ PROC		; std::_Iterator_base::_Orphan_me, COMDAT
; _this$ = ecx

; 169  : 		{	// cut ties with parent

	push	esi
	push	edi
	mov	edi, ecx

; 170  : 		if (_Mycont != 0 && _Mycont->_Myfirstiter != _IGNORE_MYITERLIST)

	mov	esi, DWORD PTR [edi]
	test	esi, esi
	je	SHORT $LN4@Orphan_me
	cmp	DWORD PTR [esi], -3			; fffffffdH
	je	SHORT $LN4@Orphan_me

; 171  : 			{	// adopted, remove self from list
; 172  : 			_Iterator_base **_Pnext =
; 173  : 				(_Iterator_base **)&_Mycont->_Myfirstiter;
; 174  : 			while (*_Pnext != 0 && *_Pnext != this)

	cmp	DWORD PTR [esi], 0
	je	SHORT $LN9@Orphan_me
$LL3@Orphan_me:
	mov	eax, DWORD PTR [esi]
	cmp	eax, edi
	je	SHORT $LN2@Orphan_me
	cmp	DWORD PTR [eax+4], 0

; 175  : 				_Pnext = &(*_Pnext)->_Mynextiter;

	lea	esi, DWORD PTR [eax+4]
	jne	SHORT $LL3@Orphan_me
$LN2@Orphan_me:

; 176  : 
; 177  : 			if (*_Pnext == 0)

	cmp	DWORD PTR [esi], 0
	jne	SHORT $LN1@Orphan_me
$LN9@Orphan_me:

; 178  : 				_DEBUG_ERROR("ITERATOR LIST CORRUPTED!");

	push	178					; 000000b2H
	push	OFFSET ??_C@_1HO@DIMJPEED@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1DC@POOIKBAO@?$AAI?$AAT?$AAE?$AAR?$AAA?$AAT?$AAO?$AAR?$AA?5?$AAL?$AAI?$AAS?$AAT?$AA?5?$AAC?$AAO?$AAR?$AAR?$AAU?$AAP?$AAT?$AAE?$AAD?$AA?$CB?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN1@Orphan_me:

; 179  : 			*_Pnext = _Mynextiter;

	mov	eax, DWORD PTR [edi+4]
	mov	DWORD PTR [esi], eax

; 180  : 			_Mycont = 0;

	mov	DWORD PTR [edi], 0
$LN4@Orphan_me:
	pop	edi
	pop	esi

; 181  : 			}
; 182  : 		}

	ret	0
?_Orphan_me@_Iterator_base@std@@QAEXXZ ENDP		; std::_Iterator_base::_Orphan_me
_TEXT	ENDS
PUBLIC	?_Orphan_all@_Container_base@std@@QBEXXZ	; std::_Container_base::_Orphan_all
EXTRN	??1_Lockit@std@@QAE@XZ:PROC			; std::_Lockit::~_Lockit
EXTRN	??0_Lockit@std@@QAE@H@Z:PROC			; std::_Lockit::_Lockit
; Function compile flags: /Ogtpy
;	COMDAT ?_Orphan_all@_Container_base@std@@QBEXXZ
_TEXT	SEGMENT
__Lock$ = -4						; size = 4
?_Orphan_all@_Container_base@std@@QBEXXZ PROC		; std::_Container_base::_Orphan_all, COMDAT
; _this$ = ecx

; 191  : 	{	// orphan all iterators

	push	ecx
	push	esi
	mov	esi, ecx

; 192  : 	_Lockit _Lock(_LOCK_DEBUG);

	push	3
	lea	ecx, DWORD PTR __Lock$[esp+12]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit

; 193  : 	if (_Myfirstiter != _IGNORE_MYITERLIST)

	mov	eax, DWORD PTR [esi]
	cmp	eax, -3					; fffffffdH
	je	SHORT $LN4@Orphan_all

; 194  : 		{
; 195  : 		for (_Iterator_base **_Pnext = (_Iterator_base **)&_Myfirstiter;
; 196  : 			*_Pnext != 0; *_Pnext = (*_Pnext)->_Mynextiter)

	test	eax, eax
	je	SHORT $LN1@Orphan_all
	npad	6
$LL3@Orphan_all:

; 197  : 			(*_Pnext)->_Mycont = 0;

	mov	eax, DWORD PTR [esi]
	mov	DWORD PTR [eax], 0
	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx+4]
	test	edx, edx
	mov	DWORD PTR [esi], edx
	jne	SHORT $LL3@Orphan_all
$LN1@Orphan_all:

; 198  : 		*(_Iterator_base **)&_Myfirstiter = 0;

	mov	DWORD PTR [esi], 0
$LN4@Orphan_all:

; 199  : 		}
; 200  : 	}

	lea	ecx, DWORD PTR __Lock$[esp+8]
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	pop	esi
	pop	ecx
	ret	0
?_Orphan_all@_Container_base@std@@QBEXXZ ENDP		; std::_Container_base::_Orphan_all
_TEXT	ENDS
PUBLIC	?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ	; std::_Locinfo::_Getctype
EXTRN	__Getctype:PROC
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocinfo
;	COMDAT ?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ
_TEXT	SEGMENT
$T63050 = -16						; size = 16
___$ReturnUdt$ = 8					; size = 4
?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ PROC	; std::_Locinfo::_Getctype, COMDAT
; _this$ = ecx

; 114  : 		{	// return ctype stuff

	sub	esp, 16					; 00000010H

; 115  : 		return (::_Getctype());

	lea	eax, DWORD PTR $T63050[esp+16]
	push	eax
	call	__Getctype
	mov	ecx, DWORD PTR ___$ReturnUdt$[esp+16]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR [ecx], edx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR [ecx+4], edx
	mov	edx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [eax+12]
	mov	DWORD PTR [ecx+8], edx
	mov	DWORD PTR [ecx+12], eax
	mov	eax, ecx

; 116  : 		}

	add	esp, 20					; 00000014H
	ret	4
?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ ENDP	; std::_Locinfo::_Getctype
_TEXT	ENDS
PUBLIC	??0id@locale@std@@QAE@I@Z			; std::locale::id::id
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
;	COMDAT ??0id@locale@std@@QAE@I@Z
_TEXT	SEGMENT
__Val$ = 8						; size = 4
??0id@locale@std@@QAE@I@Z PROC				; std::locale::id::id, COMDAT
; _this$ = ecx

; 73   : 			{	// construct with specified stamp value

	mov	eax, ecx
	mov	ecx, DWORD PTR __Val$[esp-4]
	mov	DWORD PTR [eax], ecx

; 74   : 			}

	ret	4
??0id@locale@std@@QAE@I@Z ENDP				; std::locale::id::id
_TEXT	ENDS
PUBLIC	??Bid@locale@std@@QAEIXZ			; std::locale::id::operator unsigned int
EXTRN	?_Id_cnt@id@locale@std@@0HA:DWORD		; std::locale::id::_Id_cnt
; Function compile flags: /Ogtpy
;	COMDAT ??Bid@locale@std@@QAEIXZ
_TEXT	SEGMENT
__Lock$12925 = -4					; size = 4
??Bid@locale@std@@QAEIXZ PROC				; std::locale::id::operator unsigned int, COMDAT
; _this$ = ecx

; 77   : 			{	// get stamp, with lazy allocation

	push	ecx
	push	esi
	mov	esi, ecx

; 78   : 			if (_Id == 0)

	cmp	DWORD PTR [esi], 0
	jne	SHORT $LN6@operator

; 79   : 				{	// still zero, allocate stamp
; 80   : 				_BEGIN_LOCK(_LOCK_LOCALE)

	push	0
	lea	ecx, DWORD PTR __Lock$12925[esp+12]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit

; 81   : 					if (_Id == 0)

	cmp	DWORD PTR [esi], 0
	jne	SHORT $LN1@operator

; 82   : 						_Id = ++_Id_cnt;

	mov	eax, DWORD PTR ?_Id_cnt@id@locale@std@@0HA ; std::locale::id::_Id_cnt
	add	eax, 1
	mov	DWORD PTR ?_Id_cnt@id@locale@std@@0HA, eax ; std::locale::id::_Id_cnt
	mov	DWORD PTR [esi], eax
$LN1@operator:

; 83   : 				_END_LOCK()

	lea	ecx, DWORD PTR __Lock$12925[esp+8]
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
$LN6@operator:

; 84   : 				}
; 85   : 			return (_Id);

	mov	eax, DWORD PTR [esi]
	pop	esi

; 86   : 			}

	pop	ecx
	ret	0
??Bid@locale@std@@QAEIXZ ENDP				; std::locale::id::operator unsigned int
_TEXT	ENDS
PUBLIC	?_Incref@facet@locale@std@@QAEXXZ		; std::locale::facet::_Incref
; Function compile flags: /Ogtpy
;	COMDAT ?_Incref@facet@locale@std@@QAEXXZ
_TEXT	SEGMENT
__Lock$12931 = -4					; size = 4
?_Incref@facet@locale@std@@QAEXXZ PROC			; std::locale::facet::_Incref, COMDAT
; _this$ = ecx

; 116  : 			{	// safely increment the reference count

	push	ecx
	push	esi
	mov	esi, ecx

; 117  : 			_BEGIN_LOCK(_LOCK_LOCALE)

	push	0
	lea	ecx, DWORD PTR __Lock$12931[esp+12]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit

; 118  : 				if (_Refs < (size_t)(-1))

	mov	eax, DWORD PTR [esi+4]
	cmp	eax, -1
	jae	SHORT $LN1@Incref

; 119  : 					++_Refs;

	add	eax, 1
	mov	DWORD PTR [esi+4], eax
$LN1@Incref:

; 120  : 			_END_LOCK()

	lea	ecx, DWORD PTR __Lock$12931[esp+8]
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	pop	esi

; 121  : 			}

	pop	ecx
	ret	0
?_Incref@facet@locale@std@@QAEXXZ ENDP			; std::locale::facet::_Incref
_TEXT	ENDS
PUBLIC	?_Decref@facet@locale@std@@QAEPAV123@XZ		; std::locale::facet::_Decref
; Function compile flags: /Ogtpy
;	COMDAT ?_Decref@facet@locale@std@@QAEPAV123@XZ
_TEXT	SEGMENT
__Lock$12936 = -4					; size = 4
?_Decref@facet@locale@std@@QAEPAV123@XZ PROC		; std::locale::facet::_Decref, COMDAT
; _this$ = ecx

; 124  : 			{	// safely decrement the reference count, return this when dead

	push	ecx
	push	esi
	push	edi
	mov	edi, ecx

; 125  : 			_BEGIN_LOCK(_LOCK_LOCALE)

	push	0
	lea	ecx, DWORD PTR __Lock$12936[esp+16]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit

; 126  : 				if (0 < _Refs && _Refs < (size_t)(-1))

	mov	eax, DWORD PTR [edi+4]
	test	eax, eax
	jbe	SHORT $LN1@Decref
	cmp	eax, -1
	jae	SHORT $LN1@Decref

; 127  : 					--_Refs;

	add	eax, -1
	mov	DWORD PTR [edi+4], eax
$LN1@Decref:

; 128  : 				return (_Refs == 0 ? this : 0);

	mov	esi, DWORD PTR [edi+4]
	neg	esi
	sbb	esi, esi
	not	esi
	lea	ecx, DWORD PTR __Lock$12936[esp+12]
	and	esi, edi
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	pop	edi
	mov	eax, esi
	pop	esi

; 129  : 			_END_LOCK()
; 130  : 			}

	pop	ecx
	ret	0
?_Decref@facet@locale@std@@QAEPAV123@XZ ENDP		; std::locale::facet::_Decref
_TEXT	ENDS
PUBLIC	?_Register@facet@locale@std@@QAEXXZ		; std::locale::facet::_Register
EXTRN	?facet_Register@facet@locale@std@@CAXPAV123@@Z:PROC ; std::locale::facet::facet_Register
; Function compile flags: /Ogtpy
;	COMDAT ?_Register@facet@locale@std@@QAEXXZ
_TEXT	SEGMENT
?_Register@facet@locale@std@@QAEXXZ PROC		; std::locale::facet::_Register, COMDAT
; _this$ = ecx

; 134  : 			facet_Register(this);

	push	ecx
	call	?facet_Register@facet@locale@std@@CAXPAV123@@Z ; std::locale::facet::facet_Register
	pop	ecx

; 135  : 			}

	ret	0
?_Register@facet@locale@std@@QAEXXZ ENDP		; std::locale::facet::_Register
_TEXT	ENDS
PUBLIC	??2facet@locale@std@@SAPAXIABU_DebugHeapTag_t@2@PADH@Z ; std::locale::facet::operator new
EXTRN	??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z:PROC	; operator new
; Function compile flags: /Ogtpy
;	COMDAT ??2facet@locale@std@@SAPAXIABU_DebugHeapTag_t@2@PADH@Z
_TEXT	SEGMENT
__Size$ = 8						; size = 4
__Tag$ = 12						; size = 4
__File$ = 16						; size = 4
__Line$ = 20						; size = 4
??2facet@locale@std@@SAPAXIABU_DebugHeapTag_t@2@PADH@Z PROC ; std::locale::facet::operator new, COMDAT

; 147  : 			return (::operator new(_Size, _Tag, _File, _Line));

	jmp	??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z ; operator new
??2facet@locale@std@@SAPAXIABU_DebugHeapTag_t@2@PADH@Z ENDP ; std::locale::facet::operator new
_TEXT	ENDS
PUBLIC	??_7facet@locale@std@@6B@			; std::locale::facet::`vftable'
PUBLIC	??1facet@locale@std@@UAE@XZ			; std::locale::facet::~facet
PUBLIC	??_R4facet@locale@std@@6B@			; std::locale::facet::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVfacet@locale@std@@@8			; std::locale::facet `RTTI Type Descriptor'
PUBLIC	??_R3facet@locale@std@@8			; std::locale::facet::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2facet@locale@std@@8			; std::locale::facet::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@facet@locale@std@@8		; std::locale::facet::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_Efacet@locale@std@@UAEPAXI@Z:PROC		; std::locale::facet::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@facet@locale@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@facet@locale@std@@8 DD FLAT:??_R0?AVfacet@locale@std@@@8 ; std::locale::facet::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3facet@locale@std@@8
rdata$r	ENDS
;	COMDAT ??_R2facet@locale@std@@8
rdata$r	SEGMENT
??_R2facet@locale@std@@8 DD FLAT:??_R1A@?0A@EA@facet@locale@std@@8 ; std::locale::facet::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3facet@locale@std@@8
rdata$r	SEGMENT
??_R3facet@locale@std@@8 DD 00H				; std::locale::facet::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2facet@locale@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVfacet@locale@std@@@8
_DATA	SEGMENT
??_R0?AVfacet@locale@std@@@8 DD FLAT:??_7type_info@@6B@	; std::locale::facet `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVfacet@locale@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4facet@locale@std@@6B@
rdata$r	SEGMENT
??_R4facet@locale@std@@6B@ DD 00H			; std::locale::facet::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVfacet@locale@std@@@8
	DD	FLAT:??_R3facet@locale@std@@8
rdata$r	ENDS
;	COMDAT ??_7facet@locale@std@@6B@
CONST	SEGMENT
??_7facet@locale@std@@6B@ DD FLAT:??_R4facet@locale@std@@6B@ ; std::locale::facet::`vftable'
	DD	FLAT:??_Efacet@locale@std@@UAEPAXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1facet@locale@std@@UAE@XZ
_TEXT	SEGMENT
??1facet@locale@std@@UAE@XZ PROC			; std::locale::facet::~facet, COMDAT
; _this$ = ecx

; 165  : 			{	// destroy the object

	mov	DWORD PTR [ecx], OFFSET ??_7facet@locale@std@@6B@

; 166  : 			}

	ret	0
??1facet@locale@std@@UAE@XZ ENDP			; std::locale::facet::~facet
_TEXT	ENDS
PUBLIC	??0facet@locale@std@@IAE@I@Z			; std::locale::facet::facet
; Function compile flags: /Ogtpy
;	COMDAT ??0facet@locale@std@@IAE@I@Z
_TEXT	SEGMENT
__Initrefs$ = 8						; size = 4
??0facet@locale@std@@IAE@I@Z PROC			; std::locale::facet::facet, COMDAT
; _this$ = ecx

; 171  : 			{	// construct with initial reference count

	mov	eax, ecx
	mov	ecx, DWORD PTR __Initrefs$[esp-4]
	mov	DWORD PTR [eax], OFFSET ??_7facet@locale@std@@6B@
	mov	DWORD PTR [eax+4], ecx

; 172  : 			}

	ret	4
??0facet@locale@std@@IAE@I@Z ENDP			; std::locale::facet::facet
_TEXT	ENDS
PUBLIC	??0locale@std@@QAE@XZ				; std::locale::locale
EXTRN	?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ:PROC ; std::locale::_Getgloballocale
EXTRN	?_Init@locale@std@@CAPAV_Locimp@12@XZ:PROC	; std::locale::_Init
; Function compile flags: /Ogtpy
;	COMDAT ??0locale@std@@QAE@XZ
_TEXT	SEGMENT
__Lock$63088 = -4					; size = 4
??0locale@std@@QAE@XZ PROC				; std::locale::locale, COMDAT
; _this$ = ecx

; 308  : 		{	// construct from current locale

	push	ecx
	push	esi
	push	edi
	mov	edi, ecx
	call	?_Init@locale@std@@CAPAV_Locimp@12@XZ	; std::locale::_Init
	mov	DWORD PTR [edi], eax

; 309  : 		_Getgloballocale()->_Incref();

	call	?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ ; std::locale::_Getgloballocale
	push	0
	lea	ecx, DWORD PTR __Lock$63088[esp+16]
	mov	esi, eax
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	mov	eax, DWORD PTR [esi+4]
	cmp	eax, -1
	jae	SHORT $LN3@locale
	add	eax, 1
	mov	DWORD PTR [esi+4], eax
$LN3@locale:
	lea	ecx, DWORD PTR __Lock$63088[esp+12]
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit

; 310  : 		}

	mov	eax, edi
	pop	edi
	pop	esi
	pop	ecx
	ret	0
??0locale@std@@QAE@XZ ENDP				; std::locale::locale
_TEXT	ENDS
PUBLIC	??0locale@std@@QAE@ABV01@@Z			; std::locale::locale
; Function compile flags: /Ogtpy
;	COMDAT ??0locale@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
__Lock$63097 = 8					; size = 4
__Right$ = 8						; size = 4
??0locale@std@@QAE@ABV01@@Z PROC			; std::locale::locale, COMDAT
; _this$ = ecx

; 318  : 		{	// construct by copying

	mov	eax, DWORD PTR __Right$[esp-4]
	push	esi
	mov	esi, DWORD PTR [eax]
	push	edi
	mov	edi, ecx

; 319  : 		_Ptr->_Incref();

	push	0
	lea	ecx, DWORD PTR __Lock$63097[esp+8]
	mov	DWORD PTR [edi], esi
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	mov	eax, DWORD PTR [esi+4]
	cmp	eax, -1
	jae	SHORT $LN3@locale@2
	add	eax, 1
	mov	DWORD PTR [esi+4], eax
$LN3@locale@2:
	lea	ecx, DWORD PTR __Lock$63097[esp+4]
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit

; 320  : 		}

	mov	eax, edi
	pop	edi
	pop	esi
	ret	4
??0locale@std@@QAE@ABV01@@Z ENDP			; std::locale::locale
_TEXT	ENDS
PUBLIC	?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z	; std::locale::_Getfacet
; Function compile flags: /Ogtpy
;	COMDAT ?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z
_TEXT	SEGMENT
__Id$ = 8						; size = 4
?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z PROC		; std::locale::_Getfacet, COMDAT
; _this$ = ecx

; 397  : 		const facet *_Facptr = _Id < _Ptr->_Facetcount
; 398  : 			? _Ptr->_Facetvec[_Id] : 0;	// null if id off end

	mov	ecx, DWORD PTR [ecx]
	push	esi
	mov	esi, DWORD PTR __Id$[esp]
	cmp	esi, DWORD PTR [ecx+12]
	jae	SHORT $LN6@Getfacet
	mov	eax, DWORD PTR [ecx+8]
	mov	eax, DWORD PTR [eax+esi*4]

; 399  : 		if (_Facptr != 0 || !_Ptr->_Xparent)

	test	eax, eax
	jne	SHORT $LN1@Getfacet
$LN10@Getfacet:
	cmp	BYTE PTR [ecx+20], 0
	je	SHORT $LN1@Getfacet

; 400  : 			return (_Facptr);	// found facet or not transparent, return pointer
; 401  : 		else
; 402  : 			{	// look in current locale
; 403  : 			locale::_Locimp *_Ptr = _Getgloballocale();

	call	?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ ; std::locale::_Getgloballocale

; 404  : 			return (_Id < _Ptr->_Facetcount
; 405  : 				? _Ptr->_Facetvec[_Id]	// get from current locale
; 406  : 				: 0);	// no entry in current locale

	cmp	esi, DWORD PTR [eax+12]
	jae	SHORT $LN8@Getfacet
	mov	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [ecx+esi*4]
	pop	esi

; 407  : 			}
; 408  : 		}

	ret	4
$LN6@Getfacet:

; 397  : 		const facet *_Facptr = _Id < _Ptr->_Facetcount
; 398  : 			? _Ptr->_Facetvec[_Id] : 0;	// null if id off end

	xor	eax, eax

; 399  : 		if (_Facptr != 0 || !_Ptr->_Xparent)

	jmp	SHORT $LN10@Getfacet
$LN8@Getfacet:

; 404  : 			return (_Id < _Ptr->_Facetcount
; 405  : 				? _Ptr->_Facetvec[_Id]	// get from current locale
; 406  : 				: 0);	// no entry in current locale

	xor	eax, eax
$LN1@Getfacet:
	pop	esi

; 407  : 			}
; 408  : 		}

	ret	4
?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z ENDP		; std::locale::_Getfacet
_TEXT	ENDS
PUBLIC	??_7codecvt_base@std@@6B@			; std::codecvt_base::`vftable'
PUBLIC	??0codecvt_base@std@@QAE@I@Z			; std::codecvt_base::codecvt_base
PUBLIC	??_R4codecvt_base@std@@6B@			; std::codecvt_base::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVcodecvt_base@std@@@8			; std::codecvt_base `RTTI Type Descriptor'
PUBLIC	??_R3codecvt_base@std@@8			; std::codecvt_base::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2codecvt_base@std@@8			; std::codecvt_base::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@codecvt_base@std@@8		; std::codecvt_base::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?do_always_noconv@codecvt_base@std@@MBE_NXZ	; std::codecvt_base::do_always_noconv
PUBLIC	?do_max_length@codecvt_base@std@@MBEHXZ		; std::codecvt_base::do_max_length
PUBLIC	?do_encoding@codecvt_base@std@@MBEHXZ		; std::codecvt_base::do_encoding
EXTRN	??_Ecodecvt_base@std@@UAEPAXI@Z:PROC		; std::codecvt_base::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@codecvt_base@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@codecvt_base@std@@8 DD FLAT:??_R0?AVcodecvt_base@std@@@8 ; std::codecvt_base::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3codecvt_base@std@@8
rdata$r	ENDS
;	COMDAT ??_R2codecvt_base@std@@8
rdata$r	SEGMENT
??_R2codecvt_base@std@@8 DD FLAT:??_R1A@?0A@EA@codecvt_base@std@@8 ; std::codecvt_base::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@facet@locale@std@@8
rdata$r	ENDS
;	COMDAT ??_R3codecvt_base@std@@8
rdata$r	SEGMENT
??_R3codecvt_base@std@@8 DD 00H				; std::codecvt_base::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2codecvt_base@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVcodecvt_base@std@@@8
_DATA	SEGMENT
??_R0?AVcodecvt_base@std@@@8 DD FLAT:??_7type_info@@6B@	; std::codecvt_base `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVcodecvt_base@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4codecvt_base@std@@6B@
rdata$r	SEGMENT
??_R4codecvt_base@std@@6B@ DD 00H			; std::codecvt_base::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVcodecvt_base@std@@@8
	DD	FLAT:??_R3codecvt_base@std@@8
rdata$r	ENDS
;	COMDAT ??_7codecvt_base@std@@6B@
CONST	SEGMENT
??_7codecvt_base@std@@6B@ DD FLAT:??_R4codecvt_base@std@@6B@ ; std::codecvt_base::`vftable'
	DD	FLAT:??_Ecodecvt_base@std@@UAEPAXI@Z
	DD	FLAT:?do_always_noconv@codecvt_base@std@@MBE_NXZ
	DD	FLAT:?do_max_length@codecvt_base@std@@MBEHXZ
	DD	FLAT:?do_encoding@codecvt_base@std@@MBEHXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0codecvt_base@std@@QAE@I@Z
_TEXT	SEGMENT
__Refs$ = 8						; size = 4
??0codecvt_base@std@@QAE@I@Z PROC			; std::codecvt_base::codecvt_base, COMDAT
; _this$ = ecx

; 663  : 		{	// default constructor

	mov	eax, ecx
	mov	ecx, DWORD PTR __Refs$[esp-4]
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax], OFFSET ??_7codecvt_base@std@@6B@

; 664  : 		}

	ret	4
??0codecvt_base@std@@QAE@I@Z ENDP			; std::codecvt_base::codecvt_base
_TEXT	ENDS
PUBLIC	?always_noconv@codecvt_base@std@@QBE_NXZ	; std::codecvt_base::always_noconv
; Function compile flags: /Ogtpy
;	COMDAT ?always_noconv@codecvt_base@std@@QBE_NXZ
_TEXT	SEGMENT
?always_noconv@codecvt_base@std@@QBE_NXZ PROC		; std::codecvt_base::always_noconv, COMDAT
; _this$ = ecx

; 668  : 		return (do_always_noconv());

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	jmp	edx
?always_noconv@codecvt_base@std@@QBE_NXZ ENDP		; std::codecvt_base::always_noconv
_TEXT	ENDS
PUBLIC	??1codecvt_base@std@@UAE@XZ			; std::codecvt_base::~codecvt_base
; Function compile flags: /Ogtpy
;	COMDAT ??1codecvt_base@std@@UAE@XZ
_TEXT	SEGMENT
??1codecvt_base@std@@UAE@XZ PROC			; std::codecvt_base::~codecvt_base, COMDAT
; _this$ = ecx

; 683  : 		}

	mov	DWORD PTR [ecx], OFFSET ??_7facet@locale@std@@6B@
	ret	0
??1codecvt_base@std@@UAE@XZ ENDP			; std::codecvt_base::~codecvt_base
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_always_noconv@codecvt_base@std@@MBE_NXZ
_TEXT	SEGMENT
?do_always_noconv@codecvt_base@std@@MBE_NXZ PROC	; std::codecvt_base::do_always_noconv, COMDAT
; _this$ = ecx

; 688  : 		return (true);

	mov	al, 1

; 689  : 		}

	ret	0
?do_always_noconv@codecvt_base@std@@MBE_NXZ ENDP	; std::codecvt_base::do_always_noconv
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_max_length@codecvt_base@std@@MBEHXZ
_TEXT	SEGMENT
?do_max_length@codecvt_base@std@@MBEHXZ PROC		; std::codecvt_base::do_max_length, COMDAT
; _this$ = ecx

; 693  : 		return (1);

	mov	eax, 1

; 694  : 		}

	ret	0
?do_max_length@codecvt_base@std@@MBEHXZ ENDP		; std::codecvt_base::do_max_length
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_encoding@codecvt_base@std@@MBEHXZ
_TEXT	SEGMENT
?do_encoding@codecvt_base@std@@MBEHXZ PROC		; std::codecvt_base::do_encoding, COMDAT
; _this$ = ecx

; 698  : 		return (1);	// -1 ==> state dependent, 0 ==> varying length

	mov	eax, 1

; 699  : 		}

	ret	0
?do_encoding@codecvt_base@std@@MBEHXZ ENDP		; std::codecvt_base::do_encoding
_TEXT	ENDS
PUBLIC	??_7ctype_base@std@@6B@				; std::ctype_base::`vftable'
PUBLIC	??0ctype_base@std@@QAE@I@Z			; std::ctype_base::ctype_base
PUBLIC	??_R4ctype_base@std@@6B@			; std::ctype_base::`RTTI Complete Object Locator'
PUBLIC	??_R0?AUctype_base@std@@@8			; std::ctype_base `RTTI Type Descriptor'
PUBLIC	??_R3ctype_base@std@@8				; std::ctype_base::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ctype_base@std@@8				; std::ctype_base::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@ctype_base@std@@8			; std::ctype_base::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_Ectype_base@std@@UAEPAXI@Z:PROC		; std::ctype_base::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@ctype_base@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ctype_base@std@@8 DD FLAT:??_R0?AUctype_base@std@@@8 ; std::ctype_base::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ctype_base@std@@8
rdata$r	ENDS
;	COMDAT ??_R2ctype_base@std@@8
rdata$r	SEGMENT
??_R2ctype_base@std@@8 DD FLAT:??_R1A@?0A@EA@ctype_base@std@@8 ; std::ctype_base::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@facet@locale@std@@8
rdata$r	ENDS
;	COMDAT ??_R3ctype_base@std@@8
rdata$r	SEGMENT
??_R3ctype_base@std@@8 DD 00H				; std::ctype_base::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2ctype_base@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AUctype_base@std@@@8
_DATA	SEGMENT
??_R0?AUctype_base@std@@@8 DD FLAT:??_7type_info@@6B@	; std::ctype_base `RTTI Type Descriptor'
	DD	00H
	DB	'.?AUctype_base@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4ctype_base@std@@6B@
rdata$r	SEGMENT
??_R4ctype_base@std@@6B@ DD 00H				; std::ctype_base::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AUctype_base@std@@@8
	DD	FLAT:??_R3ctype_base@std@@8
rdata$r	ENDS
;	COMDAT ??_7ctype_base@std@@6B@
CONST	SEGMENT
??_7ctype_base@std@@6B@ DD FLAT:??_R4ctype_base@std@@6B@ ; std::ctype_base::`vftable'
	DD	FLAT:??_Ectype_base@std@@UAEPAXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0ctype_base@std@@QAE@I@Z
_TEXT	SEGMENT
__Refs$ = 8						; size = 4
??0ctype_base@std@@QAE@I@Z PROC				; std::ctype_base::ctype_base, COMDAT
; _this$ = ecx

; 1330 : 		{	// default constructor

	mov	eax, ecx
	mov	ecx, DWORD PTR __Refs$[esp-4]
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax], OFFSET ??_7ctype_base@std@@6B@

; 1331 : 		}

	ret	4
??0ctype_base@std@@QAE@I@Z ENDP				; std::ctype_base::ctype_base
_TEXT	ENDS
PUBLIC	??1ctype_base@std@@UAE@XZ			; std::ctype_base::~ctype_base
; Function compile flags: /Ogtpy
;	COMDAT ??1ctype_base@std@@UAE@XZ
_TEXT	SEGMENT
??1ctype_base@std@@UAE@XZ PROC				; std::ctype_base::~ctype_base, COMDAT
; _this$ = ecx

; 1335 : 		}

	mov	DWORD PTR [ecx], OFFSET ??_7facet@locale@std@@6B@
	ret	0
??1ctype_base@std@@UAE@XZ ENDP				; std::ctype_base::~ctype_base
_TEXT	ENDS
PUBLIC	?is@?$ctype@D@std@@QBE_NFD@Z			; std::ctype<char>::is
; Function compile flags: /Ogtpy
;	COMDAT ?is@?$ctype@D@std@@QBE_NFD@Z
_TEXT	SEGMENT
__Maskval$ = 8						; size = 2
__Ch$ = 12						; size = 1
?is@?$ctype@D@std@@QBE_NFD@Z PROC			; std::ctype<char>::is, COMDAT
; _this$ = ecx

; 1632 : 		return ((_Ctype._Table[(unsigned char)_Ch] & _Maskval) != 0);

	movzx	eax, BYTE PTR __Ch$[esp-4]
	mov	ecx, DWORD PTR [ecx+16]
	mov	ax, WORD PTR [ecx+eax*2]
	and	ax, WORD PTR __Maskval$[esp-4]
	neg	ax
	sbb	eax, eax
	neg	eax

; 1633 : 		}

	ret	8
?is@?$ctype@D@std@@QBE_NFD@Z ENDP			; std::ctype<char>::is
_TEXT	ENDS
PUBLIC	?widen@?$ctype@D@std@@QBEDD@Z			; std::ctype<char>::widen
; Function compile flags: /Ogtpy
;	COMDAT ?widen@?$ctype@D@std@@QBEDD@Z
_TEXT	SEGMENT
__Byte$ = 8						; size = 1
?widen@?$ctype@D@std@@QBEDD@Z PROC			; std::ctype<char>::widen, COMDAT
; _this$ = ecx

; 1685 : 		return (do_widen(_Byte));

	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+24]
	jmp	eax
?widen@?$ctype@D@std@@QBEDD@Z ENDP			; std::ctype<char>::widen
_TEXT	ENDS
PUBLIC	?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z	; std::ctype<char>::_Init
; Function compile flags: /Ogtpy
;	COMDAT ?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z
_TEXT	SEGMENT
$T63166 = -16						; size = 16
__Lobj$ = 8						; size = 4
?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z PROC		; std::ctype<char>::_Init, COMDAT
; _this$ = ecx

; 1774 : 		{	// initialize from _Lobj

	sub	esp, 16					; 00000010H
	push	esi

; 1775 : 		_Ctype = _Lobj._Getctype();

	lea	eax, DWORD PTR $T63166[esp+20]
	push	eax
	mov	esi, ecx
	call	__Getctype
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR [esi+8], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR [esi+12], edx
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR [esi+16], ecx
	mov	edx, DWORD PTR [eax+12]
	add	esp, 4
	mov	DWORD PTR [esi+20], edx
	pop	esi

; 1776 : 		}

	add	esp, 16					; 00000010H
	ret	4
?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z ENDP		; std::ctype<char>::_Init
_TEXT	ENDS
PUBLIC	?_Tidy@?$ctype@D@std@@IAEXXZ			; std::ctype<char>::_Tidy
EXTRN	??_V@YAXPAX@Z:PROC				; operator delete[]
EXTRN	_free:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?_Tidy@?$ctype@D@std@@IAEXXZ
_TEXT	SEGMENT
?_Tidy@?$ctype@D@std@@IAEXXZ PROC			; std::ctype<char>::_Tidy, COMDAT
; _this$ = ecx

; 1780 : 		if (0 < _Ctype._Delfl)

	mov	eax, DWORD PTR [ecx+20]
	test	eax, eax
	jle	SHORT $LN6@Tidy

; 1781 : 			free((void *)_Ctype._Table);

	mov	eax, DWORD PTR [ecx+16]
	push	eax
	call	_free
	add	esp, 4

; 1784 : 		}

	ret	0
$LN6@Tidy:

; 1782 : 		else if (_Ctype._Delfl < 0)

	jge	SHORT $LN1@Tidy

; 1783 : 			delete[] (void *)_Ctype._Table;

	mov	ecx, DWORD PTR [ecx+16]
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
	pop	ecx
$LN1@Tidy:

; 1784 : 		}

	ret	0
?_Tidy@?$ctype@D@std@@IAEXXZ ENDP			; std::ctype<char>::_Tidy
_TEXT	ENDS
PUBLIC	?rdstate@ios_base@std@@QBEHXZ			; std::ios_base::rdstate
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xiosbase
;	COMDAT ?rdstate@ios_base@std@@QBEHXZ
_TEXT	SEGMENT
?rdstate@ios_base@std@@QBEHXZ PROC			; std::ios_base::rdstate, COMDAT
; _this$ = ecx

; 299  : 		return (_Mystate);

	mov	eax, DWORD PTR [ecx+8]

; 300  : 		}

	ret	0
?rdstate@ios_base@std@@QBEHXZ ENDP			; std::ios_base::rdstate
_TEXT	ENDS
PUBLIC	?good@ios_base@std@@QBE_NXZ			; std::ios_base::good
; Function compile flags: /Ogtpy
;	COMDAT ?good@ios_base@std@@QBE_NXZ
_TEXT	SEGMENT
?good@ios_base@std@@QBE_NXZ PROC			; std::ios_base::good, COMDAT
; _this$ = ecx

; 322  : 		return (rdstate() == goodbit);

	xor	eax, eax
	cmp	DWORD PTR [ecx+8], eax
	sete	al

; 323  : 		}

	ret	0
?good@ios_base@std@@QBE_NXZ ENDP			; std::ios_base::good
_TEXT	ENDS
PUBLIC	?eof@ios_base@std@@QBE_NXZ			; std::ios_base::eof
; Function compile flags: /Ogtpy
;	COMDAT ?eof@ios_base@std@@QBE_NXZ
_TEXT	SEGMENT
?eof@ios_base@std@@QBE_NXZ PROC				; std::ios_base::eof, COMDAT
; _this$ = ecx

; 327  : 		return ((int)rdstate() & (int)eofbit);

	mov	eax, DWORD PTR [ecx+8]
	and	eax, 1

; 328  : 		}

	ret	0
?eof@ios_base@std@@QBE_NXZ ENDP				; std::ios_base::eof
_TEXT	ENDS
PUBLIC	?fail@ios_base@std@@QBE_NXZ			; std::ios_base::fail
; Function compile flags: /Ogtpy
;	COMDAT ?fail@ios_base@std@@QBE_NXZ
_TEXT	SEGMENT
?fail@ios_base@std@@QBE_NXZ PROC			; std::ios_base::fail, COMDAT
; _this$ = ecx

; 332  : 		return (((int)rdstate()
; 333  : 			& ((int)badbit | (int)failbit)) != 0);

	mov	eax, DWORD PTR [ecx+8]
	and	al, 6
	neg	al
	sbb	eax, eax
	neg	eax

; 334  : 		}

	ret	0
?fail@ios_base@std@@QBE_NXZ ENDP			; std::ios_base::fail
_TEXT	ENDS
PUBLIC	?flags@ios_base@std@@QBEHXZ			; std::ios_base::flags
; Function compile flags: /Ogtpy
;	COMDAT ?flags@ios_base@std@@QBEHXZ
_TEXT	SEGMENT
?flags@ios_base@std@@QBEHXZ PROC			; std::ios_base::flags, COMDAT
; _this$ = ecx

; 362  : 		return (_Fmtfl);

	mov	eax, DWORD PTR [ecx+16]

; 363  : 		}

	ret	0
?flags@ios_base@std@@QBEHXZ ENDP			; std::ios_base::flags
_TEXT	ENDS
PUBLIC	??_7ios_base@std@@6B@				; std::ios_base::`vftable'
PUBLIC	??1ios_base@std@@UAE@XZ				; std::ios_base::~ios_base
PUBLIC	??_R4ios_base@std@@6B@				; std::ios_base::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVios_base@std@@@8			; std::ios_base `RTTI Type Descriptor'
PUBLIC	??_R3ios_base@std@@8				; std::ios_base::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ios_base@std@@8				; std::ios_base::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@ios_base@std@@8			; std::ios_base::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R13?0A@EA@?$_Iosb@H@std@@8			; std::_Iosb<int>::`RTTI Base Class Descriptor at (4,-1,0,64)'
PUBLIC	??_R0?AV?$_Iosb@H@std@@@8			; std::_Iosb<int> `RTTI Type Descriptor'
PUBLIC	??_R3?$_Iosb@H@std@@8				; std::_Iosb<int>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$_Iosb@H@std@@8				; std::_Iosb<int>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$_Iosb@H@std@@8			; std::_Iosb<int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z:PROC	; std::ios_base::_Ios_base_dtor
EXTRN	??_Eios_base@std@@UAEPAXI@Z:PROC		; std::ios_base::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$_Iosb@H@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$_Iosb@H@std@@8 DD FLAT:??_R0?AV?$_Iosb@H@std@@@8 ; std::_Iosb<int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$_Iosb@H@std@@8
rdata$r	ENDS
;	COMDAT ??_R2?$_Iosb@H@std@@8
rdata$r	SEGMENT
??_R2?$_Iosb@H@std@@8 DD FLAT:??_R1A@?0A@EA@?$_Iosb@H@std@@8 ; std::_Iosb<int>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$_Iosb@H@std@@8
rdata$r	SEGMENT
??_R3?$_Iosb@H@std@@8 DD 00H				; std::_Iosb<int>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$_Iosb@H@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$_Iosb@H@std@@@8
_DATA	SEGMENT
??_R0?AV?$_Iosb@H@std@@@8 DD FLAT:??_7type_info@@6B@	; std::_Iosb<int> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$_Iosb@H@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R13?0A@EA@?$_Iosb@H@std@@8
rdata$r	SEGMENT
??_R13?0A@EA@?$_Iosb@H@std@@8 DD FLAT:??_R0?AV?$_Iosb@H@std@@@8 ; std::_Iosb<int>::`RTTI Base Class Descriptor at (4,-1,0,64)'
	DD	00H
	DD	04H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$_Iosb@H@std@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@ios_base@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ios_base@std@@8 DD FLAT:??_R0?AVios_base@std@@@8 ; std::ios_base::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ios_base@std@@8
rdata$r	ENDS
;	COMDAT ??_R2ios_base@std@@8
rdata$r	SEGMENT
??_R2ios_base@std@@8 DD FLAT:??_R1A@?0A@EA@ios_base@std@@8 ; std::ios_base::`RTTI Base Class Array'
	DD	FLAT:??_R13?0A@EA@?$_Iosb@H@std@@8
rdata$r	ENDS
;	COMDAT ??_R3ios_base@std@@8
rdata$r	SEGMENT
??_R3ios_base@std@@8 DD 00H				; std::ios_base::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2ios_base@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVios_base@std@@@8
_DATA	SEGMENT
??_R0?AVios_base@std@@@8 DD FLAT:??_7type_info@@6B@	; std::ios_base `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVios_base@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4ios_base@std@@6B@
rdata$r	SEGMENT
??_R4ios_base@std@@6B@ DD 00H				; std::ios_base::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVios_base@std@@@8
	DD	FLAT:??_R3ios_base@std@@8
rdata$r	ENDS
;	COMDAT ??_7ios_base@std@@6B@
CONST	SEGMENT
??_7ios_base@std@@6B@ DD FLAT:??_R4ios_base@std@@6B@	; std::ios_base::`vftable'
	DD	FLAT:??_Eios_base@std@@UAEPAXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1ios_base@std@@UAE@XZ
_TEXT	SEGMENT
??1ios_base@std@@UAE@XZ PROC				; std::ios_base::~ios_base, COMDAT
; _this$ = ecx

; 482  :         _Ios_base_dtor(this);

	push	ecx
	mov	DWORD PTR [ecx], OFFSET ??_7ios_base@std@@6B@
	call	?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z ; std::ios_base::_Ios_base_dtor
	pop	ecx

; 483  :         }

	ret	0
??1ios_base@std@@UAE@XZ ENDP				; std::ios_base::~ios_base
_TEXT	ENDS
PUBLIC	??0ios_base@std@@IAE@XZ				; std::ios_base::ios_base
; Function compile flags: /Ogtpy
;	COMDAT ??0ios_base@std@@IAE@XZ
_TEXT	SEGMENT
??0ios_base@std@@IAE@XZ PROC				; std::ios_base::ios_base, COMDAT
; _this$ = ecx

; 498  : 	__CLR_OR_THIS_CALL ios_base()

	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET ??_7ios_base@std@@6B@

; 499  : 		{	// default constructor
; 500  : 		}

	ret	0
??0ios_base@std@@IAE@XZ ENDP				; std::ios_base::ios_base
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_Gios_base@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Gios_base@std@@UAEPAXI@Z PROC			; std::ios_base::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	push	esi
	mov	DWORD PTR [esi], OFFSET ??_7ios_base@std@@6B@
	call	?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z ; std::ios_base::_Ios_base_dtor
	add	esp, 4
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN6@scalar@2
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN6@scalar@2:
	mov	eax, esi
	pop	esi
	ret	4
??_Gios_base@std@@UAEPAXI@Z ENDP			; std::ios_base::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_07BEIHKDLJ@Message?$AA@			; `string'
PUBLIC	?Custom@SH_PCT_Custom@@EAEXPAEHH0@Z		; SH_PCT_Custom::Custom
EXTRN	?Display_GDI_Player_Terminal_Player@@3P6AXPAE@ZA:DWORD ; Display_GDI_Player_Terminal_Player
EXTRN	?Display_NOD_Player_Terminal_Player@@3P6AXPAE@ZA:DWORD ; Display_NOD_Player_Terminal_Player
EXTRN	?Commands@@3PAUScriptCommands@@A:DWORD		; Commands
EXTRN	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z:PROC ; ScriptImpClass::Get_Int_Parameter
;	COMDAT ??_C@_07BEIHKDLJ@Message?$AA@
; File d:\source code\stgm\shawk.cpp
CONST	SEGMENT
??_C@_07BEIHKDLJ@Message?$AA@ DB 'Message', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Custom@SH_PCT_Custom@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@SH_PCT_Custom@@EAEXPAEHH0@Z PROC		; SH_PCT_Custom::Custom, COMDAT
; _this$ = ecx

; 20   : 	if (message == Get_Int_Parameter("Message"))

	push	OFFSET ??_C@_07BEIHKDLJ@Message?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $LN1@Custom

; 21   : 	{
; 22   : 		if (!Commands->Get_Player_Type(sender))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+248]
	push	esi
	mov	esi, DWORD PTR _sender$[esp]
	push	esi
	call	ecx
	add	esp, 4
	test	eax, eax

; 23   : 		{
; 24   : 			Display_NOD_Player_Terminal_Player(sender);

	push	esi
	jne	SHORT $LN2@Custom
	call	DWORD PTR ?Display_NOD_Player_Terminal_Player@@3P6AXPAE@ZA ; Display_NOD_Player_Terminal_Player

; 25   : 		}
; 26   : 		else
; 27   : 		{
; 28   : 			Display_GDI_Player_Terminal_Player(sender);

	add	esp, 4
	pop	esi

; 29   : 		}
; 30   : 	}
; 31   : }

	ret	16					; 00000010H
$LN2@Custom:

; 25   : 		}
; 26   : 		else
; 27   : 		{
; 28   : 			Display_GDI_Player_Terminal_Player(sender);

	call	DWORD PTR ?Display_GDI_Player_Terminal_Player@@3P6AXPAE@ZA ; Display_GDI_Player_Terminal_Player
	add	esp, 4
	pop	esi
$LN1@Custom:

; 29   : 		}
; 30   : 	}
; 31   : }

	ret	16					; 00000010H
?Custom@SH_PCT_Custom@@EAEXPAEHH0@Z ENDP		; SH_PCT_Custom::Custom
_TEXT	ENDS
PUBLIC	?Custom@SH_PCT_Powerup@@EAEXPAEHH0@Z		; SH_PCT_Powerup::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@SH_PCT_Powerup@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@SH_PCT_Powerup@@EAEXPAEHH0@Z PROC		; SH_PCT_Powerup::Custom, COMDAT
; _this$ = ecx

; 35   : 	if (message == CUSTOM_EVENT_POWERUP)

	cmp	DWORD PTR _message$[esp-4], 1000000025	; 3b9aca19H
	jne	SHORT $LN1@Custom@2

; 36   : 	{
; 37   : 		if (!Commands->Get_Player_Type(sender))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+248]
	push	esi
	mov	esi, DWORD PTR _sender$[esp]
	push	esi
	call	ecx
	add	esp, 4
	test	eax, eax

; 38   : 		{
; 39   : 			Display_NOD_Player_Terminal_Player(sender);

	push	esi
	jne	SHORT $LN2@Custom@2
	call	DWORD PTR ?Display_NOD_Player_Terminal_Player@@3P6AXPAE@ZA ; Display_NOD_Player_Terminal_Player

; 40   : 		}
; 41   : 		else
; 42   : 		{
; 43   : 			Display_GDI_Player_Terminal_Player(sender);

	add	esp, 4
	pop	esi

; 44   : 		}
; 45   : 	}
; 46   : }

	ret	16					; 00000010H
$LN2@Custom@2:

; 40   : 		}
; 41   : 		else
; 42   : 		{
; 43   : 			Display_GDI_Player_Terminal_Player(sender);

	call	DWORD PTR ?Display_GDI_Player_Terminal_Player@@3P6AXPAE@ZA ; Display_GDI_Player_Terminal_Player
	add	esp, 4
	pop	esi
$LN1@Custom@2:

; 44   : 		}
; 45   : 	}
; 46   : }

	ret	16					; 00000010H
?Custom@SH_PCT_Powerup@@EAEXPAEHH0@Z ENDP		; SH_PCT_Powerup::Custom
_TEXT	ENDS
PUBLIC	__real@3dcccccd
PUBLIC	?Created@SH_ConsoleCommand@@EAEXPAE@Z		; SH_ConsoleCommand::Created
EXTRN	__fltused:DWORD
;	COMDAT __real@3dcccccd
CONST	SEGMENT
__real@3dcccccd DD 03dcccccdr			; 0.1
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@SH_ConsoleCommand@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@SH_ConsoleCommand@@EAEXPAE@Z PROC		; SH_ConsoleCommand::Created, COMDAT
; _this$ = ecx

; 50   : 	Commands->Start_Timer(obj,this,0.1f,1);

	fld	DWORD PTR __real@3dcccccd
	mov	eax, DWORD PTR _obj$[esp-4]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	eax
	call	edx
	add	esp, 16					; 00000010H

; 51   : }

	ret	4
?Created@SH_ConsoleCommand@@EAEXPAE@Z ENDP		; SH_ConsoleCommand::Created
_TEXT	ENDS
PUBLIC	??_C@_0L@MCIMFKEO@ObjectHard?$AA@		; `string'
PUBLIC	??_C@_0BC@LFKALCJL@ObjectHardEnabled?$AA@	; `string'
PUBLIC	??_C@_0N@LDEOHAPC@ObjectMedium?$AA@		; `string'
PUBLIC	??_C@_0BE@LEBEMNFN@ObjectMediumEnabled?$AA@	; `string'
PUBLIC	??_C@_0L@MELCJINE@ObjectEasy?$AA@		; `string'
PUBLIC	??_C@_0BC@JJECHNGN@ObjectEasyEnabled?$AA@	; `string'
PUBLIC	?Created@SH_Spawn_Difficulty@@EAEXPAE@Z		; SH_Spawn_Difficulty::Created
EXTRN	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z:PROC	; ScriptImpClass::Get_Parameter
;	COMDAT ??_C@_0L@MCIMFKEO@ObjectHard?$AA@
CONST	SEGMENT
??_C@_0L@MCIMFKEO@ObjectHard?$AA@ DB 'ObjectHard', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@LFKALCJL@ObjectHardEnabled?$AA@
CONST	SEGMENT
??_C@_0BC@LFKALCJL@ObjectHardEnabled?$AA@ DB 'ObjectHardEnabled', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@LDEOHAPC@ObjectMedium?$AA@
CONST	SEGMENT
??_C@_0N@LDEOHAPC@ObjectMedium?$AA@ DB 'ObjectMedium', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@LEBEMNFN@ObjectMediumEnabled?$AA@
CONST	SEGMENT
??_C@_0BE@LEBEMNFN@ObjectMediumEnabled?$AA@ DB 'ObjectMediumEnabled', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@MELCJINE@ObjectEasy?$AA@
CONST	SEGMENT
??_C@_0L@MELCJINE@ObjectEasy?$AA@ DB 'ObjectEasy', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@JJECHNGN@ObjectEasyEnabled?$AA@
CONST	SEGMENT
??_C@_0BC@JJECHNGN@ObjectEasyEnabled?$AA@ DB 'ObjectEasyEnabled', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@SH_Spawn_Difficulty@@EAEXPAE@Z
_TEXT	SEGMENT
$T63233 = -12						; size = 12
$T63232 = -12						; size = 12
$T63231 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@SH_Spawn_Difficulty@@EAEXPAE@Z PROC		; SH_Spawn_Difficulty::Created, COMDAT
; _this$ = ecx

; 78   : 	int level = Commands->Get_Difficulty_Level();

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	sub	esp, 12					; 0000000cH
	push	ebx
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR [eax+556]
	push	edi
	call	ecx

; 79   : 	if (level == 1)

	cmp	eax, 1
	jne	SHORT $LN8@Created

; 80   : 	{
; 81   : 		if (Get_Int_Parameter("ObjectEasyEnabled") == 1)

	push	OFFSET ??_C@_0BC@JJECHNGN@ObjectEasyEnabled?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	cmp	eax, 1
	jne	$LN1@Created

; 82   : 		{
; 83   : 			GameObject *newObj = Commands->Create_Object(Get_Parameter("ObjectEasy"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ebx, DWORD PTR _obj$[esp+20]
	lea	edx, DWORD PTR $T63231[esp+24]
	lea	edi, DWORD PTR [eax+100]
	mov	eax, DWORD PTR [eax+64]
	push	ebx
	push	edx
	call	eax
	add	esp, 8
	push	eax
	push	OFFSET ??_C@_0L@MELCJINE@ObjectEasy?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [edi]
	push	eax
	call	ecx
	mov	esi, eax

; 84   : 			Commands->Set_Facing(newObj,Commands->Get_Facing(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+72]
	push	ebx
	lea	edi, DWORD PTR [eax+76]
	call	edx
	fstp	DWORD PTR [esp+8]
	mov	eax, DWORD PTR [edi]
	add	esp, 8
	push	esi
	call	eax

; 100  : 			Commands->Set_Facing(newObj,Commands->Get_Facing(obj));

	add	esp, 8
	pop	edi
	pop	esi
	pop	ebx

; 101  : 		}
; 102  : 	}
; 103  : }

	add	esp, 12					; 0000000cH
	ret	4
$LN8@Created:

; 85   : 		}
; 86   : 	}
; 87   : 	else if (level == 2) 

	cmp	eax, 2
	jne	SHORT $LN5@Created

; 88   : 	{
; 89   : 		if (Get_Int_Parameter("ObjectMediumEnabled") == 1)

	push	OFFSET ??_C@_0BE@LEBEMNFN@ObjectMediumEnabled?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	cmp	eax, 1
	jne	$LN1@Created

; 90   : 		{
; 91   : 			GameObject *newObj = Commands->Create_Object(Get_Parameter("ObjectMedium"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ebx, DWORD PTR _obj$[esp+20]
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T63232[esp+24]
	push	ebx
	push	ecx
	lea	edi, DWORD PTR [eax+100]
	call	edx
	add	esp, 8
	push	eax
	push	OFFSET ??_C@_0N@LDEOHAPC@ObjectMedium?$AA@

; 92   : 			Commands->Set_Facing(newObj,Commands->Get_Facing(obj));
; 93   : 		}
; 94   : 	}

	jmp	SHORT $LN12@Created
$LN5@Created:

; 95   : 	else if (level == 3)

	cmp	eax, 3
	jne	SHORT $LN1@Created

; 96   : 	{
; 97   : 		if (Get_Int_Parameter("ObjectHardEnabled") == 1)

	push	OFFSET ??_C@_0BC@LFKALCJL@ObjectHardEnabled?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	cmp	eax, 1
	jne	SHORT $LN1@Created

; 98   : 		{
; 99   : 			GameObject *newObj = Commands->Create_Object(Get_Parameter("ObjectHard"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ebx, DWORD PTR _obj$[esp+20]
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T63233[esp+24]
	push	ebx
	push	ecx
	lea	edi, DWORD PTR [eax+100]
	call	edx
	add	esp, 8
	push	eax
	push	OFFSET ??_C@_0L@MCIMFKEO@ObjectHard?$AA@
$LN12@Created:
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax
	mov	esi, eax

; 100  : 			Commands->Set_Facing(newObj,Commands->Get_Facing(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+72]
	push	ebx
	lea	edi, DWORD PTR [eax+76]
	call	ecx
	fstp	DWORD PTR [esp+8]
	mov	edx, DWORD PTR [edi]
	add	esp, 8
	push	esi
	call	edx
	add	esp, 8
$LN1@Created:
	pop	edi
	pop	esi
	pop	ebx

; 101  : 		}
; 102  : 	}
; 103  : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@SH_Spawn_Difficulty@@EAEXPAE@Z ENDP		; SH_Spawn_Difficulty::Created
_TEXT	ENDS
PUBLIC	__real@42b40000
PUBLIC	__real@40a00000
PUBLIC	?Custom@SH_FileVerificationControllerScript@@UAEXPAEHH0@Z ; SH_FileVerificationControllerScript::Custom
;	COMDAT __real@42b40000
CONST	SEGMENT
__real@42b40000 DD 042b40000r			; 90
CONST	ENDS
;	COMDAT __real@40a00000
CONST	SEGMENT
__real@40a00000 DD 040a00000r			; 5
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Custom@SH_FileVerificationControllerScript@@UAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@SH_FileVerificationControllerScript@@UAEXPAEHH0@Z PROC ; SH_FileVerificationControllerScript::Custom, COMDAT
; _this$ = ecx

; 418  : 	if (message == CUSTOM_MAPLOAD)

	mov	eax, DWORD PTR _message$[esp-4]
	cmp	eax, -2063532032			; 85010000H
	jne	SHORT $LN5@Custom@3

; 419  : 	{
; 420  : 		Commands->Start_Timer(obj,this,5.0f,TIMER_MAPLOAD);

	fld	DWORD PTR __real@40a00000
	push	-2063466496				; 85020000H
	jmp	SHORT $LN8@Custom@3
$LN5@Custom@3:

; 421  : 	}
; 422  : 	else if (message == CUSTOM_PLAYERLOAD)

	cmp	eax, -2063400960			; 85030000H
	jne	SHORT $LN3@Custom@3

; 423  : 	{
; 424  : 		Commands->Start_Timer(obj,this,5.0f,(TIMER_PLAYERLOAD | param));

	mov	eax, DWORD PTR _param$[esp-4]
	fld	DWORD PTR __real@40a00000
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	or	eax, -2063335424			; 85040000H
	push	eax
	mov	eax, DWORD PTR [edx+128]
	push	ecx
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+8]
	push	ecx
	call	eax

; 427  : 	{
; 428  : 		Commands->Start_Timer(obj,this,90.0f,(TIMER_PLAYERTIMEOUT | param));

	add	esp, 16					; 00000010H

; 429  : 	}
; 430  : }

	ret	16					; 00000010H
$LN3@Custom@3:

; 425  : 	}
; 426  : 	else if (message == CUSTOM_STARTTIMEOUT)

	cmp	eax, -2063269888			; 85050000H
	jne	SHORT $LN1@Custom@3

; 427  : 	{
; 428  : 		Commands->Start_Timer(obj,this,90.0f,(TIMER_PLAYERTIMEOUT | param));

	mov	edx, DWORD PTR _param$[esp-4]
	fld	DWORD PTR __real@42b40000
	or	edx, -2063204352			; 85060000H
	push	edx
$LN8@Custom@3:
	mov	eax, DWORD PTR _obj$[esp]
	push	ecx
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	eax
	call	edx
	add	esp, 16					; 00000010H
$LN1@Custom@3:

; 429  : 	}
; 430  : }

	ret	16					; 00000010H
?Custom@SH_FileVerificationControllerScript@@UAEXPAEHH0@Z ENDP ; SH_FileVerificationControllerScript::Custom
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAE@XZ ; ScriptRegistrant<SH_ConsoleCommand>::~ScriptRegistrant<SH_ConsoleCommand>
EXTRN	??1ScriptFactory@@UAE@XZ:PROC			; ScriptFactory::~ScriptFactory
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAE@XZ PROC	; ScriptRegistrant<SH_ConsoleCommand>::~ScriptRegistrant<SH_ConsoleCommand>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAE@XZ ENDP	; ScriptRegistrant<SH_ConsoleCommand>::~ScriptRegistrant<SH_ConsoleCommand>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAE@XZ	; ScriptRegistrant<SH_PCT_Powerup>::~ScriptRegistrant<SH_PCT_Powerup>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAE@XZ PROC	; ScriptRegistrant<SH_PCT_Powerup>::~ScriptRegistrant<SH_PCT_Powerup>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAE@XZ ENDP	; ScriptRegistrant<SH_PCT_Powerup>::~ScriptRegistrant<SH_PCT_Powerup>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSH_PCT_Custom@@@@UAE@XZ	; ScriptRegistrant<SH_PCT_Custom>::~ScriptRegistrant<SH_PCT_Custom>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSH_PCT_Custom@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSH_PCT_Custom@@@@UAE@XZ PROC	; ScriptRegistrant<SH_PCT_Custom>::~ScriptRegistrant<SH_PCT_Custom>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSH_PCT_Custom@@@@UAE@XZ ENDP	; ScriptRegistrant<SH_PCT_Custom>::~ScriptRegistrant<SH_PCT_Custom>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAE@XZ ; ScriptRegistrant<SH_Spawn_Difficulty>::~ScriptRegistrant<SH_Spawn_Difficulty>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAE@XZ PROC ; ScriptRegistrant<SH_Spawn_Difficulty>::~ScriptRegistrant<SH_Spawn_Difficulty>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAE@XZ ENDP ; ScriptRegistrant<SH_Spawn_Difficulty>::~ScriptRegistrant<SH_Spawn_Difficulty>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAE@XZ ; ScriptRegistrant<SH_FileVerificationControllerScript>::~ScriptRegistrant<SH_FileVerificationControllerScript>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAE@XZ PROC ; ScriptRegistrant<SH_FileVerificationControllerScript>::~ScriptRegistrant<SH_FileVerificationControllerScript>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAE@XZ ENDP ; ScriptRegistrant<SH_FileVerificationControllerScript>::~ScriptRegistrant<SH_FileVerificationControllerScript>
_TEXT	ENDS
PUBLIC	?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
;	COMDAT ?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
_TEXT	SEGMENT
?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size, COMDAT
; _this$ = ecx

; 1637 : 		return (_Mysize);

	mov	eax, DWORD PTR [ecx+24]

; 1638 : 		}

	ret	0
?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size
_TEXT	ENDS
PUBLIC	__TI2?AVbad_alloc@std@@
PUBLIC	??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@ ; `string'
PUBLIC	?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z ; std::_DebugHeapAllocator<char>::allocate
PUBLIC	__CTA2?AVbad_alloc@std@@
PUBLIC	__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
PUBLIC	??0bad_alloc@std@@QAE@ABV01@@Z			; std::bad_alloc::bad_alloc
PUBLIC	__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
EXTRN	??_U@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z:PROC	; operator new[]
EXTRN	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ:PROC ; std::_DebugHeapTag_func
EXTRN	__CxxThrowException@8:PROC
EXTRN	??0exception@std@@QAE@ABV01@@Z:PROC		; std::exception::exception
;	COMDAT __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
; File c:\program files\microsoft visual studio 8\vc\include\exception
xdata$x	SEGMENT
__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 DD 00H
	DD	FLAT:??_R0?AVexception@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0exception@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
xdata$x	SEGMENT
__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12 DD 00H
	DD	FLAT:??_R0?AVbad_alloc@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0bad_alloc@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CTA2?AVbad_alloc@std@@
xdata$x	SEGMENT
__CTA2?AVbad_alloc@std@@ DD 02H
	DD	FLAT:__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
	DD	FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x	ENDS
;	COMDAT __TI2?AVbad_alloc@std@@
xdata$x	SEGMENT
__TI2?AVbad_alloc@std@@ DD 00H
	DD	FLAT:??1bad_alloc@std@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA2?AVbad_alloc@std@@
xdata$x	ENDS
;	COMDAT ??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@
CONST	SEGMENT
??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@ DB 'C:\Program '
	DB	'Files\Microsoft Visual Studio 8\VC\include\xdebug', 00H ; `string'
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
CONST	ENDS
;	COMDAT ?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z
_TEXT	SEGMENT
$T63276 = -12						; size = 12
_this$ = 8						; size = 4
$T63282 = 12						; size = 4
__Count$ = 12						; size = 4
___formal$ = 16						; size = 4
?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z PROC ; std::_DebugHeapAllocator<char>::allocate, COMDAT

; 79   : 		{	// check for integer overflow

	sub	esp, 12					; 0000000cH
	push	esi

; 80   : 		if (_Count <= 0)

	mov	esi, DWORD PTR __Count$[esp+12]
	test	esi, esi
	ja	SHORT $LN3@allocate

; 81   : 			_Count = 0;

	xor	esi, esi
$LN1@allocate:

; 84   : 
; 85   : 			// allocate array of _Count elements, ignore hint
; 86   : 		return ((_Ty *)_NEW_CRT char[_Count * sizeof(_Ty)]);

	push	86					; 00000056H
	push	OFFSET ??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@
	call	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ ; std::_DebugHeapTag_func
	push	eax
	push	esi
	call	??_U@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z ; operator new[]
	add	esp, 16					; 00000010H
	pop	esi

; 87   : 		}

	add	esp, 12					; 0000000cH
	ret	0
$LN3@allocate:

; 82   : 		else if (((size_t)(-1) / _Count) < sizeof(_Ty))

	or	eax, -1
	xor	edx, edx
	div	esi
	cmp	eax, 1
	jae	SHORT $LN1@allocate

; 83   : 			_THROW_NCEE(std::bad_alloc, NULL);

	lea	eax, DWORD PTR $T63282[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T63276[esp+20]
	mov	DWORD PTR $T63282[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T63276[esp+20]
	push	ecx
	mov	DWORD PTR $T63276[esp+24], OFFSET ??_7bad_alloc@std@@6B@
	call	__CxxThrowException@8
$LN9@allocate:
$LN8@allocate:
	int	3
?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z ENDP ; std::_DebugHeapAllocator<char>::allocate
_TEXT	ENDS
PUBLIC	?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z ; std::_DebugHeapAllocator<char>::allocate
; Function compile flags: /Ogtpy
;	COMDAT ?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z
_TEXT	SEGMENT
$T63288 = -12						; size = 12
$T63293 = 8						; size = 4
__Count$ = 8						; size = 4
?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z PROC	; std::_DebugHeapAllocator<char>::allocate, COMDAT
; _this$ = ecx

; 90   : 		{	// check for integer overflow

	sub	esp, 12					; 0000000cH
	push	esi

; 91   : 		if (_Count <= 0)

	mov	esi, DWORD PTR __Count$[esp+12]
	test	esi, esi
	ja	SHORT $LN3@allocate@2

; 92   : 			_Count = 0;

	xor	esi, esi
$LN1@allocate@2:

; 95   : 
; 96   : 			// allocate array of _Count elements
; 97   : 		return ((_Ty *)_NEW_CRT char[_Count * sizeof(_Ty)]);

	push	97					; 00000061H
	push	OFFSET ??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@
	call	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ ; std::_DebugHeapTag_func
	push	eax
	push	esi
	call	??_U@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z ; operator new[]
	add	esp, 16					; 00000010H
	pop	esi

; 98   : 		}

	add	esp, 12					; 0000000cH
	ret	4
$LN3@allocate@2:

; 93   : 		else if (((size_t)(-1) / _Count) < sizeof(_Ty))

	or	eax, -1
	xor	edx, edx
	div	esi
	cmp	eax, 1
	jae	SHORT $LN1@allocate@2

; 94   : 			_THROW_NCEE(std::bad_alloc, NULL);

	lea	eax, DWORD PTR $T63293[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T63288[esp+20]
	mov	DWORD PTR $T63293[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T63288[esp+20]
	push	ecx
	mov	DWORD PTR $T63288[esp+24], OFFSET ??_7bad_alloc@std@@6B@
	call	__CxxThrowException@8
$LN9@allocate@2:
$LN8@allocate@2:
	int	3
?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z ENDP	; std::_DebugHeapAllocator<char>::allocate
_TEXT	ENDS
PUBLIC	??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_ios<char,std::char_traits<char> >::~basic_ios<char,std::char_traits<char> >
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\ios
;	COMDAT ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ
_TEXT	SEGMENT
??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ PROC	; std::basic_ios<char,std::char_traits<char> >::~basic_ios<char,std::char_traits<char> >, COMDAT
; _this$ = ecx

; 39   : 		}

	push	ecx
	mov	DWORD PTR [ecx], OFFSET ??_7ios_base@std@@6B@
	call	?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z ; std::ios_base::_Ios_base_dtor
	pop	ecx
	ret	0
??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ ENDP	; std::basic_ios<char,std::char_traits<char> >::~basic_ios<char,std::char_traits<char> >
_TEXT	ENDS
PUBLIC	?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ ; std::basic_ios<char,std::char_traits<char> >::rdbuf
; Function compile flags: /Ogtpy
;	COMDAT ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
_TEXT	SEGMENT
?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ PROC ; std::basic_ios<char,std::char_traits<char> >::rdbuf, COMDAT
; _this$ = ecx

; 85   : 		return (_Mystrbuf);

	mov	eax, DWORD PTR [ecx+40]

; 86   : 		}

	ret	0
?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ ENDP ; std::basic_ios<char,std::char_traits<char> >::rdbuf
_TEXT	ENDS
PUBLIC	??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_istream<char,std::char_traits<char> >::`vftable'
PUBLIC	??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_istream<char,std::char_traits<char> >::~basic_istream<char,std::char_traits<char> >
PUBLIC	??_R4?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_istream<char,std::char_traits<char> >::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$basic_istream@DU?$char_traits@D@std@@@std@@@8 ; std::basic_istream<char,std::char_traits<char> > `RTTI Type Descriptor'
PUBLIC	??_R3?$basic_istream@DU?$char_traits@D@std@@@std@@8 ; std::basic_istream<char,std::char_traits<char> >::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$basic_istream@DU?$char_traits@D@std@@@std@@8 ; std::basic_istream<char,std::char_traits<char> >::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$basic_istream@DU?$char_traits@D@std@@@std@@8 ; std::basic_istream<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@A@3FA@?$basic_ios@DU?$char_traits@D@std@@@std@@8 ; std::basic_ios<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,0,4,80)'
PUBLIC	??_R0?AV?$basic_ios@DU?$char_traits@D@std@@@std@@@8 ; std::basic_ios<char,std::char_traits<char> > `RTTI Type Descriptor'
PUBLIC	??_R3?$basic_ios@DU?$char_traits@D@std@@@std@@8	; std::basic_ios<char,std::char_traits<char> >::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$basic_ios@DU?$char_traits@D@std@@@std@@8	; std::basic_ios<char,std::char_traits<char> >::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$basic_ios@DU?$char_traits@D@std@@@std@@8 ; std::basic_ios<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@A@3EA@ios_base@std@@8			; std::ios_base::`RTTI Base Class Descriptor at (0,0,4,64)'
PUBLIC	??_R13A@3EA@?$_Iosb@H@std@@8			; std::_Iosb<int>::`RTTI Base Class Descriptor at (4,0,4,64)'
EXTRN	??_E?$basic_istream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z:PROC ; std::basic_istream<char,std::char_traits<char> >::`vector deleting destructor'
;	COMDAT ??_R13A@3EA@?$_Iosb@H@std@@8
; File c:\program files\microsoft visual studio 8\vc\include\istream
rdata$r	SEGMENT
??_R13A@3EA@?$_Iosb@H@std@@8 DD FLAT:??_R0?AV?$_Iosb@H@std@@@8 ; std::_Iosb<int>::`RTTI Base Class Descriptor at (4,0,4,64)'
	DD	00H
	DD	04H
	DD	00H
	DD	04H
	DD	040H
	DD	FLAT:??_R3?$_Iosb@H@std@@8
rdata$r	ENDS
;	COMDAT ??_R1A@A@3EA@ios_base@std@@8
rdata$r	SEGMENT
??_R1A@A@3EA@ios_base@std@@8 DD FLAT:??_R0?AVios_base@std@@@8 ; std::ios_base::`RTTI Base Class Descriptor at (0,0,4,64)'
	DD	01H
	DD	00H
	DD	00H
	DD	04H
	DD	040H
	DD	FLAT:??_R3ios_base@std@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@?$basic_ios@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$basic_ios@DU?$char_traits@D@std@@@std@@8 DD FLAT:??_R0?AV?$basic_ios@DU?$char_traits@D@std@@@std@@@8 ; std::basic_ios<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$basic_ios@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R2?$basic_ios@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R2?$basic_ios@DU?$char_traits@D@std@@@std@@8 DD FLAT:??_R1A@?0A@EA@?$basic_ios@DU?$char_traits@D@std@@@std@@8 ; std::basic_ios<char,std::char_traits<char> >::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ios_base@std@@8
	DD	FLAT:??_R13?0A@EA@?$_Iosb@H@std@@8
rdata$r	ENDS
;	COMDAT ??_R3?$basic_ios@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R3?$basic_ios@DU?$char_traits@D@std@@@std@@8 DD 00H	; std::basic_ios<char,std::char_traits<char> >::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2?$basic_ios@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$basic_ios@DU?$char_traits@D@std@@@std@@@8
_DATA	SEGMENT
??_R0?AV?$basic_ios@DU?$char_traits@D@std@@@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::basic_ios<char,std::char_traits<char> > `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$basic_ios@DU?$char_traits@D@std@@@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@A@3FA@?$basic_ios@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R1A@A@3FA@?$basic_ios@DU?$char_traits@D@std@@@std@@8 DD FLAT:??_R0?AV?$basic_ios@DU?$char_traits@D@std@@@std@@@8 ; std::basic_ios<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,0,4,80)'
	DD	02H
	DD	00H
	DD	00H
	DD	04H
	DD	050H
	DD	FLAT:??_R3?$basic_ios@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@?$basic_istream@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$basic_istream@DU?$char_traits@D@std@@@std@@8 DD FLAT:??_R0?AV?$basic_istream@DU?$char_traits@D@std@@@std@@@8 ; std::basic_istream<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$basic_istream@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R2?$basic_istream@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R2?$basic_istream@DU?$char_traits@D@std@@@std@@8 DD FLAT:??_R1A@?0A@EA@?$basic_istream@DU?$char_traits@D@std@@@std@@8 ; std::basic_istream<char,std::char_traits<char> >::`RTTI Base Class Array'
	DD	FLAT:??_R1A@A@3FA@?$basic_ios@DU?$char_traits@D@std@@@std@@8
	DD	FLAT:??_R1A@A@3EA@ios_base@std@@8
	DD	FLAT:??_R13A@3EA@?$_Iosb@H@std@@8
rdata$r	ENDS
;	COMDAT ??_R3?$basic_istream@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R3?$basic_istream@DU?$char_traits@D@std@@@std@@8 DD 00H ; std::basic_istream<char,std::char_traits<char> >::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2?$basic_istream@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$basic_istream@DU?$char_traits@D@std@@@std@@@8
_DATA	SEGMENT
??_R0?AV?$basic_istream@DU?$char_traits@D@std@@@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::basic_istream<char,std::char_traits<char> > `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$basic_istream@DU?$char_traits@D@std@@@std@@6B@
rdata$r	SEGMENT
??_R4?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ DD 00H ; std::basic_istream<char,std::char_traits<char> >::`RTTI Complete Object Locator'
	DD	08H
	DD	00H
	DD	FLAT:??_R0?AV?$basic_istream@DU?$char_traits@D@std@@@std@@@8
	DD	FLAT:??_R3?$basic_istream@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@
CONST	SEGMENT
??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ DD FLAT:??_R4?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_istream<char,std::char_traits<char> >::`vftable'
	DD	FLAT:??_E?$basic_istream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ
_TEXT	SEGMENT
??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ PROC ; std::basic_istream<char,std::char_traits<char> >::~basic_istream<char,std::char_traits<char> >, COMDAT
; _this$ = ecx

; 42   : 		{	// destroy the object

	mov	eax, DWORD PTR [ecx-8]
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR [edx+ecx-8], OFFSET ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@

; 43   : 		}

	ret	0
??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ ENDP ; std::basic_istream<char,std::char_traits<char> >::~basic_istream<char,std::char_traits<char> >
_TEXT	ENDS
PUBLIC	??Bsentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QBE_NXZ ; std::basic_istream<char,std::char_traits<char> >::sentry::operator bool
; Function compile flags: /Ogtpy
;	COMDAT ??Bsentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QBE_NXZ
_TEXT	SEGMENT
??Bsentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QBE_NXZ PROC ; std::basic_istream<char,std::char_traits<char> >::sentry::operator bool, COMDAT
; _this$ = ecx

; 81   : 			return (_Ok);

	mov	al, BYTE PTR [ecx+4]

; 82   : 			}

	ret	0
??Bsentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QBE_NXZ ENDP ; std::basic_istream<char,std::char_traits<char> >::sentry::operator bool
_TEXT	ENDS
PUBLIC	?Count@?$SimpleDynVecClass@H@@QAEHXZ		; SimpleDynVecClass<int>::Count
; Function compile flags: /Ogtpy
; File d:\source code\stgm\engine_vector.h
;	COMDAT ?Count@?$SimpleDynVecClass@H@@QAEHXZ
_TEXT	SEGMENT
?Count@?$SimpleDynVecClass@H@@QAEHXZ PROC		; SimpleDynVecClass<int>::Count, COMDAT
; _this$ = ecx

; 268  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 269  : 	}

	ret	0
?Count@?$SimpleDynVecClass@H@@QAEHXZ ENDP		; SimpleDynVecClass<int>::Count
_TEXT	ENDS
PUBLIC	?Add@?$SimpleDynVecClass@H@@QAEHAAH@Z		; SimpleDynVecClass<int>::Add
; Function compile flags: /Ogtpy
;	COMDAT ?Add@?$SimpleDynVecClass@H@@QAEHAAH@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?Add@?$SimpleDynVecClass@H@@QAEHAAH@Z PROC		; SimpleDynVecClass<int>::Add, COMDAT
; _this$ = ecx

; 291  : 	{

	push	esi
	mov	esi, ecx

; 292  : 		for (int i = 0;i < VectorMax;i++)

	mov	edx, DWORD PTR [esi+8]
	xor	eax, eax
	test	edx, edx
	push	edi
	jle	SHORT $LN2@Add
	mov	edi, DWORD PTR [esi+4]
	mov	ecx, edi
$LL4@Add:

; 293  : 		{
; 294  : 			if (!Vector[i])

	cmp	DWORD PTR [ecx], 0
	je	SHORT $LN8@Add
	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jl	SHORT $LL4@Add
$LN2@Add:

; 297  : 				return i;
; 298  : 			}
; 299  : 		}
; 300  : 		Resize(VectorMax+1);

	mov	eax, DWORD PTR [esi]
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, esi
	call	edx

; 301  : 		Vector[VectorMax-1] = data;

	mov	eax, DWORD PTR [esi+8]
	mov	edx, DWORD PTR _data$[esp+4]
	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [edx]
	mov	DWORD PTR [ecx+eax*4-4], edx

; 302  : 		ActiveCount++;
; 303  : 		return VectorMax-1;

	mov	eax, DWORD PTR [esi+8]
	add	DWORD PTR [esi+12], 1
	pop	edi
	sub	eax, 1
	pop	esi

; 304  : 	}

	ret	4
$LN8@Add:

; 295  : 			{
; 296  : 				Vector[i] = data;

	mov	ecx, DWORD PTR _data$[esp+4]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR [edi+eax*4], edx
	pop	edi
	pop	esi

; 304  : 	}

	ret	4
?Add@?$SimpleDynVecClass@H@@QAEHAAH@Z ENDP		; SimpleDynVecClass<int>::Add
_TEXT	ENDS
PUBLIC	??A?$SimpleVecClass@H@@QAEAAHH@Z		; SimpleVecClass<int>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$SimpleVecClass@H@@QAEAAHH@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$SimpleVecClass@H@@QAEAAHH@Z PROC			; SimpleVecClass<int>::operator[], COMDAT
; _this$ = ecx

; 185  : 		return Vector[index];

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _index$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]

; 186  : 	}

	ret	4
??A?$SimpleVecClass@H@@QAEAAHH@Z ENDP			; SimpleVecClass<int>::operator[]
_TEXT	ENDS
PUBLIC	??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@ ; `string'
PUBLIC	??_C@_0CF@NBIGPHOP@SimpleVecClass?$DMint?$DO?3?3?$HOSimpleVecC@ ; `string'
PUBLIC	??_7?$SimpleVecClass@H@@6B@			; SimpleVecClass<int>::`vftable'
PUBLIC	??1?$SimpleVecClass@H@@UAE@XZ			; SimpleVecClass<int>::~SimpleVecClass<int>
PUBLIC	??_R4?$SimpleVecClass@H@@6B@			; SimpleVecClass<int>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleVecClass@H@@@8			; SimpleVecClass<int> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleVecClass@H@@8			; SimpleVecClass<int>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleVecClass@H@@8			; SimpleVecClass<int>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleVecClass@H@@8		; SimpleVecClass<int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Uninitialised_Grow@?$SimpleVecClass@H@@UAE_NH@Z ; SimpleVecClass<int>::Uninitialised_Grow
PUBLIC	?Resize@?$SimpleVecClass@H@@UAE_NH@Z		; SimpleVecClass<int>::Resize
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
EXTRN	??_E?$SimpleVecClass@H@@UAEPAXI@Z:PROC		; SimpleVecClass<int>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleVecClass@H@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleVecClass@H@@8 DD FLAT:??_R0?AV?$SimpleVecClass@H@@@8 ; SimpleVecClass<int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleVecClass@H@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleVecClass@H@@8
rdata$r	SEGMENT
??_R2?$SimpleVecClass@H@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleVecClass@H@@8 ; SimpleVecClass<int>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleVecClass@H@@8
rdata$r	SEGMENT
??_R3?$SimpleVecClass@H@@8 DD 00H			; SimpleVecClass<int>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$SimpleVecClass@H@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleVecClass@H@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleVecClass@H@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleVecClass<int> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleVecClass@H@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleVecClass@H@@6B@
rdata$r	SEGMENT
??_R4?$SimpleVecClass@H@@6B@ DD 00H			; SimpleVecClass<int>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleVecClass@H@@@8
	DD	FLAT:??_R3?$SimpleVecClass@H@@8
rdata$r	ENDS
;	COMDAT ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
CONST	SEGMENT
??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@ DB 'd:\source c'
	DB	'ode\stgm\engine_vector.h', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CF@NBIGPHOP@SimpleVecClass?$DMint?$DO?3?3?$HOSimpleVecC@
CONST	SEGMENT
??_C@_0CF@NBIGPHOP@SimpleVecClass?$DMint?$DO?3?3?$HOSimpleVecC@ DB 'Simpl'
	DB	'eVecClass<int>::~SimpleVecClass', 00H	; `string'
CONST	ENDS
;	COMDAT ??_7?$SimpleVecClass@H@@6B@
CONST	SEGMENT
??_7?$SimpleVecClass@H@@6B@ DD FLAT:??_R4?$SimpleVecClass@H@@6B@ ; SimpleVecClass<int>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@H@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleVecClass@H@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleVecClass@H@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1?$SimpleVecClass@H@@UAE@XZ
_TEXT	SEGMENT
??1?$SimpleVecClass@H@@UAE@XZ PROC			; SimpleVecClass<int>::~SimpleVecClass<int>, COMDAT
; _this$ = ecx

; 188  : 	{

	push	esi
	mov	esi, ecx

; 189  : 		if (Vector)

	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@H@@6B@
	je	SHORT $LN1@SimpleVecC

; 190  : 		{
; 191  : 			delete[] Vector;

	push	OFFSET ??_C@_0CF@NBIGPHOP@SimpleVecClass?$DMint?$DO?3?3?$HOSimpleVecC@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 192  : 			Vector = 0;

	mov	DWORD PTR [esi+4], 0

; 193  : 			VectorMax = 0;

	mov	DWORD PTR [esi+8], 0
$LN1@SimpleVecC:
	pop	esi

; 194  : 		}
; 195  : 	}

	ret	0
??1?$SimpleVecClass@H@@UAE@XZ ENDP			; SimpleVecClass<int>::~SimpleVecClass<int>
_TEXT	ENDS
PUBLIC	??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@ ; `string'
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0CI@IMLIPCAC@SimpleVecClass?$DMint?$DO?3?3Uninitialis@ ; `string'
EXTRN	?log@@YAXPBDZZ:PROC				; log
EXTRN	??_U@YAPAXI@Z:PROC				; operator new[]
;	COMDAT ??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@
CONST	SEGMENT
??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@ DB '[I] Sim'
	DB	'pleVecClass allocate from 0x%08X', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CI@IMLIPCAC@SimpleVecClass?$DMint?$DO?3?3Uninitialis@
CONST	SEGMENT
??_C@_0CI@IMLIPCAC@SimpleVecClass?$DMint?$DO?3?3Uninitialis@ DB 'SimpleVe'
	DB	'cClass<int>::Uninitialised_Grow', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Uninitialised_Grow@?$SimpleVecClass@H@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Uninitialised_Grow@?$SimpleVecClass@H@@UAE_NH@Z PROC	; SimpleVecClass<int>::Uninitialised_Grow, COMDAT
; _this$ = ecx

; 155  : 	{

	push	esi
	push	edi

; 156  : 		if ((newsize > 0) && (newsize > VectorMax))

	mov	edi, DWORD PTR _newsize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jle	SHORT $LN10@Uninitiali
	cmp	edi, DWORD PTR [esi+8]
	jle	SHORT $LN10@Uninitiali

; 157  : 		{
; 158  : 			if (Vector)

	cmp	DWORD PTR [esi+4], 0
	je	SHORT $LN6@Uninitiali

; 159  : 			{
; 160  : 				delete[] Vector;

	push	OFFSET ??_C@_0CI@IMLIPCAC@SimpleVecClass?$DMint?$DO?3?3Uninitialis@
	push	160					; 000000a0H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN6@Uninitiali:

; 161  : 			}
; 162  : 			Vector = new T[newsize];

	push	OFFSET ??_C@_0CI@IMLIPCAC@SimpleVecClass?$DMint?$DO?3?3Uninitialis@
	push	162					; 000000a2H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	DWORD PTR [esi+4], eax

; 163  : #ifdef _MEMTRACK
; 164  : 			log("[I] SimpleVecClass allocate from 0x%08X",_ReturnAddress());

	mov	eax, DWORD PTR __$ReturnAddr$[esp+20]
	push	eax
	push	OFFSET ??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@
	call	?log@@YAXPBDZZ				; log
	add	esp, 24					; 00000018H

; 165  : #endif
; 166  : 			VectorMax = newsize;

	mov	DWORD PTR [esi+8], edi
$LN10@Uninitiali:
	pop	edi

; 167  : 		}
; 168  : 		return true;

	mov	al, 1
	pop	esi

; 169  : 	}

	ret	4
?Uninitialised_Grow@?$SimpleVecClass@H@@UAE_NH@Z ENDP	; SimpleVecClass<int>::Uninitialised_Grow
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0BM@LCPGGCPC@SimpleVecClass?$DMint?$DO?3?3Resize?$AA@ ; `string'
EXTRN	_memcpy:PROC
;	COMDAT ??_C@_0BM@LCPGGCPC@SimpleVecClass?$DMint?$DO?3?3Resize?$AA@
CONST	SEGMENT
??_C@_0BM@LCPGGCPC@SimpleVecClass?$DMint?$DO?3?3Resize?$AA@ DB 'SimpleVec'
	DB	'Class<int>::Resize', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Resize@?$SimpleVecClass@H@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Resize@?$SimpleVecClass@H@@UAE_NH@Z PROC		; SimpleVecClass<int>::Resize, COMDAT
; _this$ = ecx

; 197  : 	{

	push	esi
	push	edi

; 198  : 		T *vec;
; 199  : 		if (VectorMax == newsize)

	mov	edi, DWORD PTR _newsize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi

; 200  : 		{
; 201  : 			return true;

	je	$LN1@Resize

; 202  : 		}
; 203  : 		if (newsize > 0)

	test	edi, edi
	jle	$LN5@Resize
	push	ebx

; 204  : 		{
; 205  : 			vec = new T[newsize];

	push	OFFSET ??_C@_0BM@LCPGGCPC@SimpleVecClass?$DMint?$DO?3?3Resize?$AA@
	push	205					; 000000cdH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 206  : #ifdef _MEMTRACK
; 207  : 			log("[I] SimpleVecClass allocate from 0x%08X",_ReturnAddress());

	mov	eax, DWORD PTR __$ReturnAddr$[esp+24]
	push	eax
	push	OFFSET ??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@
	call	?log@@YAXPBDZZ				; log

; 208  : #endif
; 209  : 			if (Vector)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 24					; 00000018H
	test	eax, eax
	je	SHORT $LN4@Resize

; 210  : 			{
; 211  : 				int count = VectorMax;

	mov	ecx, DWORD PTR [esi+8]

; 212  : 				if (newsize < count)

	cmp	edi, ecx
	jge	SHORT $LN3@Resize

; 213  : 				{
; 214  : 					count = newsize;

	mov	ecx, edi
$LN3@Resize:

; 215  : 				}
; 216  : 				memcpy(vec,Vector,count*sizeof(T));

	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 217  : 				delete[] Vector;

	push	OFFSET ??_C@_0BM@LCPGGCPC@SimpleVecClass?$DMint?$DO?3?3Resize?$AA@
	push	217					; 000000d9H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH

; 218  : 				Vector = 0;

	mov	DWORD PTR [esi+4], 0
$LN4@Resize:

; 219  : 			}
; 220  : 			Vector = vec;

	mov	DWORD PTR [esi+4], ebx
	pop	ebx

; 221  : 			VectorMax = newsize;

	mov	DWORD PTR [esi+8], edi
	pop	edi

; 230  : 			}
; 231  : 		}
; 232  : 		return true;

	mov	al, 1
	pop	esi

; 233  : 	}

	ret	4
$LN5@Resize:

; 222  : 		}
; 223  : 		else
; 224  : 		{
; 225  : 			VectorMax = 0;
; 226  : 			if (Vector)

	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi+8], 0
	je	SHORT $LN1@Resize

; 227  : 			{
; 228  : 				delete[] Vector;

	push	OFFSET ??_C@_0BM@LCPGGCPC@SimpleVecClass?$DMint?$DO?3?3Resize?$AA@
	push	228					; 000000e4H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 229  : 				Vector = 0;

	mov	DWORD PTR [esi+4], 0
$LN1@Resize:
	pop	edi

; 230  : 			}
; 231  : 		}
; 232  : 		return true;

	mov	al, 1
	pop	esi

; 233  : 	}

	ret	4
?Resize@?$SimpleVecClass@H@@UAE_NH@Z ENDP		; SimpleVecClass<int>::Resize
_TEXT	ENDS
PUBLIC	?ClearAll@?$SimpleDynVecClass@K@@QAEXXZ		; SimpleDynVecClass<unsigned long>::ClearAll
; Function compile flags: /Ogtpy
;	COMDAT ?ClearAll@?$SimpleDynVecClass@K@@QAEXXZ
_TEXT	SEGMENT
?ClearAll@?$SimpleDynVecClass@K@@QAEXXZ PROC		; SimpleDynVecClass<unsigned long>::ClearAll, COMDAT
; _this$ = ecx

; 311  : 		memset(Vector,0,VectorMax*sizeof(T));

	mov	eax, DWORD PTR [ecx+8]
	mov	ecx, DWORD PTR [ecx+4]
	add	eax, eax
	add	eax, eax
	push	eax
	push	0
	push	ecx
	call	_memset
	add	esp, 12					; 0000000cH

; 312  : 	}

	ret	0
?ClearAll@?$SimpleDynVecClass@K@@QAEXXZ ENDP		; SimpleDynVecClass<unsigned long>::ClearAll
_TEXT	ENDS
PUBLIC	??A?$SimpleVecClass@K@@QAEAAKH@Z		; SimpleVecClass<unsigned long>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$SimpleVecClass@K@@QAEAAKH@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$SimpleVecClass@K@@QAEAAKH@Z PROC			; SimpleVecClass<unsigned long>::operator[], COMDAT
; _this$ = ecx

; 185  : 		return Vector[index];

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _index$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]

; 186  : 	}

	ret	4
??A?$SimpleVecClass@K@@QAEAAKH@Z ENDP			; SimpleVecClass<unsigned long>::operator[]
_TEXT	ENDS
PUBLIC	??_C@_0CP@OABAKABK@SimpleVecClass?$DMunsigned?5long?$DO?3?3?$HO@ ; `string'
PUBLIC	??_7?$SimpleVecClass@K@@6B@			; SimpleVecClass<unsigned long>::`vftable'
PUBLIC	??1?$SimpleVecClass@K@@UAE@XZ			; SimpleVecClass<unsigned long>::~SimpleVecClass<unsigned long>
PUBLIC	??_R4?$SimpleVecClass@K@@6B@			; SimpleVecClass<unsigned long>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleVecClass@K@@@8			; SimpleVecClass<unsigned long> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleVecClass@K@@8			; SimpleVecClass<unsigned long>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleVecClass@K@@8			; SimpleVecClass<unsigned long>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleVecClass@K@@8		; SimpleVecClass<unsigned long>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Uninitialised_Grow@?$SimpleVecClass@K@@UAE_NH@Z ; SimpleVecClass<unsigned long>::Uninitialised_Grow
PUBLIC	?Resize@?$SimpleVecClass@K@@UAE_NH@Z		; SimpleVecClass<unsigned long>::Resize
EXTRN	??_E?$SimpleVecClass@K@@UAEPAXI@Z:PROC		; SimpleVecClass<unsigned long>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleVecClass@K@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleVecClass@K@@8 DD FLAT:??_R0?AV?$SimpleVecClass@K@@@8 ; SimpleVecClass<unsigned long>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleVecClass@K@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleVecClass@K@@8
rdata$r	SEGMENT
??_R2?$SimpleVecClass@K@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleVecClass@K@@8 ; SimpleVecClass<unsigned long>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleVecClass@K@@8
rdata$r	SEGMENT
??_R3?$SimpleVecClass@K@@8 DD 00H			; SimpleVecClass<unsigned long>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$SimpleVecClass@K@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleVecClass@K@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleVecClass@K@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleVecClass<unsigned long> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleVecClass@K@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleVecClass@K@@6B@
rdata$r	SEGMENT
??_R4?$SimpleVecClass@K@@6B@ DD 00H			; SimpleVecClass<unsigned long>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleVecClass@K@@@8
	DD	FLAT:??_R3?$SimpleVecClass@K@@8
rdata$r	ENDS
;	COMDAT ??_C@_0CP@OABAKABK@SimpleVecClass?$DMunsigned?5long?$DO?3?3?$HO@
CONST	SEGMENT
??_C@_0CP@OABAKABK@SimpleVecClass?$DMunsigned?5long?$DO?3?3?$HO@ DB 'Simp'
	DB	'leVecClass<unsigned long>::~SimpleVecClass', 00H ; `string'
CONST	ENDS
;	COMDAT ??_7?$SimpleVecClass@K@@6B@
CONST	SEGMENT
??_7?$SimpleVecClass@K@@6B@ DD FLAT:??_R4?$SimpleVecClass@K@@6B@ ; SimpleVecClass<unsigned long>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@K@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleVecClass@K@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleVecClass@K@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1?$SimpleVecClass@K@@UAE@XZ
_TEXT	SEGMENT
??1?$SimpleVecClass@K@@UAE@XZ PROC			; SimpleVecClass<unsigned long>::~SimpleVecClass<unsigned long>, COMDAT
; _this$ = ecx

; 188  : 	{

	push	esi
	mov	esi, ecx

; 189  : 		if (Vector)

	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@K@@6B@
	je	SHORT $LN1@SimpleVecC@2

; 190  : 		{
; 191  : 			delete[] Vector;

	push	OFFSET ??_C@_0CP@OABAKABK@SimpleVecClass?$DMunsigned?5long?$DO?3?3?$HO@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 192  : 			Vector = 0;

	mov	DWORD PTR [esi+4], 0

; 193  : 			VectorMax = 0;

	mov	DWORD PTR [esi+8], 0
$LN1@SimpleVecC@2:
	pop	esi

; 194  : 		}
; 195  : 	}

	ret	0
??1?$SimpleVecClass@K@@UAE@XZ ENDP			; SimpleVecClass<unsigned long>::~SimpleVecClass<unsigned long>
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0DC@NDCBLOOK@SimpleVecClass?$DMunsigned?5long?$DO?3?3U@ ; `string'
;	COMDAT ??_C@_0DC@NDCBLOOK@SimpleVecClass?$DMunsigned?5long?$DO?3?3U@
CONST	SEGMENT
??_C@_0DC@NDCBLOOK@SimpleVecClass?$DMunsigned?5long?$DO?3?3U@ DB 'SimpleV'
	DB	'ecClass<unsigned long>::Uninitialised_Grow', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Uninitialised_Grow@?$SimpleVecClass@K@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Uninitialised_Grow@?$SimpleVecClass@K@@UAE_NH@Z PROC	; SimpleVecClass<unsigned long>::Uninitialised_Grow, COMDAT
; _this$ = ecx

; 155  : 	{

	push	esi
	push	edi

; 156  : 		if ((newsize > 0) && (newsize > VectorMax))

	mov	edi, DWORD PTR _newsize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jle	SHORT $LN10@Uninitiali@2
	cmp	edi, DWORD PTR [esi+8]
	jle	SHORT $LN10@Uninitiali@2

; 157  : 		{
; 158  : 			if (Vector)

	cmp	DWORD PTR [esi+4], 0
	je	SHORT $LN6@Uninitiali@2

; 159  : 			{
; 160  : 				delete[] Vector;

	push	OFFSET ??_C@_0DC@NDCBLOOK@SimpleVecClass?$DMunsigned?5long?$DO?3?3U@
	push	160					; 000000a0H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN6@Uninitiali@2:

; 161  : 			}
; 162  : 			Vector = new T[newsize];

	push	OFFSET ??_C@_0DC@NDCBLOOK@SimpleVecClass?$DMunsigned?5long?$DO?3?3U@
	push	162					; 000000a2H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	DWORD PTR [esi+4], eax

; 163  : #ifdef _MEMTRACK
; 164  : 			log("[I] SimpleVecClass allocate from 0x%08X",_ReturnAddress());

	mov	eax, DWORD PTR __$ReturnAddr$[esp+20]
	push	eax
	push	OFFSET ??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@
	call	?log@@YAXPBDZZ				; log
	add	esp, 24					; 00000018H

; 165  : #endif
; 166  : 			VectorMax = newsize;

	mov	DWORD PTR [esi+8], edi
$LN10@Uninitiali@2:
	pop	edi

; 167  : 		}
; 168  : 		return true;

	mov	al, 1
	pop	esi

; 169  : 	}

	ret	4
?Uninitialised_Grow@?$SimpleVecClass@K@@UAE_NH@Z ENDP	; SimpleVecClass<unsigned long>::Uninitialised_Grow
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0CG@MDNOFAFA@SimpleVecClass?$DMunsigned?5long?$DO?3?3R@ ; `string'
;	COMDAT ??_C@_0CG@MDNOFAFA@SimpleVecClass?$DMunsigned?5long?$DO?3?3R@
CONST	SEGMENT
??_C@_0CG@MDNOFAFA@SimpleVecClass?$DMunsigned?5long?$DO?3?3R@ DB 'SimpleV'
	DB	'ecClass<unsigned long>::Resize', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Resize@?$SimpleVecClass@K@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Resize@?$SimpleVecClass@K@@UAE_NH@Z PROC		; SimpleVecClass<unsigned long>::Resize, COMDAT
; _this$ = ecx

; 197  : 	{

	push	esi
	push	edi

; 198  : 		T *vec;
; 199  : 		if (VectorMax == newsize)

	mov	edi, DWORD PTR _newsize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi

; 200  : 		{
; 201  : 			return true;

	je	$LN1@Resize@2

; 202  : 		}
; 203  : 		if (newsize > 0)

	test	edi, edi
	jle	$LN5@Resize@2
	push	ebx

; 204  : 		{
; 205  : 			vec = new T[newsize];

	push	OFFSET ??_C@_0CG@MDNOFAFA@SimpleVecClass?$DMunsigned?5long?$DO?3?3R@
	push	205					; 000000cdH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 206  : #ifdef _MEMTRACK
; 207  : 			log("[I] SimpleVecClass allocate from 0x%08X",_ReturnAddress());

	mov	eax, DWORD PTR __$ReturnAddr$[esp+24]
	push	eax
	push	OFFSET ??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@
	call	?log@@YAXPBDZZ				; log

; 208  : #endif
; 209  : 			if (Vector)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 24					; 00000018H
	test	eax, eax
	je	SHORT $LN4@Resize@2

; 210  : 			{
; 211  : 				int count = VectorMax;

	mov	ecx, DWORD PTR [esi+8]

; 212  : 				if (newsize < count)

	cmp	edi, ecx
	jge	SHORT $LN3@Resize@2

; 213  : 				{
; 214  : 					count = newsize;

	mov	ecx, edi
$LN3@Resize@2:

; 215  : 				}
; 216  : 				memcpy(vec,Vector,count*sizeof(T));

	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 217  : 				delete[] Vector;

	push	OFFSET ??_C@_0CG@MDNOFAFA@SimpleVecClass?$DMunsigned?5long?$DO?3?3R@
	push	217					; 000000d9H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH

; 218  : 				Vector = 0;

	mov	DWORD PTR [esi+4], 0
$LN4@Resize@2:

; 219  : 			}
; 220  : 			Vector = vec;

	mov	DWORD PTR [esi+4], ebx
	pop	ebx

; 221  : 			VectorMax = newsize;

	mov	DWORD PTR [esi+8], edi
	pop	edi

; 230  : 			}
; 231  : 		}
; 232  : 		return true;

	mov	al, 1
	pop	esi

; 233  : 	}

	ret	4
$LN5@Resize@2:

; 222  : 		}
; 223  : 		else
; 224  : 		{
; 225  : 			VectorMax = 0;
; 226  : 			if (Vector)

	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi+8], 0
	je	SHORT $LN1@Resize@2

; 227  : 			{
; 228  : 				delete[] Vector;

	push	OFFSET ??_C@_0CG@MDNOFAFA@SimpleVecClass?$DMunsigned?5long?$DO?3?3R@
	push	228					; 000000e4H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 229  : 				Vector = 0;

	mov	DWORD PTR [esi+4], 0
$LN1@Resize@2:
	pop	edi

; 230  : 			}
; 231  : 		}
; 232  : 		return true;

	mov	al, 1
	pop	esi

; 233  : 	}

	ret	4
?Resize@?$SimpleVecClass@K@@UAE_NH@Z ENDP		; SimpleVecClass<unsigned long>::Resize
_TEXT	ENDS
PUBLIC	?Count@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEHXZ ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEHXZ PROC ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::Count, COMDAT
; _this$ = ecx

; 268  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 269  : 	}

	ret	0
?Count@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEHXZ ENDP ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::Count
_TEXT	ENDS
PUBLIC	?ClearAll@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEXXZ ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::ClearAll
; Function compile flags: /Ogtpy
;	COMDAT ?ClearAll@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEXXZ
_TEXT	SEGMENT
?ClearAll@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEXXZ PROC ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::ClearAll, COMDAT
; _this$ = ecx

; 311  : 		memset(Vector,0,VectorMax*sizeof(T));

	mov	eax, DWORD PTR [ecx+8]
	mov	ecx, DWORD PTR [ecx+4]
	add	eax, eax
	add	eax, eax
	push	eax
	push	0
	push	ecx
	call	_memset
	add	esp, 12					; 0000000cH

; 312  : 	}

	ret	0
?ClearAll@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEXXZ ENDP ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::ClearAll
_TEXT	ENDS
PUBLIC	??A?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEAAPAUPlayerInfoStruct@FileVerificationController@@H@Z ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEAAPAUPlayerInfoStruct@FileVerificationController@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEAAPAUPlayerInfoStruct@FileVerificationController@@H@Z PROC ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::operator[], COMDAT
; _this$ = ecx

; 185  : 		return Vector[index];

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _index$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]

; 186  : 	}

	ret	4
??A?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAEAAPAUPlayerInfoStruct@FileVerificationController@@H@Z ENDP ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::operator[]
_TEXT	ENDS
PUBLIC	??_C@_0FH@FDFBJJHF@SimpleVecClass?$DMstruct?5FileVerifi@ ; `string'
PUBLIC	??_7?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@ ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`vftable'
PUBLIC	??1?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::~SimpleVecClass<FileVerificationController::PlayerInfoStruct *>
PUBLIC	??_R4?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@ ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@@8 ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Uninitialised_Grow@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::Uninitialised_Grow
PUBLIC	?Resize@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::Resize
EXTRN	??_E?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAEPAXI@Z:PROC ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 DD FLAT:??_R0?AV?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@@8 ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	SEGMENT
??_R2?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	SEGMENT
??_R3?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 DD 00H ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificatio'
	DB	'nController@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@
rdata$r	SEGMENT
??_R4?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@ DD 00H ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@@8
	DD	FLAT:??_R3?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	ENDS
;	COMDAT ??_C@_0FH@FDFBJJHF@SimpleVecClass?$DMstruct?5FileVerifi@
CONST	SEGMENT
??_C@_0FH@FDFBJJHF@SimpleVecClass?$DMstruct?5FileVerifi@ DB 'SimpleVecCla'
	DB	'ss<struct FileVerificationController::PlayerInfoStruct *>::~S'
	DB	'impleVecClass', 00H				; `string'
CONST	ENDS
;	COMDAT ??_7?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@
CONST	SEGMENT
??_7?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@ DD FLAT:??_R4?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@ ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ
_TEXT	SEGMENT
??1?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ PROC ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::~SimpleVecClass<FileVerificationController::PlayerInfoStruct *>, COMDAT
; _this$ = ecx

; 188  : 	{

	push	esi
	mov	esi, ecx

; 189  : 		if (Vector)

	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@
	je	SHORT $LN1@SimpleVecC@3

; 190  : 		{
; 191  : 			delete[] Vector;

	push	OFFSET ??_C@_0FH@FDFBJJHF@SimpleVecClass?$DMstruct?5FileVerifi@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 192  : 			Vector = 0;

	mov	DWORD PTR [esi+4], 0

; 193  : 			VectorMax = 0;

	mov	DWORD PTR [esi+8], 0
$LN1@SimpleVecC@3:
	pop	esi

; 194  : 		}
; 195  : 	}

	ret	0
??1?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ ENDP ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::~SimpleVecClass<FileVerificationController::PlayerInfoStruct *>
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0FK@JPPFMOPI@SimpleVecClass?$DMstruct?5FileVerifi@ ; `string'
;	COMDAT ??_C@_0FK@JPPFMOPI@SimpleVecClass?$DMstruct?5FileVerifi@
CONST	SEGMENT
??_C@_0FK@JPPFMOPI@SimpleVecClass?$DMstruct?5FileVerifi@ DB 'SimpleVecCla'
	DB	'ss<struct FileVerificationController::PlayerInfoStruct *>::Un'
	DB	'initialised_Grow', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Uninitialised_Grow@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Uninitialised_Grow@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z PROC ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::Uninitialised_Grow, COMDAT
; _this$ = ecx

; 155  : 	{

	push	esi
	push	edi

; 156  : 		if ((newsize > 0) && (newsize > VectorMax))

	mov	edi, DWORD PTR _newsize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jle	SHORT $LN10@Uninitiali@3
	cmp	edi, DWORD PTR [esi+8]
	jle	SHORT $LN10@Uninitiali@3

; 157  : 		{
; 158  : 			if (Vector)

	cmp	DWORD PTR [esi+4], 0
	je	SHORT $LN6@Uninitiali@3

; 159  : 			{
; 160  : 				delete[] Vector;

	push	OFFSET ??_C@_0FK@JPPFMOPI@SimpleVecClass?$DMstruct?5FileVerifi@
	push	160					; 000000a0H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN6@Uninitiali@3:

; 161  : 			}
; 162  : 			Vector = new T[newsize];

	push	OFFSET ??_C@_0FK@JPPFMOPI@SimpleVecClass?$DMstruct?5FileVerifi@
	push	162					; 000000a2H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	DWORD PTR [esi+4], eax

; 163  : #ifdef _MEMTRACK
; 164  : 			log("[I] SimpleVecClass allocate from 0x%08X",_ReturnAddress());

	mov	eax, DWORD PTR __$ReturnAddr$[esp+20]
	push	eax
	push	OFFSET ??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@
	call	?log@@YAXPBDZZ				; log
	add	esp, 24					; 00000018H

; 165  : #endif
; 166  : 			VectorMax = newsize;

	mov	DWORD PTR [esi+8], edi
$LN10@Uninitiali@3:
	pop	edi

; 167  : 		}
; 168  : 		return true;

	mov	al, 1
	pop	esi

; 169  : 	}

	ret	4
?Uninitialised_Grow@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z ENDP ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::Uninitialised_Grow
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0EO@HBGMKOPE@SimpleVecClass?$DMstruct?5FileVerifi@ ; `string'
;	COMDAT ??_C@_0EO@HBGMKOPE@SimpleVecClass?$DMstruct?5FileVerifi@
CONST	SEGMENT
??_C@_0EO@HBGMKOPE@SimpleVecClass?$DMstruct?5FileVerifi@ DB 'SimpleVecCla'
	DB	'ss<struct FileVerificationController::PlayerInfoStruct *>::Re'
	DB	'size', 00H					; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Resize@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Resize@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z PROC ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::Resize, COMDAT
; _this$ = ecx

; 197  : 	{

	push	esi
	push	edi

; 198  : 		T *vec;
; 199  : 		if (VectorMax == newsize)

	mov	edi, DWORD PTR _newsize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi

; 200  : 		{
; 201  : 			return true;

	je	$LN1@Resize@3

; 202  : 		}
; 203  : 		if (newsize > 0)

	test	edi, edi
	jle	$LN5@Resize@3
	push	ebx

; 204  : 		{
; 205  : 			vec = new T[newsize];

	push	OFFSET ??_C@_0EO@HBGMKOPE@SimpleVecClass?$DMstruct?5FileVerifi@
	push	205					; 000000cdH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 206  : #ifdef _MEMTRACK
; 207  : 			log("[I] SimpleVecClass allocate from 0x%08X",_ReturnAddress());

	mov	eax, DWORD PTR __$ReturnAddr$[esp+24]
	push	eax
	push	OFFSET ??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@
	call	?log@@YAXPBDZZ				; log

; 208  : #endif
; 209  : 			if (Vector)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 24					; 00000018H
	test	eax, eax
	je	SHORT $LN4@Resize@3

; 210  : 			{
; 211  : 				int count = VectorMax;

	mov	ecx, DWORD PTR [esi+8]

; 212  : 				if (newsize < count)

	cmp	edi, ecx
	jge	SHORT $LN3@Resize@3

; 213  : 				{
; 214  : 					count = newsize;

	mov	ecx, edi
$LN3@Resize@3:

; 215  : 				}
; 216  : 				memcpy(vec,Vector,count*sizeof(T));

	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 217  : 				delete[] Vector;

	push	OFFSET ??_C@_0EO@HBGMKOPE@SimpleVecClass?$DMstruct?5FileVerifi@
	push	217					; 000000d9H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH

; 218  : 				Vector = 0;

	mov	DWORD PTR [esi+4], 0
$LN4@Resize@3:

; 219  : 			}
; 220  : 			Vector = vec;

	mov	DWORD PTR [esi+4], ebx
	pop	ebx

; 221  : 			VectorMax = newsize;

	mov	DWORD PTR [esi+8], edi
	pop	edi

; 230  : 			}
; 231  : 		}
; 232  : 		return true;

	mov	al, 1
	pop	esi

; 233  : 	}

	ret	4
$LN5@Resize@3:

; 222  : 		}
; 223  : 		else
; 224  : 		{
; 225  : 			VectorMax = 0;
; 226  : 			if (Vector)

	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi+8], 0
	je	SHORT $LN1@Resize@3

; 227  : 			{
; 228  : 				delete[] Vector;

	push	OFFSET ??_C@_0EO@HBGMKOPE@SimpleVecClass?$DMstruct?5FileVerifi@
	push	228					; 000000e4H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 229  : 				Vector = 0;

	mov	DWORD PTR [esi+4], 0
$LN1@Resize@3:
	pop	edi

; 230  : 			}
; 231  : 		}
; 232  : 		return true;

	mov	al, 1
	pop	esi

; 233  : 	}

	ret	4
?Resize@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z ENDP ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::Resize
_TEXT	ENDS
PUBLIC	?Count@?$SimpleDynVecClass@_N@@QAEHXZ		; SimpleDynVecClass<bool>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$SimpleDynVecClass@_N@@QAEHXZ
_TEXT	SEGMENT
?Count@?$SimpleDynVecClass@_N@@QAEHXZ PROC		; SimpleDynVecClass<bool>::Count, COMDAT
; _this$ = ecx

; 268  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 269  : 	}

	ret	0
?Count@?$SimpleDynVecClass@_N@@QAEHXZ ENDP		; SimpleDynVecClass<bool>::Count
_TEXT	ENDS
PUBLIC	?ClearAll@?$SimpleDynVecClass@_N@@QAEXXZ	; SimpleDynVecClass<bool>::ClearAll
; Function compile flags: /Ogtpy
;	COMDAT ?ClearAll@?$SimpleDynVecClass@_N@@QAEXXZ
_TEXT	SEGMENT
?ClearAll@?$SimpleDynVecClass@_N@@QAEXXZ PROC		; SimpleDynVecClass<bool>::ClearAll, COMDAT
; _this$ = ecx

; 311  : 		memset(Vector,0,VectorMax*sizeof(T));

	mov	eax, DWORD PTR [ecx+8]
	mov	ecx, DWORD PTR [ecx+4]
	push	eax
	push	0
	push	ecx
	call	_memset
	add	esp, 12					; 0000000cH

; 312  : 	}

	ret	0
?ClearAll@?$SimpleDynVecClass@_N@@QAEXXZ ENDP		; SimpleDynVecClass<bool>::ClearAll
_TEXT	ENDS
PUBLIC	??A?$SimpleVecClass@_N@@QAEAA_NH@Z		; SimpleVecClass<bool>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$SimpleVecClass@_N@@QAEAA_NH@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$SimpleVecClass@_N@@QAEAA_NH@Z PROC			; SimpleVecClass<bool>::operator[], COMDAT
; _this$ = ecx

; 185  : 		return Vector[index];

	mov	eax, DWORD PTR [ecx+4]
	add	eax, DWORD PTR _index$[esp-4]

; 186  : 	}

	ret	4
??A?$SimpleVecClass@_N@@QAEAA_NH@Z ENDP			; SimpleVecClass<bool>::operator[]
_TEXT	ENDS
PUBLIC	??_C@_0CG@NMAJMNDK@SimpleVecClass?$DMbool?$DO?3?3?$HOSimpleVec@ ; `string'
PUBLIC	??_7?$SimpleVecClass@_N@@6B@			; SimpleVecClass<bool>::`vftable'
PUBLIC	??1?$SimpleVecClass@_N@@UAE@XZ			; SimpleVecClass<bool>::~SimpleVecClass<bool>
PUBLIC	??_R4?$SimpleVecClass@_N@@6B@			; SimpleVecClass<bool>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleVecClass@_N@@@8			; SimpleVecClass<bool> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleVecClass@_N@@8			; SimpleVecClass<bool>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleVecClass@_N@@8			; SimpleVecClass<bool>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleVecClass@_N@@8		; SimpleVecClass<bool>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Uninitialised_Grow@?$SimpleVecClass@_N@@UAE_NH@Z ; SimpleVecClass<bool>::Uninitialised_Grow
PUBLIC	?Resize@?$SimpleVecClass@_N@@UAE_NH@Z		; SimpleVecClass<bool>::Resize
EXTRN	??_E?$SimpleVecClass@_N@@UAEPAXI@Z:PROC		; SimpleVecClass<bool>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleVecClass@_N@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleVecClass@_N@@8 DD FLAT:??_R0?AV?$SimpleVecClass@_N@@@8 ; SimpleVecClass<bool>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleVecClass@_N@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleVecClass@_N@@8
rdata$r	SEGMENT
??_R2?$SimpleVecClass@_N@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleVecClass@_N@@8 ; SimpleVecClass<bool>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleVecClass@_N@@8
rdata$r	SEGMENT
??_R3?$SimpleVecClass@_N@@8 DD 00H			; SimpleVecClass<bool>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$SimpleVecClass@_N@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleVecClass@_N@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleVecClass@_N@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleVecClass<bool> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleVecClass@_N@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleVecClass@_N@@6B@
rdata$r	SEGMENT
??_R4?$SimpleVecClass@_N@@6B@ DD 00H			; SimpleVecClass<bool>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleVecClass@_N@@@8
	DD	FLAT:??_R3?$SimpleVecClass@_N@@8
rdata$r	ENDS
;	COMDAT ??_C@_0CG@NMAJMNDK@SimpleVecClass?$DMbool?$DO?3?3?$HOSimpleVec@
CONST	SEGMENT
??_C@_0CG@NMAJMNDK@SimpleVecClass?$DMbool?$DO?3?3?$HOSimpleVec@ DB 'Simpl'
	DB	'eVecClass<bool>::~SimpleVecClass', 00H	; `string'
CONST	ENDS
;	COMDAT ??_7?$SimpleVecClass@_N@@6B@
CONST	SEGMENT
??_7?$SimpleVecClass@_N@@6B@ DD FLAT:??_R4?$SimpleVecClass@_N@@6B@ ; SimpleVecClass<bool>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@_N@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleVecClass@_N@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleVecClass@_N@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1?$SimpleVecClass@_N@@UAE@XZ
_TEXT	SEGMENT
??1?$SimpleVecClass@_N@@UAE@XZ PROC			; SimpleVecClass<bool>::~SimpleVecClass<bool>, COMDAT
; _this$ = ecx

; 188  : 	{

	push	esi
	mov	esi, ecx

; 189  : 		if (Vector)

	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@_N@@6B@
	je	SHORT $LN1@SimpleVecC@4

; 190  : 		{
; 191  : 			delete[] Vector;

	push	OFFSET ??_C@_0CG@NMAJMNDK@SimpleVecClass?$DMbool?$DO?3?3?$HOSimpleVec@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 192  : 			Vector = 0;

	mov	DWORD PTR [esi+4], 0

; 193  : 			VectorMax = 0;

	mov	DWORD PTR [esi+8], 0
$LN1@SimpleVecC@4:
	pop	esi

; 194  : 		}
; 195  : 	}

	ret	0
??1?$SimpleVecClass@_N@@UAE@XZ ENDP			; SimpleVecClass<bool>::~SimpleVecClass<bool>
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0CJ@FPFEEFBM@SimpleVecClass?$DMbool?$DO?3?3Uninitiali@ ; `string'
;	COMDAT ??_C@_0CJ@FPFEEFBM@SimpleVecClass?$DMbool?$DO?3?3Uninitiali@
CONST	SEGMENT
??_C@_0CJ@FPFEEFBM@SimpleVecClass?$DMbool?$DO?3?3Uninitiali@ DB 'SimpleVe'
	DB	'cClass<bool>::Uninitialised_Grow', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Uninitialised_Grow@?$SimpleVecClass@_N@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Uninitialised_Grow@?$SimpleVecClass@_N@@UAE_NH@Z PROC	; SimpleVecClass<bool>::Uninitialised_Grow, COMDAT
; _this$ = ecx

; 155  : 	{

	push	esi
	push	edi

; 156  : 		if ((newsize > 0) && (newsize > VectorMax))

	mov	edi, DWORD PTR _newsize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jle	SHORT $LN10@Uninitiali@4
	cmp	edi, DWORD PTR [esi+8]
	jle	SHORT $LN10@Uninitiali@4

; 157  : 		{
; 158  : 			if (Vector)

	cmp	DWORD PTR [esi+4], 0
	je	SHORT $LN6@Uninitiali@4

; 159  : 			{
; 160  : 				delete[] Vector;

	push	OFFSET ??_C@_0CJ@FPFEEFBM@SimpleVecClass?$DMbool?$DO?3?3Uninitiali@
	push	160					; 000000a0H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN6@Uninitiali@4:

; 161  : 			}
; 162  : 			Vector = new T[newsize];

	push	OFFSET ??_C@_0CJ@FPFEEFBM@SimpleVecClass?$DMbool?$DO?3?3Uninitiali@
	push	162					; 000000a2H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	edi
	call	??_U@YAPAXI@Z				; operator new[]

; 163  : #ifdef _MEMTRACK
; 164  : 			log("[I] SimpleVecClass allocate from 0x%08X",_ReturnAddress());

	mov	ecx, DWORD PTR __$ReturnAddr$[esp+20]
	push	ecx
	push	OFFSET ??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@
	mov	DWORD PTR [esi+4], eax
	call	?log@@YAXPBDZZ				; log
	add	esp, 24					; 00000018H

; 165  : #endif
; 166  : 			VectorMax = newsize;

	mov	DWORD PTR [esi+8], edi
$LN10@Uninitiali@4:
	pop	edi

; 167  : 		}
; 168  : 		return true;

	mov	al, 1
	pop	esi

; 169  : 	}

	ret	4
?Uninitialised_Grow@?$SimpleVecClass@_N@@UAE_NH@Z ENDP	; SimpleVecClass<bool>::Uninitialised_Grow
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0BN@EJFFMHPO@SimpleVecClass?$DMbool?$DO?3?3Resize?$AA@ ; `string'
;	COMDAT ??_C@_0BN@EJFFMHPO@SimpleVecClass?$DMbool?$DO?3?3Resize?$AA@
CONST	SEGMENT
??_C@_0BN@EJFFMHPO@SimpleVecClass?$DMbool?$DO?3?3Resize?$AA@ DB 'SimpleVe'
	DB	'cClass<bool>::Resize', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Resize@?$SimpleVecClass@_N@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Resize@?$SimpleVecClass@_N@@UAE_NH@Z PROC		; SimpleVecClass<bool>::Resize, COMDAT
; _this$ = ecx

; 197  : 	{

	push	esi
	push	edi

; 198  : 		T *vec;
; 199  : 		if (VectorMax == newsize)

	mov	edi, DWORD PTR _newsize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi

; 200  : 		{
; 201  : 			return true;

	je	$LN1@Resize@4

; 202  : 		}
; 203  : 		if (newsize > 0)

	test	edi, edi
	jle	SHORT $LN5@Resize@4
	push	ebx

; 204  : 		{
; 205  : 			vec = new T[newsize];

	push	OFFSET ??_C@_0BN@EJFFMHPO@SimpleVecClass?$DMbool?$DO?3?3Resize?$AA@
	push	205					; 000000cdH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	edi
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 206  : #ifdef _MEMTRACK
; 207  : 			log("[I] SimpleVecClass allocate from 0x%08X",_ReturnAddress());

	mov	eax, DWORD PTR __$ReturnAddr$[esp+24]
	push	eax
	push	OFFSET ??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@
	call	?log@@YAXPBDZZ				; log

; 208  : #endif
; 209  : 			if (Vector)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 24					; 00000018H
	test	eax, eax
	je	SHORT $LN4@Resize@4

; 210  : 			{
; 211  : 				int count = VectorMax;

	mov	ecx, DWORD PTR [esi+8]

; 212  : 				if (newsize < count)

	cmp	edi, ecx
	jge	SHORT $LN3@Resize@4

; 213  : 				{
; 214  : 					count = newsize;

	mov	ecx, edi
$LN3@Resize@4:

; 215  : 				}
; 216  : 				memcpy(vec,Vector,count*sizeof(T));

	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 217  : 				delete[] Vector;

	push	OFFSET ??_C@_0BN@EJFFMHPO@SimpleVecClass?$DMbool?$DO?3?3Resize?$AA@
	push	217					; 000000d9H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+4]
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH

; 218  : 				Vector = 0;

	mov	DWORD PTR [esi+4], 0
$LN4@Resize@4:

; 219  : 			}
; 220  : 			Vector = vec;

	mov	DWORD PTR [esi+4], ebx
	pop	ebx

; 221  : 			VectorMax = newsize;

	mov	DWORD PTR [esi+8], edi
	pop	edi

; 230  : 			}
; 231  : 		}
; 232  : 		return true;

	mov	al, 1
	pop	esi

; 233  : 	}

	ret	4
$LN5@Resize@4:

; 222  : 		}
; 223  : 		else
; 224  : 		{
; 225  : 			VectorMax = 0;
; 226  : 			if (Vector)

	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi+8], 0
	je	SHORT $LN1@Resize@4

; 227  : 			{
; 228  : 				delete[] Vector;

	push	OFFSET ??_C@_0BN@EJFFMHPO@SimpleVecClass?$DMbool?$DO?3?3Resize?$AA@
	push	228					; 000000e4H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 229  : 				Vector = 0;

	mov	DWORD PTR [esi+4], 0
$LN1@Resize@4:
	pop	edi

; 230  : 			}
; 231  : 		}
; 232  : 		return true;

	mov	al, 1
	pop	esi

; 233  : 	}

	ret	4
?Resize@?$SimpleVecClass@_N@@UAE_NH@Z ENDP		; SimpleVecClass<bool>::Resize
_TEXT	ENDS
PUBLIC	??_7?$ScriptRegistrant@VSH_ConsoleCommand@@@@6B@ ; ScriptRegistrant<SH_ConsoleCommand>::`vftable'
PUBLIC	??0?$ScriptRegistrant@VSH_ConsoleCommand@@@@QAE@PAD0@Z ; ScriptRegistrant<SH_ConsoleCommand>::ScriptRegistrant<SH_ConsoleCommand>
PUBLIC	??_R4?$ScriptRegistrant@VSH_ConsoleCommand@@@@6B@ ; ScriptRegistrant<SH_ConsoleCommand>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$ScriptRegistrant@VSH_ConsoleCommand@@@@@8 ; ScriptRegistrant<SH_ConsoleCommand> `RTTI Type Descriptor'
PUBLIC	??_R3?$ScriptRegistrant@VSH_ConsoleCommand@@@@8	; ScriptRegistrant<SH_ConsoleCommand>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$ScriptRegistrant@VSH_ConsoleCommand@@@@8	; ScriptRegistrant<SH_ConsoleCommand>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$ScriptRegistrant@VSH_ConsoleCommand@@@@8 ; ScriptRegistrant<SH_ConsoleCommand>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@ScriptFactory@@8			; ScriptFactory::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVScriptFactory@@@8			; ScriptFactory `RTTI Type Descriptor'
PUBLIC	??_R3ScriptFactory@@8				; ScriptFactory::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ScriptFactory@@8				; ScriptFactory::`RTTI Base Class Array'
PUBLIC	?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<SH_ConsoleCommand>::Create
EXTRN	??0ScriptFactory@@QAE@PAD0@Z:PROC		; ScriptFactory::ScriptFactory
EXTRN	??_E?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAXI@Z:PROC ; ScriptRegistrant<SH_ConsoleCommand>::`vector deleting destructor'
;	COMDAT ??_R2ScriptFactory@@8
; File d:\source code\stgm\scripts.h
rdata$r	SEGMENT
??_R2ScriptFactory@@8 DD FLAT:??_R1A@?0A@EA@ScriptFactory@@8 ; ScriptFactory::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3ScriptFactory@@8
rdata$r	SEGMENT
??_R3ScriptFactory@@8 DD 00H				; ScriptFactory::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVScriptFactory@@@8
_DATA	SEGMENT
??_R0?AVScriptFactory@@@8 DD FLAT:??_7type_info@@6B@	; ScriptFactory `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVScriptFactory@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@ScriptFactory@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ScriptFactory@@8 DD FLAT:??_R0?AVScriptFactory@@@8 ; ScriptFactory::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@?$ScriptRegistrant@VSH_ConsoleCommand@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$ScriptRegistrant@VSH_ConsoleCommand@@@@8 DD FLAT:??_R0?AV?$ScriptRegistrant@VSH_ConsoleCommand@@@@@8 ; ScriptRegistrant<SH_ConsoleCommand>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$ScriptRegistrant@VSH_ConsoleCommand@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$ScriptRegistrant@VSH_ConsoleCommand@@@@8
rdata$r	SEGMENT
??_R2?$ScriptRegistrant@VSH_ConsoleCommand@@@@8 DD FLAT:??_R1A@?0A@EA@?$ScriptRegistrant@VSH_ConsoleCommand@@@@8 ; ScriptRegistrant<SH_ConsoleCommand>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$ScriptRegistrant@VSH_ConsoleCommand@@@@8
rdata$r	SEGMENT
??_R3?$ScriptRegistrant@VSH_ConsoleCommand@@@@8 DD 00H	; ScriptRegistrant<SH_ConsoleCommand>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$ScriptRegistrant@VSH_ConsoleCommand@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$ScriptRegistrant@VSH_ConsoleCommand@@@@@8
_DATA	SEGMENT
??_R0?AV?$ScriptRegistrant@VSH_ConsoleCommand@@@@@8 DD FLAT:??_7type_info@@6B@ ; ScriptRegistrant<SH_ConsoleCommand> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$ScriptRegistrant@VSH_ConsoleCommand@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$ScriptRegistrant@VSH_ConsoleCommand@@@@6B@
rdata$r	SEGMENT
??_R4?$ScriptRegistrant@VSH_ConsoleCommand@@@@6B@ DD 00H ; ScriptRegistrant<SH_ConsoleCommand>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$ScriptRegistrant@VSH_ConsoleCommand@@@@@8
	DD	FLAT:??_R3?$ScriptRegistrant@VSH_ConsoleCommand@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VSH_ConsoleCommand@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VSH_ConsoleCommand@@@@6B@ DD FLAT:??_R4?$ScriptRegistrant@VSH_ConsoleCommand@@@@6B@ ; ScriptRegistrant<SH_ConsoleCommand>::`vftable'
	DD	FLAT:??_E?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VSH_ConsoleCommand@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VSH_ConsoleCommand@@@@QAE@PAD0@Z PROC ; ScriptRegistrant<SH_ConsoleCommand>::ScriptRegistrant<SH_ConsoleCommand>, COMDAT
; _this$ = ecx

; 481  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$ScriptRegistrant@VSH_ConsoleCommand@@@@6B@

; 482  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VSH_ConsoleCommand@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<SH_ConsoleCommand>::ScriptRegistrant<SH_ConsoleCommand>
_TEXT	ENDS
PUBLIC	?SetFactory@ScriptImpClass@@QAEXPAVScriptFactory@@@Z ; ScriptImpClass::SetFactory
; Function compile flags: /Ogtpy
;	COMDAT ?SetFactory@ScriptImpClass@@QAEXPAVScriptFactory@@@Z
_TEXT	SEGMENT
_ptr$ = 8						; size = 4
?SetFactory@ScriptImpClass@@QAEXPAVScriptFactory@@@Z PROC ; ScriptImpClass::SetFactory, COMDAT
; _this$ = ecx

; 145  : 		Factory = ptr;

	mov	eax, DWORD PTR _ptr$[esp-4]
	mov	DWORD PTR [ecx+20], eax

; 146  : 	}

	ret	4
?SetFactory@ScriptImpClass@@QAEXPAVScriptFactory@@@Z ENDP ; ScriptImpClass::SetFactory
_TEXT	ENDS
PUBLIC	??_7?$ScriptRegistrant@VSH_PCT_Powerup@@@@6B@	; ScriptRegistrant<SH_PCT_Powerup>::`vftable'
PUBLIC	??0?$ScriptRegistrant@VSH_PCT_Powerup@@@@QAE@PAD0@Z ; ScriptRegistrant<SH_PCT_Powerup>::ScriptRegistrant<SH_PCT_Powerup>
PUBLIC	??_R4?$ScriptRegistrant@VSH_PCT_Powerup@@@@6B@	; ScriptRegistrant<SH_PCT_Powerup>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$ScriptRegistrant@VSH_PCT_Powerup@@@@@8 ; ScriptRegistrant<SH_PCT_Powerup> `RTTI Type Descriptor'
PUBLIC	??_R3?$ScriptRegistrant@VSH_PCT_Powerup@@@@8	; ScriptRegistrant<SH_PCT_Powerup>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$ScriptRegistrant@VSH_PCT_Powerup@@@@8	; ScriptRegistrant<SH_PCT_Powerup>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$ScriptRegistrant@VSH_PCT_Powerup@@@@8 ; ScriptRegistrant<SH_PCT_Powerup>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<SH_PCT_Powerup>::Create
EXTRN	??_E?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAXI@Z:PROC ; ScriptRegistrant<SH_PCT_Powerup>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$ScriptRegistrant@VSH_PCT_Powerup@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$ScriptRegistrant@VSH_PCT_Powerup@@@@8 DD FLAT:??_R0?AV?$ScriptRegistrant@VSH_PCT_Powerup@@@@@8 ; ScriptRegistrant<SH_PCT_Powerup>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$ScriptRegistrant@VSH_PCT_Powerup@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$ScriptRegistrant@VSH_PCT_Powerup@@@@8
rdata$r	SEGMENT
??_R2?$ScriptRegistrant@VSH_PCT_Powerup@@@@8 DD FLAT:??_R1A@?0A@EA@?$ScriptRegistrant@VSH_PCT_Powerup@@@@8 ; ScriptRegistrant<SH_PCT_Powerup>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$ScriptRegistrant@VSH_PCT_Powerup@@@@8
rdata$r	SEGMENT
??_R3?$ScriptRegistrant@VSH_PCT_Powerup@@@@8 DD 00H	; ScriptRegistrant<SH_PCT_Powerup>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$ScriptRegistrant@VSH_PCT_Powerup@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$ScriptRegistrant@VSH_PCT_Powerup@@@@@8
_DATA	SEGMENT
??_R0?AV?$ScriptRegistrant@VSH_PCT_Powerup@@@@@8 DD FLAT:??_7type_info@@6B@ ; ScriptRegistrant<SH_PCT_Powerup> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$ScriptRegistrant@VSH_PCT_Powerup@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$ScriptRegistrant@VSH_PCT_Powerup@@@@6B@
rdata$r	SEGMENT
??_R4?$ScriptRegistrant@VSH_PCT_Powerup@@@@6B@ DD 00H	; ScriptRegistrant<SH_PCT_Powerup>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$ScriptRegistrant@VSH_PCT_Powerup@@@@@8
	DD	FLAT:??_R3?$ScriptRegistrant@VSH_PCT_Powerup@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VSH_PCT_Powerup@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VSH_PCT_Powerup@@@@6B@ DD FLAT:??_R4?$ScriptRegistrant@VSH_PCT_Powerup@@@@6B@ ; ScriptRegistrant<SH_PCT_Powerup>::`vftable'
	DD	FLAT:??_E?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VSH_PCT_Powerup@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VSH_PCT_Powerup@@@@QAE@PAD0@Z PROC ; ScriptRegistrant<SH_PCT_Powerup>::ScriptRegistrant<SH_PCT_Powerup>, COMDAT
; _this$ = ecx

; 481  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$ScriptRegistrant@VSH_PCT_Powerup@@@@6B@

; 482  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VSH_PCT_Powerup@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<SH_PCT_Powerup>::ScriptRegistrant<SH_PCT_Powerup>
_TEXT	ENDS
PUBLIC	??_7?$ScriptRegistrant@VSH_PCT_Custom@@@@6B@	; ScriptRegistrant<SH_PCT_Custom>::`vftable'
PUBLIC	??0?$ScriptRegistrant@VSH_PCT_Custom@@@@QAE@PAD0@Z ; ScriptRegistrant<SH_PCT_Custom>::ScriptRegistrant<SH_PCT_Custom>
PUBLIC	??_R4?$ScriptRegistrant@VSH_PCT_Custom@@@@6B@	; ScriptRegistrant<SH_PCT_Custom>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$ScriptRegistrant@VSH_PCT_Custom@@@@@8	; ScriptRegistrant<SH_PCT_Custom> `RTTI Type Descriptor'
PUBLIC	??_R3?$ScriptRegistrant@VSH_PCT_Custom@@@@8	; ScriptRegistrant<SH_PCT_Custom>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$ScriptRegistrant@VSH_PCT_Custom@@@@8	; ScriptRegistrant<SH_PCT_Custom>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$ScriptRegistrant@VSH_PCT_Custom@@@@8 ; ScriptRegistrant<SH_PCT_Custom>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<SH_PCT_Custom>::Create
EXTRN	??_E?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAXI@Z:PROC ; ScriptRegistrant<SH_PCT_Custom>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$ScriptRegistrant@VSH_PCT_Custom@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$ScriptRegistrant@VSH_PCT_Custom@@@@8 DD FLAT:??_R0?AV?$ScriptRegistrant@VSH_PCT_Custom@@@@@8 ; ScriptRegistrant<SH_PCT_Custom>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$ScriptRegistrant@VSH_PCT_Custom@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$ScriptRegistrant@VSH_PCT_Custom@@@@8
rdata$r	SEGMENT
??_R2?$ScriptRegistrant@VSH_PCT_Custom@@@@8 DD FLAT:??_R1A@?0A@EA@?$ScriptRegistrant@VSH_PCT_Custom@@@@8 ; ScriptRegistrant<SH_PCT_Custom>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$ScriptRegistrant@VSH_PCT_Custom@@@@8
rdata$r	SEGMENT
??_R3?$ScriptRegistrant@VSH_PCT_Custom@@@@8 DD 00H	; ScriptRegistrant<SH_PCT_Custom>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$ScriptRegistrant@VSH_PCT_Custom@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$ScriptRegistrant@VSH_PCT_Custom@@@@@8
_DATA	SEGMENT
??_R0?AV?$ScriptRegistrant@VSH_PCT_Custom@@@@@8 DD FLAT:??_7type_info@@6B@ ; ScriptRegistrant<SH_PCT_Custom> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$ScriptRegistrant@VSH_PCT_Custom@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$ScriptRegistrant@VSH_PCT_Custom@@@@6B@
rdata$r	SEGMENT
??_R4?$ScriptRegistrant@VSH_PCT_Custom@@@@6B@ DD 00H	; ScriptRegistrant<SH_PCT_Custom>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$ScriptRegistrant@VSH_PCT_Custom@@@@@8
	DD	FLAT:??_R3?$ScriptRegistrant@VSH_PCT_Custom@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VSH_PCT_Custom@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VSH_PCT_Custom@@@@6B@ DD FLAT:??_R4?$ScriptRegistrant@VSH_PCT_Custom@@@@6B@ ; ScriptRegistrant<SH_PCT_Custom>::`vftable'
	DD	FLAT:??_E?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VSH_PCT_Custom@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VSH_PCT_Custom@@@@QAE@PAD0@Z PROC	; ScriptRegistrant<SH_PCT_Custom>::ScriptRegistrant<SH_PCT_Custom>, COMDAT
; _this$ = ecx

; 481  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$ScriptRegistrant@VSH_PCT_Custom@@@@6B@

; 482  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VSH_PCT_Custom@@@@QAE@PAD0@Z ENDP	; ScriptRegistrant<SH_PCT_Custom>::ScriptRegistrant<SH_PCT_Custom>
_TEXT	ENDS
PUBLIC	??_7?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@6B@ ; ScriptRegistrant<SH_Spawn_Difficulty>::`vftable'
PUBLIC	??0?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@QAE@PAD0@Z ; ScriptRegistrant<SH_Spawn_Difficulty>::ScriptRegistrant<SH_Spawn_Difficulty>
PUBLIC	??_R4?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@6B@ ; ScriptRegistrant<SH_Spawn_Difficulty>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@@8 ; ScriptRegistrant<SH_Spawn_Difficulty> `RTTI Type Descriptor'
PUBLIC	??_R3?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8 ; ScriptRegistrant<SH_Spawn_Difficulty>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8 ; ScriptRegistrant<SH_Spawn_Difficulty>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8 ; ScriptRegistrant<SH_Spawn_Difficulty>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<SH_Spawn_Difficulty>::Create
EXTRN	??_E?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAXI@Z:PROC ; ScriptRegistrant<SH_Spawn_Difficulty>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8 DD FLAT:??_R0?AV?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@@8 ; ScriptRegistrant<SH_Spawn_Difficulty>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8
rdata$r	SEGMENT
??_R2?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8 DD FLAT:??_R1A@?0A@EA@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8 ; ScriptRegistrant<SH_Spawn_Difficulty>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8
rdata$r	SEGMENT
??_R3?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8 DD 00H ; ScriptRegistrant<SH_Spawn_Difficulty>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@@8
_DATA	SEGMENT
??_R0?AV?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@@8 DD FLAT:??_7type_info@@6B@ ; ScriptRegistrant<SH_Spawn_Difficulty> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@6B@
rdata$r	SEGMENT
??_R4?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@6B@ DD 00H ; ScriptRegistrant<SH_Spawn_Difficulty>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@@8
	DD	FLAT:??_R3?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@6B@ DD FLAT:??_R4?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@6B@ ; ScriptRegistrant<SH_Spawn_Difficulty>::`vftable'
	DD	FLAT:??_E?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@QAE@PAD0@Z PROC ; ScriptRegistrant<SH_Spawn_Difficulty>::ScriptRegistrant<SH_Spawn_Difficulty>, COMDAT
; _this$ = ecx

; 481  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@6B@

; 482  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<SH_Spawn_Difficulty>::ScriptRegistrant<SH_Spawn_Difficulty>
_TEXT	ENDS
PUBLIC	??_7?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@6B@ ; ScriptRegistrant<SH_FileVerificationControllerScript>::`vftable'
PUBLIC	??0?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@QAE@PAD0@Z ; ScriptRegistrant<SH_FileVerificationControllerScript>::ScriptRegistrant<SH_FileVerificationControllerScript>
PUBLIC	??_R4?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@6B@ ; ScriptRegistrant<SH_FileVerificationControllerScript>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@@8 ; ScriptRegistrant<SH_FileVerificationControllerScript> `RTTI Type Descriptor'
PUBLIC	??_R3?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8 ; ScriptRegistrant<SH_FileVerificationControllerScript>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8 ; ScriptRegistrant<SH_FileVerificationControllerScript>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8 ; ScriptRegistrant<SH_FileVerificationControllerScript>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<SH_FileVerificationControllerScript>::Create
EXTRN	??_E?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAXI@Z:PROC ; ScriptRegistrant<SH_FileVerificationControllerScript>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8 DD FLAT:??_R0?AV?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@@8 ; ScriptRegistrant<SH_FileVerificationControllerScript>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8
rdata$r	SEGMENT
??_R2?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8 DD FLAT:??_R1A@?0A@EA@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8 ; ScriptRegistrant<SH_FileVerificationControllerScript>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8
rdata$r	SEGMENT
??_R3?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8 DD 00H ; ScriptRegistrant<SH_FileVerificationControllerScript>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@@8
_DATA	SEGMENT
??_R0?AV?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@@8 DD FLAT:??_7type_info@@6B@ ; ScriptRegistrant<SH_FileVerificationControllerScript> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$ScriptRegistrant@VSH_FileVerificationControllerScr'
	DB	'ipt@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@6B@
rdata$r	SEGMENT
??_R4?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@6B@ DD 00H ; ScriptRegistrant<SH_FileVerificationControllerScript>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@@8
	DD	FLAT:??_R3?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@6B@ DD FLAT:??_R4?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@6B@ ; ScriptRegistrant<SH_FileVerificationControllerScript>::`vftable'
	DD	FLAT:??_E?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@QAE@PAD0@Z PROC ; ScriptRegistrant<SH_FileVerificationControllerScript>::ScriptRegistrant<SH_FileVerificationControllerScript>, COMDAT
; _this$ = ecx

; 481  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@6B@

; 482  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<SH_FileVerificationControllerScript>::ScriptRegistrant<SH_FileVerificationControllerScript>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0bad_alloc@std@@QAE@ABV01@@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx
	mov	eax, DWORD PTR ___that$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABV01@@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0bad_alloc@std@@QAE@ABV01@@Z ENDP			; std::bad_alloc::bad_alloc
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleVecClass@H@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleVecClass@H@@UAEPAXI@Z PROC			; SimpleVecClass<int>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@H@@6B@
	je	SHORT $LN4@scalar@3
	push	OFFSET ??_C@_0CF@NBIGPHOP@SimpleVecClass?$DMint?$DO?3?3?$HOSimpleVecC@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi+8], 0
$LN4@scalar@3:
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN9@scalar@3
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN9@scalar@3:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleVecClass@H@@UAEPAXI@Z ENDP			; SimpleVecClass<int>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleVecClass@K@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleVecClass@K@@UAEPAXI@Z PROC			; SimpleVecClass<unsigned long>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@K@@6B@
	je	SHORT $LN4@scalar@4
	push	OFFSET ??_C@_0CP@OABAKABK@SimpleVecClass?$DMunsigned?5long?$DO?3?3?$HO@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi+8], 0
$LN4@scalar@4:
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN9@scalar@4
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN9@scalar@4:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleVecClass@K@@UAEPAXI@Z ENDP			; SimpleVecClass<unsigned long>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAEPAXI@Z PROC ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@
	je	SHORT $LN4@scalar@5
	push	OFFSET ??_C@_0FH@FDFBJJHF@SimpleVecClass?$DMstruct?5FileVerifi@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi+8], 0
$LN4@scalar@5:
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN9@scalar@5
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN9@scalar@5:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAEPAXI@Z ENDP ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleVecClass@_N@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleVecClass@_N@@UAEPAXI@Z PROC			; SimpleVecClass<bool>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@_N@@6B@
	je	SHORT $LN4@scalar@6
	push	OFFSET ??_C@_0CG@NMAJMNDK@SimpleVecClass?$DMbool?$DO?3?3?$HOSimpleVec@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi+8], 0
$LN4@scalar@6:
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN9@scalar@6
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN9@scalar@6:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleVecClass@_N@@UAEPAXI@Z ENDP			; SimpleVecClass<bool>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SH_ConsoleCommand>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@7
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@7:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SH_ConsoleCommand>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SH_PCT_Powerup>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@8
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@8:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SH_PCT_Powerup>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAXI@Z PROC	; ScriptRegistrant<SH_PCT_Custom>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@9
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@9:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAXI@Z ENDP	; ScriptRegistrant<SH_PCT_Custom>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SH_Spawn_Difficulty>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@10
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@10:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SH_Spawn_Difficulty>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SH_FileVerificationControllerScript>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@11
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@11:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SH_FileVerificationControllerScript>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ ; std::basic_istream<char,std::char_traits<char> >::`vbase destructor'
; Function compile flags: /Ogtpy
;	COMDAT ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ
_TEXT	SEGMENT
??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ PROC ; std::basic_istream<char,std::char_traits<char> >::`vbase destructor', COMDAT
; _this$ = ecx
	lea	eax, DWORD PTR [ecx+8]
	mov	ecx, DWORD PTR [eax-8]
	mov	edx, DWORD PTR [ecx+4]
	mov	DWORD PTR [edx+eax-8], OFFSET ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@
	push	eax
	mov	DWORD PTR [eax], OFFSET ??_7ios_base@std@@6B@
	call	?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z ; std::ios_base::_Ios_base_dtor
	pop	ecx
	ret	0
??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ ENDP ; std::basic_istream<char,std::char_traits<char> >::`vbase destructor'
_TEXT	ENDS
PUBLIC	?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
;	COMDAT ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ
_TEXT	SEGMENT
?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr, COMDAT
; _this$ = ecx

; 2093 : 		return (_BUF_SIZE <= _Myres ? _Bx._Ptr : _Bx._Buf);

	cmp	DWORD PTR [ecx+28], 16			; 00000010H
	jb	SHORT $LN3@Myptr
	mov	eax, DWORD PTR [ecx+8]

; 2094 : 		}

	ret	0
$LN3@Myptr:

; 2093 : 		return (_BUF_SIZE <= _Myres ? _Bx._Ptr : _Bx._Buf);

	lea	eax, DWORD PTR [ecx+8]

; 2094 : 		}

	ret	0
?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr
_TEXT	ENDS
PUBLIC	??0?$allocator@D@std@@QAE@XZ			; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ??0?$allocator@D@std@@QAE@XZ
_TEXT	SEGMENT
??0?$allocator@D@std@@QAE@XZ PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

; 120  : 	allocator() _THROW0()

	mov	eax, ecx

; 121  : 		{	// construct default allocator (do nothing)
; 122  : 		}

	ret	0
??0?$allocator@D@std@@QAE@XZ ENDP			; std::allocator<char>::allocator<char>
_TEXT	ENDS
PUBLIC	??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_ios<char,std::char_traits<char> >::`vftable'
PUBLIC	??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ ; std::basic_ios<char,std::char_traits<char> >::basic_ios<char,std::char_traits<char> >
PUBLIC	??_R4?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_ios<char,std::char_traits<char> >::`RTTI Complete Object Locator'
EXTRN	??_E?$basic_ios@DU?$char_traits@D@std@@@std@@UAEPAXI@Z:PROC ; std::basic_ios<char,std::char_traits<char> >::`vector deleting destructor'
;	COMDAT ??_R4?$basic_ios@DU?$char_traits@D@std@@@std@@6B@
; File c:\program files\microsoft visual studio 8\vc\include\xiosbase
rdata$r	SEGMENT
??_R4?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ DD 00H ; std::basic_ios<char,std::char_traits<char> >::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$basic_ios@DU?$char_traits@D@std@@@std@@@8
	DD	FLAT:??_R3?$basic_ios@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@
CONST	SEGMENT
??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ DD FLAT:??_R4?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_ios<char,std::char_traits<char> >::`vftable'
	DD	FLAT:??_E?$basic_ios@DU?$char_traits@D@std@@@std@@UAEPAXI@Z
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\ios
CONST	ENDS
;	COMDAT ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ
_TEXT	SEGMENT
??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ PROC	; std::basic_ios<char,std::char_traits<char> >::basic_ios<char,std::char_traits<char> >, COMDAT
; _this$ = ecx

; 146  : 	__CLR_OR_THIS_CALL basic_ios()

	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@

; 147  : 		{	// default constructor, do nothing
; 148  : 		}

	ret	0
??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ ENDP	; std::basic_ios<char,std::char_traits<char> >::basic_ios<char,std::char_traits<char> >
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$basic_ios@DU?$char_traits@D@std@@@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$basic_ios@DU?$char_traits@D@std@@@std@@UAEPAXI@Z PROC ; std::basic_ios<char,std::char_traits<char> >::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	push	esi
	mov	DWORD PTR [esi], OFFSET ??_7ios_base@std@@6B@
	call	?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z ; std::ios_base::_Ios_base_dtor
	add	esp, 4
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN9@scalar@12
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN9@scalar@12:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$basic_ios@DU?$char_traits@D@std@@@std@@UAEPAXI@Z ENDP ; std::basic_ios<char,std::char_traits<char> >::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::pubsync
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
;	COMDAT ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
_TEXT	SEGMENT
?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::pubsync, COMDAT
; _this$ = ecx

; 101  : 		return (sync());

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+48]
	jmp	edx
?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::pubsync
_TEXT	ENDS
PUBLIC	?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Unlock
EXTRN	?_Unlock@_Mutex@std@@QAEXXZ:PROC		; std::_Mutex::_Unlock
; Function compile flags: /Ogtpy
;	COMDAT ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ
_TEXT	SEGMENT
?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Unlock, COMDAT
; _this$ = ecx

; 179  : 		_Mylock._Unlock();

	add	ecx, 4
	jmp	?_Unlock@_Mutex@std@@QAEXXZ		; std::_Mutex::_Unlock
?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Unlock
_TEXT	ENDS
PUBLIC	?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ ; std::basic_streambuf<char,std::char_traits<char> >::gptr
; Function compile flags: /Ogtpy
;	COMDAT ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
_TEXT	SEGMENT
?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::gptr, COMDAT
; _this$ = ecx

; 191  : 		return (*_IGnext);

	mov	eax, DWORD PTR [ecx+32]
	mov	eax, DWORD PTR [eax]

; 192  : 		}

	ret	0
?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::gptr
_TEXT	ENDS
PUBLIC	?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z ; std::basic_streambuf<char,std::char_traits<char> >::setg
; Function compile flags: /Ogtpy
;	COMDAT ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Next$ = 12						; size = 4
__Last$ = 16						; size = 4
?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::setg, COMDAT
; _this$ = ecx

; 217  : 		*_IGfirst = _First;

	mov	eax, DWORD PTR [ecx+16]
	mov	edx, DWORD PTR __First$[esp-4]
	mov	DWORD PTR [eax], edx

; 218  : 		*_IGnext = _Next;

	mov	edx, DWORD PTR [ecx+32]
	mov	eax, DWORD PTR __Next$[esp-4]
	mov	DWORD PTR [edx], eax

; 219  : 		*_IGcount = (int)(_Last - _Next);

	mov	edx, DWORD PTR __Last$[esp-4]
	sub	edx, eax
	mov	eax, DWORD PTR [ecx+48]
	mov	DWORD PTR [eax], edx

; 220  : 		}

	ret	12					; 0000000cH
?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::setg
_TEXT	ENDS
PUBLIC	?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Gninc
; Function compile flags: /Ogtpy
;	COMDAT ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
_TEXT	SEGMENT
?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Gninc, COMDAT
; _this$ = ecx

; 235  : 		--*_IGcount;

	mov	eax, DWORD PTR [ecx+48]
	add	DWORD PTR [eax], -1

; 236  : 		return ((*_IGnext)++);

	mov	ecx, DWORD PTR [ecx+32]
	mov	eax, DWORD PTR [ecx]
	lea	edx, DWORD PTR [eax+1]
	mov	DWORD PTR [ecx], edx

; 237  : 		}

	ret	0
?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Gninc
_TEXT	ENDS
PUBLIC	?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Gnpreinc
; Function compile flags: /Ogtpy
;	COMDAT ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
_TEXT	SEGMENT
?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Gnpreinc, COMDAT
; _this$ = ecx

; 241  : 		--*_IGcount;

	mov	eax, DWORD PTR [ecx+48]
	add	DWORD PTR [eax], -1

; 242  : 		return (++(*_IGnext));

	mov	eax, DWORD PTR [ecx+32]
	add	DWORD PTR [eax], 1
	mov	eax, DWORD PTR [ecx+32]
	mov	eax, DWORD PTR [eax]

; 243  : 		}

	ret	0
?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Gnpreinc
_TEXT	ENDS
PUBLIC	?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Gnavail
; Function compile flags: /Ogtpy
;	COMDAT ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ
_TEXT	SEGMENT
?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Gnavail, COMDAT
; _this$ = ecx

; 247  : 		return (*_IGnext != 0 ? *_IGcount : 0);

	mov	eax, DWORD PTR [ecx+32]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN3@Gnavail
	mov	ecx, DWORD PTR [ecx+48]
	mov	eax, DWORD PTR [ecx]

; 248  : 		}

	ret	0
$LN3@Gnavail:

; 247  : 		return (*_IGnext != 0 ? *_IGcount : 0);

	xor	eax, eax

; 248  : 		}

	ret	0
?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Gnavail
_TEXT	ENDS
PUBLIC	??0?$SimpleVecClass@H@@QAE@I@Z			; SimpleVecClass<int>::SimpleVecClass<int>
; Function compile flags: /Ogtpy
; File d:\source code\stgm\engine_vector.h
;	COMDAT ??0?$SimpleVecClass@H@@QAE@I@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleVecClass@H@@QAE@I@Z PROC			; SimpleVecClass<int>::SimpleVecClass<int>, COMDAT
; _this$ = ecx

; 146  : 	{
; 147  : 		Vector = 0;
; 148  : 		VectorMax = 0;
; 149  : 		if (size > 0)

	mov	eax, DWORD PTR _size$[esp-4]
	push	esi
	mov	esi, ecx
	xor	ecx, ecx
	cmp	eax, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@H@@6B@
	mov	DWORD PTR [esi+4], ecx
	mov	DWORD PTR [esi+8], ecx
	jbe	SHORT $LN4@SimpleVecC@5

; 150  : 		{
; 151  : 			Resize(size);

	push	eax
	mov	ecx, esi
	call	?Resize@?$SimpleVecClass@H@@UAE_NH@Z	; SimpleVecClass<int>::Resize
$LN4@SimpleVecC@5:

; 152  : 		}
; 153  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleVecClass@H@@QAE@I@Z ENDP			; SimpleVecClass<int>::SimpleVecClass<int>
_TEXT	ENDS
PUBLIC	?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ ; std::basic_filebuf<char,std::char_traits<char> >::is_open
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
;	COMDAT ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ
_TEXT	SEGMENT
?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ PROC ; std::basic_filebuf<char,std::char_traits<char> >::is_open, COMDAT
; _this$ = ecx

; 146  : 		return (_Myfile != 0);

	xor	eax, eax
	cmp	DWORD PTR [ecx+76], eax
	setne	al

; 147  : 		}

	ret	0
?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ ENDP ; std::basic_filebuf<char,std::char_traits<char> >::is_open
_TEXT	ENDS
PUBLIC	??0?$SimpleVecClass@K@@QAE@I@Z			; SimpleVecClass<unsigned long>::SimpleVecClass<unsigned long>
; Function compile flags: /Ogtpy
; File d:\source code\stgm\engine_vector.h
;	COMDAT ??0?$SimpleVecClass@K@@QAE@I@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleVecClass@K@@QAE@I@Z PROC			; SimpleVecClass<unsigned long>::SimpleVecClass<unsigned long>, COMDAT
; _this$ = ecx

; 146  : 	{
; 147  : 		Vector = 0;
; 148  : 		VectorMax = 0;
; 149  : 		if (size > 0)

	mov	eax, DWORD PTR _size$[esp-4]
	push	esi
	mov	esi, ecx
	xor	ecx, ecx
	cmp	eax, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@K@@6B@
	mov	DWORD PTR [esi+4], ecx
	mov	DWORD PTR [esi+8], ecx
	jbe	SHORT $LN4@SimpleVecC@6

; 150  : 		{
; 151  : 			Resize(size);

	push	eax
	mov	ecx, esi
	call	?Resize@?$SimpleVecClass@K@@UAE_NH@Z	; SimpleVecClass<unsigned long>::Resize
$LN4@SimpleVecC@6:

; 152  : 		}
; 153  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleVecClass@K@@QAE@I@Z ENDP			; SimpleVecClass<unsigned long>::SimpleVecClass<unsigned long>
_TEXT	ENDS
PUBLIC	??0?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAE@I@Z ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::SimpleVecClass<FileVerificationController::PlayerInfoStruct *>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAE@I@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAE@I@Z PROC ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::SimpleVecClass<FileVerificationController::PlayerInfoStruct *>, COMDAT
; _this$ = ecx

; 146  : 	{
; 147  : 		Vector = 0;
; 148  : 		VectorMax = 0;
; 149  : 		if (size > 0)

	mov	eax, DWORD PTR _size$[esp-4]
	push	esi
	mov	esi, ecx
	xor	ecx, ecx
	cmp	eax, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@
	mov	DWORD PTR [esi+4], ecx
	mov	DWORD PTR [esi+8], ecx
	jbe	SHORT $LN4@SimpleVecC@7

; 150  : 		{
; 151  : 			Resize(size);

	push	eax
	mov	ecx, esi
	call	?Resize@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::Resize
$LN4@SimpleVecC@7:

; 152  : 		}
; 153  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAE@I@Z ENDP ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::SimpleVecClass<FileVerificationController::PlayerInfoStruct *>
_TEXT	ENDS
PUBLIC	??0?$SimpleVecClass@_N@@QAE@I@Z			; SimpleVecClass<bool>::SimpleVecClass<bool>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$SimpleVecClass@_N@@QAE@I@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleVecClass@_N@@QAE@I@Z PROC			; SimpleVecClass<bool>::SimpleVecClass<bool>, COMDAT
; _this$ = ecx

; 146  : 	{
; 147  : 		Vector = 0;
; 148  : 		VectorMax = 0;
; 149  : 		if (size > 0)

	mov	eax, DWORD PTR _size$[esp-4]
	push	esi
	mov	esi, ecx
	xor	ecx, ecx
	cmp	eax, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@_N@@6B@
	mov	DWORD PTR [esi+4], ecx
	mov	DWORD PTR [esi+8], ecx
	jbe	SHORT $LN4@SimpleVecC@8

; 150  : 		{
; 151  : 			Resize(size);

	push	eax
	mov	ecx, esi
	call	?Resize@?$SimpleVecClass@_N@@UAE_NH@Z	; SimpleVecClass<bool>::Resize
$LN4@SimpleVecC@8:

; 152  : 		}
; 153  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleVecClass@_N@@QAE@I@Z ENDP			; SimpleVecClass<bool>::SimpleVecClass<bool>
_TEXT	ENDS
PUBLIC	?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
;	COMDAT ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ
_TEXT	SEGMENT
?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr, COMDAT
; _this$ = ecx

; 2088 : 		return (_BUF_SIZE <= _Myres ? _Bx._Ptr : _Bx._Buf);

	cmp	DWORD PTR [ecx+28], 16			; 00000010H
	jb	SHORT $LN3@Myptr@2
	mov	eax, DWORD PTR [ecx+8]

; 2089 : 		}

	ret	0
$LN3@Myptr@2:

; 2088 : 		return (_BUF_SIZE <= _Myres ? _Bx._Ptr : _Bx._Buf);

	lea	eax, DWORD PTR [ecx+8]

; 2089 : 		}

	ret	0
?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr
_TEXT	ENDS
PUBLIC	??0?$allocator@D@std@@QAE@ABV01@@Z		; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ??0?$allocator@D@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??0?$allocator@D@std@@QAE@ABV01@@Z PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

; 124  : 	allocator(const allocator<_Ty>&) _THROW0()

	mov	eax, ecx

; 125  : 		{	// construct by copying (do nothing)
; 126  : 		}

	ret	4
??0?$allocator@D@std@@QAE@ABV01@@Z ENDP			; std::allocator<char>::allocator<char>
_TEXT	ENDS
PUBLIC	?deallocate@?$allocator@D@std@@QAEXPADI@Z	; std::allocator<char>::deallocate
; Function compile flags: /Ogtpy
;	COMDAT ?deallocate@?$allocator@D@std@@QAEXPADI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@D@std@@QAEXPADI@Z PROC		; std::allocator<char>::deallocate, COMDAT
; _this$ = ecx

; 141  : 		::operator delete(_Ptr);

	mov	eax, DWORD PTR __Ptr$[esp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx

; 142  : 		}

	ret	8
?deallocate@?$allocator@D@std@@QAEXPADI@Z ENDP		; std::allocator<char>::deallocate
_TEXT	ENDS
PUBLIC	?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ ; std::basic_ios<char,std::char_traits<char> >::tie
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\ios
;	COMDAT ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ
_TEXT	SEGMENT
?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ PROC ; std::basic_ios<char,std::char_traits<char> >::tie, COMDAT
; _this$ = ecx

; 73   : 		return (_Tiestr);

	mov	eax, DWORD PTR [ecx+44]

; 74   : 		}

	ret	0
?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ ENDP ; std::basic_ios<char,std::char_traits<char> >::tie
_TEXT	ENDS
PUBLIC	?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Lock
EXTRN	?_Lock@_Mutex@std@@QAEXXZ:PROC			; std::_Mutex::_Lock
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
;	COMDAT ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ
_TEXT	SEGMENT
?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Lock, COMDAT
; _this$ = ecx

; 174  : 		_Mylock._Lock();

	add	ecx, 4
	jmp	?_Lock@_Mutex@std@@QAEXXZ		; std::_Mutex::_Lock
?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Lock
_TEXT	ENDS
PUBLIC	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z ; std::basic_streambuf<char,std::char_traits<char> >::_Init
; Function compile flags: /Ogtpy
;	COMDAT ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z
_TEXT	SEGMENT
__Gf$ = 8						; size = 4
__Gn$ = 12						; size = 4
__Gc$ = 16						; size = 4
__Pf$ = 20						; size = 4
__Pn$ = 24						; size = 4
__Pc$ = 28						; size = 4
?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Init, COMDAT
; _this$ = ecx

; 292  : 		_IGfirst = _Gf, _IPfirst = _Pf;

	mov	eax, DWORD PTR __Gf$[esp-4]
	mov	edx, DWORD PTR __Pf$[esp-4]
	mov	DWORD PTR [ecx+16], eax

; 293  : 		_IGnext = _Gn, _IPnext = _Pn;

	mov	eax, DWORD PTR __Gn$[esp-4]
	mov	DWORD PTR [ecx+20], edx
	mov	edx, DWORD PTR __Pn$[esp-4]
	mov	DWORD PTR [ecx+32], eax

; 294  : 		_IGcount = _Gc, _IPcount = _Pc;

	mov	eax, DWORD PTR __Gc$[esp-4]
	mov	DWORD PTR [ecx+36], edx
	mov	edx, DWORD PTR __Pc$[esp-4]
	mov	DWORD PTR [ecx+48], eax
	mov	DWORD PTR [ecx+52], edx

; 295  : 		}

	ret	24					; 00000018H
?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Init
_TEXT	ENDS
PUBLIC	??_C@_1BO@MEPPHOO@?$AA?$CC?$AAo?$AAu?$AAt?$AA?5?$AAo?$AAf?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$CC?$AA?$AA@ ; `string'
PUBLIC	??_C@_1NA@ICLOEHKI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo?$AAn?$AAs?$AAt?$AA_?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?$DM?$AAc?$AAh?$AAa?$AAr@ ; `string'
PUBLIC	??_C@_1FG@CMLDHNON@?$AA?$CI?$AA?$CC?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAL?$AAi?$AAb?$AAr?$AAa?$AAr?$AAi?$AAe?$AAs?$AA?5?$AAO?$AAu?$AAt?$AA?5?$AAo?$AAf?$AA?5@ ; `string'
PUBLIC	??_C@_1EG@CNCHLAOB@?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAd?$AAe?$AAr?$AAe?$AAf?$AAe?$AAr?$AAe?$AAn?$AAc?$AAa?$AAb@ ; `string'
PUBLIC	??_C@_1HM@PJLEMLGA@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@ ; `string'
PUBLIC	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
EXTRN	__invalid_parameter:PROC
EXTRN	__CrtDbgReportW:PROC
;	COMDAT ??_C@_1BO@MEPPHOO@?$AA?$CC?$AAo?$AAu?$AAt?$AA?5?$AAo?$AAf?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$CC?$AA?$AA@
; File c:\program files\microsoft visual studio 8\vc\include\xstring
CONST	SEGMENT
??_C@_1BO@MEPPHOO@?$AA?$CC?$AAo?$AAu?$AAt?$AA?5?$AAo?$AAf?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$CC?$AA?$AA@ DB '"'
	DB	00H, 'o', 00H, 'u', 00H, 't', 00H, ' ', 00H, 'o', 00H, 'f', 00H
	DB	' ', 00H, 'r', 00H, 'a', 00H, 'n', 00H, 'g', 00H, 'e', 00H, '"'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1NA@ICLOEHKI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo?$AAn?$AAs?$AAt?$AA_?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?$DM?$AAc?$AAh?$AAa?$AAr@
CONST	SEGMENT
??_C@_1NA@ICLOEHKI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo?$AAn?$AAs?$AAt?$AA_?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?$DM?$AAc?$AAh?$AAa?$AAr@ DB 's'
	DB	00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, '_', 00H, 'S', 00H
	DB	't', 00H, 'r', 00H, 'i', 00H, 'n', 00H, 'g', 00H, '_', 00H, 'c'
	DB	00H, 'o', 00H, 'n', 00H, 's', 00H, 't', 00H, '_', 00H, 'i', 00H
	DB	't', 00H, 'e', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'o', 00H, 'r'
	DB	00H, '<', 00H, 'c', 00H, 'h', 00H, 'a', 00H, 'r', 00H, ',', 00H
	DB	's', 00H, 't', 00H, 'r', 00H, 'u', 00H, 'c', 00H, 't', 00H, ' '
	DB	00H, 's', 00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, 'c', 00H
	DB	'h', 00H, 'a', 00H, 'r', 00H, '_', 00H, 't', 00H, 'r', 00H, 'a'
	DB	00H, 'i', 00H, 't', 00H, 's', 00H, '<', 00H, 'c', 00H, 'h', 00H
	DB	'a', 00H, 'r', 00H, '>', 00H, ',', 00H, 'c', 00H, 'l', 00H, 'a'
	DB	00H, 's', 00H, 's', 00H, ' ', 00H, 's', 00H, 't', 00H, 'd', 00H
	DB	':', 00H, ':', 00H, 'a', 00H, 'l', 00H, 'l', 00H, 'o', 00H, 'c'
	DB	00H, 'a', 00H, 't', 00H, 'o', 00H, 'r', 00H, '<', 00H, 'c', 00H
	DB	'h', 00H, 'a', 00H, 'r', 00H, '>', 00H, ' ', 00H, '>', 00H, ':'
	DB	00H, ':', 00H, 'o', 00H, 'p', 00H, 'e', 00H, 'r', 00H, 'a', 00H
	DB	't', 00H, 'o', 00H, 'r', 00H, ' ', 00H, '*', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1FG@CMLDHNON@?$AA?$CI?$AA?$CC?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAL?$AAi?$AAb?$AAr?$AAa?$AAr?$AAi?$AAe?$AAs?$AA?5?$AAO?$AAu?$AAt?$AA?5?$AAo?$AAf?$AA?5@
CONST	SEGMENT
??_C@_1FG@CMLDHNON@?$AA?$CI?$AA?$CC?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAL?$AAi?$AAb?$AAr?$AAa?$AAr?$AAi?$AAe?$AAs?$AA?5?$AAO?$AAu?$AAt?$AA?5?$AAo?$AAf?$AA?5@ DB '('
	DB	00H, '"', 00H, 'S', 00H, 't', 00H, 'a', 00H, 'n', 00H, 'd', 00H
	DB	'a', 00H, 'r', 00H, 'd', 00H, ' ', 00H, 'C', 00H, '+', 00H, '+'
	DB	00H, ' ', 00H, 'L', 00H, 'i', 00H, 'b', 00H, 'r', 00H, 'a', 00H
	DB	'r', 00H, 'i', 00H, 'e', 00H, 's', 00H, ' ', 00H, 'O', 00H, 'u'
	DB	00H, 't', 00H, ' ', 00H, 'o', 00H, 'f', 00H, ' ', 00H, 'R', 00H
	DB	'a', 00H, 'n', 00H, 'g', 00H, 'e', 00H, '"', 00H, ',', 00H, ' '
	DB	00H, '0', 00H, ')', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1EG@CNCHLAOB@?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAd?$AAe?$AAr?$AAe?$AAf?$AAe?$AAr?$AAe?$AAn?$AAc?$AAa?$AAb@
CONST	SEGMENT
??_C@_1EG@CNCHLAOB@?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAd?$AAe?$AAr?$AAe?$AAf?$AAe?$AAr?$AAe?$AAn?$AAc?$AAa?$AAb@ DB 's'
	DB	00H, 't', 00H, 'r', 00H, 'i', 00H, 'n', 00H, 'g', 00H, ' ', 00H
	DB	'i', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'o'
	DB	00H, 'r', 00H, ' ', 00H, 'n', 00H, 'o', 00H, 't', 00H, ' ', 00H
	DB	'd', 00H, 'e', 00H, 'r', 00H, 'e', 00H, 'f', 00H, 'e', 00H, 'r'
	DB	00H, 'e', 00H, 'n', 00H, 'c', 00H, 'a', 00H, 'b', 00H, 'l', 00H
	DB	'e', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1HM@PJLEMLGA@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
CONST	SEGMENT
??_C@_1HM@PJLEMLGA@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@ DB 'C'
	DB	00H, ':', 00H, '\', 00H, 'P', 00H, 'r', 00H, 'o', 00H, 'g', 00H
	DB	'r', 00H, 'a', 00H, 'm', 00H, ' ', 00H, 'F', 00H, 'i', 00H, 'l'
	DB	00H, 'e', 00H, 's', 00H, '\', 00H, 'M', 00H, 'i', 00H, 'c', 00H
	DB	'r', 00H, 'o', 00H, 's', 00H, 'o', 00H, 'f', 00H, 't', 00H, ' '
	DB	00H, 'V', 00H, 'i', 00H, 's', 00H, 'u', 00H, 'a', 00H, 'l', 00H
	DB	' ', 00H, 'S', 00H, 't', 00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o'
	DB	00H, ' ', 00H, '8', 00H, '\', 00H, 'V', 00H, 'C', 00H, '\', 00H
	DB	'i', 00H, 'n', 00H, 'c', 00H, 'l', 00H, 'u', 00H, 'd', 00H, 'e'
	DB	00H, '\', 00H, 'x', 00H, 's', 00H, 't', 00H, 'r', 00H, 'i', 00H
	DB	'n', 00H, 'g', 00H, 00H, 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ
_TEXT	SEGMENT
??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ PROC ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*, COMDAT
; _this$ = ecx

; 103  : 		{	// return designated object

	push	esi
	mov	esi, ecx

; 104  : 
; 105  :  #if _HAS_ITERATOR_DEBUGGING
; 106  : 		if (this->_Mycont == 0 || _Myptr == 0
; 107  : 			|| _Myptr < ((_Mystring *)this->_Mycont)->_Myptr()
; 108  : 			|| ((_Mystring *)this->_Mycont)->_Myptr()
; 109  : 				+ ((_Mystring *)this->_Mycont)->_Mysize <= _Myptr)

	mov	eax, DWORD PTR [esi]
	test	eax, eax
	je	SHORT $LN1@operator@2
	mov	edx, DWORD PTR [esi+8]
	test	edx, edx
	je	SHORT $LN1@operator@2
	cmp	DWORD PTR [eax+28], 16			; 00000010H
	jb	SHORT $LN8@operator@2
	mov	ecx, DWORD PTR [eax+8]
	jmp	SHORT $LN9@operator@2
$LN8@operator@2:
	lea	ecx, DWORD PTR [eax+8]
$LN9@operator@2:
	cmp	edx, ecx
	jb	SHORT $LN1@operator@2
	cmp	DWORD PTR [eax+28], 16			; 00000010H
	jb	SHORT $LN12@operator@2
	mov	ecx, DWORD PTR [eax+8]
	jmp	SHORT $LN13@operator@2
$LN12@operator@2:
	lea	ecx, DWORD PTR [eax+8]
$LN13@operator@2:
	mov	eax, DWORD PTR [eax+24]
	add	eax, ecx
	cmp	eax, edx
	ja	SHORT $LN14@operator@2
$LN1@operator@2:

; 110  : 			{
; 111  : 			_DEBUG_ERROR("string iterator not dereferencable");

	push	111					; 0000006fH
	push	OFFSET ??_C@_1HM@PJLEMLGA@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1EG@CNCHLAOB@?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAd?$AAe?$AAr?$AAe?$AAf?$AAe?$AAr?$AAe?$AAn?$AAc?$AAa?$AAb@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message

; 112  : 			_SCL_SECURE_OUT_OF_RANGE;

	push	OFFSET ??_C@_1FG@CMLDHNON@?$AA?$CI?$AA?$CC?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAL?$AAi?$AAb?$AAr?$AAa?$AAr?$AAi?$AAe?$AAs?$AA?5?$AAO?$AAu?$AAt?$AA?5?$AAo?$AAf?$AA?5@
	push	0
	push	112					; 00000070H
	push	OFFSET ??_C@_1HM@PJLEMLGA@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	2
	call	__CrtDbgReportW
	add	esp, 32					; 00000020H
	cmp	eax, 1
	jne	SHORT $LN5@operator@2
	int	3
$LN5@operator@2:
	push	0
	push	112					; 00000070H
	push	OFFSET ??_C@_1HM@PJLEMLGA@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1NA@ICLOEHKI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo?$AAn?$AAs?$AAt?$AA_?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?$DM?$AAc?$AAh?$AAa?$AAr@
	push	OFFSET ??_C@_1BO@MEPPHOO@?$AA?$CC?$AAo?$AAu?$AAt?$AA?5?$AAo?$AAf?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$CC?$AA?$AA@
	call	__invalid_parameter

; 113  : 			}
; 114  : 		__analysis_assume(_Myptr != 0);
; 115  :  #else
; 116  : 		if (this->_Mycont != _IGNORE_MYCONT)
; 117  : 		{
; 118  : 			_SCL_SECURE_VALIDATE(this->_Mycont != NULL);
; 119  : 			_SCL_SECURE_VALIDATE_RANGE(_Myptr < (((_Mystring *)this->_Mycont)->_Myptr() + ((_Mystring *)(this->_Mycont))->_Mysize));
; 120  : 		}
; 121  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 122  : 
; 123  : 		return (*_Myptr);

	mov	eax, DWORD PTR [esi+8]
	add	esp, 20					; 00000014H
	pop	esi

; 124  : 		}

	ret	0
$LN14@operator@2:

; 113  : 			}
; 114  : 		__analysis_assume(_Myptr != 0);
; 115  :  #else
; 116  : 		if (this->_Mycont != _IGNORE_MYCONT)
; 117  : 		{
; 118  : 			_SCL_SECURE_VALIDATE(this->_Mycont != NULL);
; 119  : 			_SCL_SECURE_VALIDATE_RANGE(_Myptr < (((_Mystring *)this->_Mycont)->_Myptr() + ((_Mystring *)(this->_Mycont))->_Mysize));
; 120  : 		}
; 121  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 122  : 
; 123  : 		return (*_Myptr);

	mov	eax, edx
	pop	esi

; 124  : 		}

	ret	0
??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ENDP ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
_TEXT	ENDS
PUBLIC	?unshift@?$codecvt@DDH@std@@QBEHAAHPAD1AAPAD@Z	; std::codecvt<char,char,int>::unshift
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
;	COMDAT ?unshift@?$codecvt@DDH@std@@QBEHAAHPAD1AAPAD@Z
_TEXT	SEGMENT
__State$ = 8						; size = 4
__First2$ = 12						; size = 4
__Last2$ = 16						; size = 4
__Mid2$ = 20						; size = 4
?unshift@?$codecvt@DDH@std@@QBEHAAHPAD1AAPAD@Z PROC	; std::codecvt<char,char,int>::unshift, COMDAT
; _this$ = ecx

; 733  : 		return (do_unshift(_State, _First2, _Last2, _Mid2));

	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+24]
	jmp	eax
?unshift@?$codecvt@DDH@std@@QBEHAAHPAD1AAPAD@Z ENDP	; std::codecvt<char,char,int>::unshift
_TEXT	ENDS
PUBLIC	?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z ; std::basic_streambuf<char,std::char_traits<char> >::setp
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
;	COMDAT ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::setp, COMDAT
; _this$ = ecx

; 258  : 		*_IPfirst = _First;

	mov	edx, DWORD PTR [ecx+20]
	mov	eax, DWORD PTR __First$[esp-4]
	mov	DWORD PTR [edx], eax

; 259  : 		*_IPnext = _First;

	mov	edx, DWORD PTR [ecx+36]
	mov	DWORD PTR [edx], eax

; 260  : 		*_IPcount = (int)(_Last - _First);

	mov	edx, DWORD PTR __Last$[esp-4]
	sub	edx, eax
	mov	eax, DWORD PTR [ecx+52]
	mov	DWORD PTR [eax], edx

; 261  : 		}

	ret	8
?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::setp
_TEXT	ENDS
PUBLIC	?max_size@?$allocator@D@std@@QBEIXZ		; std::allocator<char>::max_size
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ?max_size@?$allocator@D@std@@QBEIXZ
_TEXT	SEGMENT
?max_size@?$allocator@D@std@@QBEIXZ PROC		; std::allocator<char>::max_size, COMDAT
; _this$ = ecx

; 166  : 		_SIZT _Count = (_SIZT)(-1) / sizeof (_Ty);
; 167  : 		return (0 < _Count ? _Count : 1);

	or	eax, -1

; 168  : 		}

	ret	0
?max_size@?$allocator@D@std@@QBEIXZ ENDP		; std::allocator<char>::max_size
_TEXT	ENDS
PUBLIC	??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@ ; `string'
PUBLIC	??$_Debug_pointer@D@std@@YAXPBDPB_WI@Z		; std::_Debug_pointer<char>
;	COMDAT ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
; File c:\program files\microsoft visual studio 8\vc\include\xutility
CONST	SEGMENT
??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@ DB 'i'
	DB	00H, 'n', 00H, 'v', 00H, 'a', 00H, 'l', 00H, 'i', 00H, 'd', 00H
	DB	' ', 00H, 'n', 00H, 'u', 00H, 'l', 00H, 'l', 00H, ' ', 00H, 'p'
	DB	00H, 'o', 00H, 'i', 00H, 'n', 00H, 't', 00H, 'e', 00H, 'r', 00H
	DB	00H, 00H					; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??$_Debug_pointer@D@std@@YAXPBDPB_WI@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__File$ = 12						; size = 4
__Line$ = 16						; size = 4
??$_Debug_pointer@D@std@@YAXPBDPB_WI@Z PROC		; std::_Debug_pointer<char>, COMDAT

; 1371 : 	if (_First == 0)

	cmp	DWORD PTR __First$[esp-4], 0
	jne	SHORT $LN1@Debug_poin

; 1372 : 		_DEBUG_ERROR2("invalid null pointer", _File, _Line);

	mov	DWORD PTR __First$[esp-4], OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	jmp	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
$LN1@Debug_poin:

; 1373 : 	}

	ret	0
??$_Debug_pointer@D@std@@YAXPBDPB_WI@Z ENDP		; std::_Debug_pointer<char>
_TEXT	ENDS
PUBLIC	??$_Debug_pointer@D@std@@YAXPADPB_WI@Z		; std::_Debug_pointer<char>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Debug_pointer@D@std@@YAXPADPB_WI@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__File$ = 12						; size = 4
__Line$ = 16						; size = 4
??$_Debug_pointer@D@std@@YAXPADPB_WI@Z PROC		; std::_Debug_pointer<char>, COMDAT

; 1378 : 	if (_First == 0)

	cmp	DWORD PTR __First$[esp-4], 0
	jne	SHORT $LN1@Debug_poin@2

; 1379 : 		_DEBUG_ERROR2("invalid null pointer", _File, _Line);

	mov	DWORD PTR __First$[esp-4], OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	jmp	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
$LN1@Debug_poin@2:

; 1380 : 	}

	ret	0
??$_Debug_pointer@D@std@@YAXPADPB_WI@Z ENDP		; std::_Debug_pointer<char>
_TEXT	ENDS
PUBLIC	??$_DebugHeapDelete@Vfacet@locale@std@@@std@@YAXPAVfacet@locale@0@@Z ; std::_DebugHeapDelete<std::locale::facet>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
;	COMDAT ??$_DebugHeapDelete@Vfacet@locale@std@@@std@@YAXPAVfacet@locale@0@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??$_DebugHeapDelete@Vfacet@locale@std@@@std@@YAXPAVfacet@locale@0@@Z PROC ; std::_DebugHeapDelete<std::locale::facet>, COMDAT

; 55   : 	{	// delete from the debug CRT heap even if operator delete exists

	push	esi

; 56   : 	if (_Ptr != 0)

	mov	esi, DWORD PTR __Ptr$[esp]
	test	esi, esi
	je	SHORT $LN1@DebugHeapD

; 57   : 		{	// worth deleting
; 58   : 		_Ptr->~_Ty();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax]
	push	0
	mov	ecx, esi
	call	edx

; 59   : 		// delete as _NORMAL_BLOCK, not _CRT_BLOCK, since we might have
; 60   : 		// facets allocated by normal new.
; 61   : 		free(_Ptr);

	push	esi
	call	_free
	add	esp, 4
$LN1@DebugHeapD:
	pop	esi

; 62   : 		}
; 63   : 	}

	ret	0
??$_DebugHeapDelete@Vfacet@locale@std@@@std@@YAXPAVfacet@locale@0@@Z ENDP ; std::_DebugHeapDelete<std::locale::facet>
_TEXT	ENDS
PUBLIC	??$_DebugHeapDelete@X@std@@YAXPAX@Z		; std::_DebugHeapDelete<void>
; Function compile flags: /Ogtpy
;	COMDAT ??$_DebugHeapDelete@X@std@@YAXPAX@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??$_DebugHeapDelete@X@std@@YAXPAX@Z PROC		; std::_DebugHeapDelete<void>, COMDAT

; 56   : 	if (_Ptr != 0)

	mov	eax, DWORD PTR __Ptr$[esp-4]
	test	eax, eax
	je	SHORT $LN1@DebugHeapD@2

; 57   : 		{	// worth deleting
; 58   : 		_Ptr->~_Ty();
; 59   : 		// delete as _NORMAL_BLOCK, not _CRT_BLOCK, since we might have
; 60   : 		// facets allocated by normal new.
; 61   : 		free(_Ptr);

	mov	DWORD PTR __Ptr$[esp-4], eax
	jmp	_free
$LN1@DebugHeapD@2:

; 62   : 		}
; 63   : 	}

	ret	0
??$_DebugHeapDelete@X@std@@YAXPAX@Z ENDP		; std::_DebugHeapDelete<void>
_TEXT	ENDS
PUBLIC	??$_Allocate@D@std@@YAPADIPAD@Z			; std::_Allocate<char>
EXTRN	??2@YAPAXI@Z:PROC				; operator new
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ??$_Allocate@D@std@@YAPADIPAD@Z
_TEXT	SEGMENT
$T63757 = -12						; size = 12
$T63761 = 8						; size = 4
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@D@std@@YAPADIPAD@Z PROC			; std::_Allocate<char>, COMDAT

; 38   : 	if (_Count <= 0)

	mov	ecx, DWORD PTR __Count$[esp-4]
	sub	esp, 12					; 0000000cH
	test	ecx, ecx
	ja	SHORT $LN3@Allocate

; 39   : 		_Count = 0;

	xor	ecx, ecx
$LN1@Allocate:

; 42   : 
; 43   : 		// allocate storage for _Count elements of type _Ty
; 44   : 	return ((_Ty _FARQ *)::operator new(_Count * sizeof (_Ty)));

	push	ecx
	call	??2@YAPAXI@Z				; operator new
	add	esp, 4

; 45   : 	}

	add	esp, 12					; 0000000cH
	ret	0
$LN3@Allocate:

; 40   : 	else if (((_SIZT)(-1) / _Count) < sizeof (_Ty))

	or	eax, -1
	xor	edx, edx
	div	ecx
	cmp	eax, 1
	jae	SHORT $LN1@Allocate

; 41   : 		_THROW_NCEE(std::bad_alloc, NULL);

	lea	eax, DWORD PTR $T63761[esp+8]
	push	eax
	lea	ecx, DWORD PTR $T63757[esp+16]
	mov	DWORD PTR $T63761[esp+12], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T63757[esp+16]
	push	ecx
	mov	DWORD PTR $T63757[esp+20], OFFSET ??_7bad_alloc@std@@6B@
	call	__CxxThrowException@8
$LN9@Allocate:
$LN8@Allocate:
	int	3
??$_Allocate@D@std@@YAPADIPAD@Z ENDP			; std::_Allocate<char>
_TEXT	ENDS
PUBLIC	??_7SH_ConsoleCommand@@6B@			; SH_ConsoleCommand::`vftable'
PUBLIC	??0SH_ConsoleCommand@@QAE@XZ			; SH_ConsoleCommand::SH_ConsoleCommand
PUBLIC	??_R4SH_ConsoleCommand@@6B@			; SH_ConsoleCommand::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSH_ConsoleCommand@@@8			; SH_ConsoleCommand `RTTI Type Descriptor'
PUBLIC	??_R3SH_ConsoleCommand@@8			; SH_ConsoleCommand::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SH_ConsoleCommand@@8			; SH_ConsoleCommand::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SH_ConsoleCommand@@8		; SH_ConsoleCommand::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@ScriptImpClass@@8			; ScriptImpClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVScriptImpClass@@@8			; ScriptImpClass `RTTI Type Descriptor'
PUBLIC	??_R3ScriptImpClass@@8				; ScriptImpClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ScriptImpClass@@8				; ScriptImpClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@ScriptClass@@8			; ScriptClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVScriptClass@@@8				; ScriptClass `RTTI Type Descriptor'
PUBLIC	??_R3ScriptClass@@8				; ScriptClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ScriptClass@@8				; ScriptClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@GameObjObserverClass@@8		; GameObjObserverClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVGameObjObserverClass@@@8		; GameObjObserverClass `RTTI Type Descriptor'
PUBLIC	??_R3GameObjObserverClass@@8			; GameObjObserverClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2GameObjObserverClass@@8			; GameObjObserverClass::`RTTI Base Class Array'
PUBLIC	?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z	; SH_ConsoleCommand::Timer_Expired
EXTRN	??0ScriptImpClass@@QAE@XZ:PROC			; ScriptImpClass::ScriptImpClass
EXTRN	??_ESH_ConsoleCommand@@UAEPAXI@Z:PROC		; SH_ConsoleCommand::`vector deleting destructor'
EXTRN	?Get_Name@ScriptImpClass@@UAEPADXZ:PROC		; ScriptImpClass::Get_Name
EXTRN	?Attach@ScriptImpClass@@UAEXPAE@Z:PROC		; ScriptImpClass::Attach
EXTRN	?Detach@ScriptImpClass@@UAEXPAE@Z:PROC		; ScriptImpClass::Detach
EXTRN	?Destroyed@ScriptImpClass@@UAEXPAE@Z:PROC	; ScriptImpClass::Destroyed
EXTRN	?Killed@ScriptImpClass@@UAEXPAE0@Z:PROC		; ScriptImpClass::Killed
EXTRN	?Damaged@ScriptImpClass@@UAEXPAE0M@Z:PROC	; ScriptImpClass::Damaged
EXTRN	?Custom@ScriptImpClass@@UAEXPAEHH0@Z:PROC	; ScriptImpClass::Custom
EXTRN	?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z:PROC ; ScriptImpClass::Sound_Heard
EXTRN	?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z:PROC	; ScriptImpClass::Enemy_Seen
EXTRN	?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z:PROC ; ScriptImpClass::Action_Complete
EXTRN	?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z:PROC ; ScriptImpClass::Animation_Complete
EXTRN	?Poked@ScriptImpClass@@UAEXPAE0@Z:PROC		; ScriptImpClass::Poked
EXTRN	?Entered@ScriptImpClass@@UAEXPAE0@Z:PROC	; ScriptImpClass::Entered
EXTRN	?Exited@ScriptImpClass@@UAEXPAE0@Z:PROC		; ScriptImpClass::Exited
EXTRN	?Owner@ScriptImpClass@@UAEPAEXZ:PROC		; ScriptImpClass::Owner
EXTRN	?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ:PROC	; ScriptImpClass::Get_Owner_Ptr
EXTRN	?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z:PROC ; ScriptImpClass::Set_Parameters_String
EXTRN	?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z:PROC ; ScriptImpClass::Get_Parameters_String
EXTRN	?Save@ScriptImpClass@@UAEXAAE@Z:PROC		; ScriptImpClass::Save
EXTRN	?Load@ScriptImpClass@@UAEXAAE@Z:PROC		; ScriptImpClass::Load
EXTRN	?Save_Data@ScriptImpClass@@UAEXAAE@Z:PROC	; ScriptImpClass::Save_Data
EXTRN	?Load_Data@ScriptImpClass@@UAEXAAE@Z:PROC	; ScriptImpClass::Load_Data
EXTRN	?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ:PROC ; ScriptImpClass::Register_Auto_Save_Variables
;	COMDAT ??_R2GameObjObserverClass@@8
rdata$r	SEGMENT
??_R2GameObjObserverClass@@8 DD FLAT:??_R1A@?0A@EA@GameObjObserverClass@@8 ; GameObjObserverClass::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3GameObjObserverClass@@8
rdata$r	SEGMENT
??_R3GameObjObserverClass@@8 DD 00H			; GameObjObserverClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVGameObjObserverClass@@@8
_DATA	SEGMENT
??_R0?AVGameObjObserverClass@@@8 DD FLAT:??_7type_info@@6B@ ; GameObjObserverClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVGameObjObserverClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@GameObjObserverClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@GameObjObserverClass@@8 DD FLAT:??_R0?AVGameObjObserverClass@@@8 ; GameObjObserverClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R2ScriptClass@@8
rdata$r	SEGMENT
??_R2ScriptClass@@8 DD FLAT:??_R1A@?0A@EA@ScriptClass@@8 ; ScriptClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3ScriptClass@@8
rdata$r	SEGMENT
??_R3ScriptClass@@8 DD 00H				; ScriptClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2ScriptClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVScriptClass@@@8
_DATA	SEGMENT
??_R0?AVScriptClass@@@8 DD FLAT:??_7type_info@@6B@	; ScriptClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVScriptClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@ScriptClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ScriptClass@@8 DD FLAT:??_R0?AVScriptClass@@@8 ; ScriptClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ScriptClass@@8
rdata$r	ENDS
;	COMDAT ??_R2ScriptImpClass@@8
rdata$r	SEGMENT
??_R2ScriptImpClass@@8 DD FLAT:??_R1A@?0A@EA@ScriptImpClass@@8 ; ScriptImpClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3ScriptImpClass@@8
rdata$r	SEGMENT
??_R3ScriptImpClass@@8 DD 00H				; ScriptImpClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2ScriptImpClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVScriptImpClass@@@8
_DATA	SEGMENT
??_R0?AVScriptImpClass@@@8 DD FLAT:??_7type_info@@6B@	; ScriptImpClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVScriptImpClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@ScriptImpClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ScriptImpClass@@8 DD FLAT:??_R0?AVScriptImpClass@@@8 ; ScriptImpClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ScriptImpClass@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@SH_ConsoleCommand@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SH_ConsoleCommand@@8 DD FLAT:??_R0?AVSH_ConsoleCommand@@@8 ; SH_ConsoleCommand::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SH_ConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R2SH_ConsoleCommand@@8
rdata$r	SEGMENT
??_R2SH_ConsoleCommand@@8 DD FLAT:??_R1A@?0A@EA@SH_ConsoleCommand@@8 ; SH_ConsoleCommand::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3SH_ConsoleCommand@@8
rdata$r	SEGMENT
??_R3SH_ConsoleCommand@@8 DD 00H			; SH_ConsoleCommand::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SH_ConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSH_ConsoleCommand@@@8
_DATA	SEGMENT
??_R0?AVSH_ConsoleCommand@@@8 DD FLAT:??_7type_info@@6B@ ; SH_ConsoleCommand `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSH_ConsoleCommand@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SH_ConsoleCommand@@6B@
rdata$r	SEGMENT
??_R4SH_ConsoleCommand@@6B@ DD 00H			; SH_ConsoleCommand::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSH_ConsoleCommand@@@8
	DD	FLAT:??_R3SH_ConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_7SH_ConsoleCommand@@6B@
CONST	SEGMENT
??_7SH_ConsoleCommand@@6B@ DD FLAT:??_R4SH_ConsoleCommand@@6B@ ; SH_ConsoleCommand::`vftable'
	DD	FLAT:??_ESH_ConsoleCommand@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SH_ConsoleCommand@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SH_ConsoleCommand@@QAE@XZ
_TEXT	SEGMENT
??0SH_ConsoleCommand@@QAE@XZ PROC			; SH_ConsoleCommand::SH_ConsoleCommand, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SH_ConsoleCommand@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SH_ConsoleCommand@@QAE@XZ ENDP			; SH_ConsoleCommand::SH_ConsoleCommand
_TEXT	ENDS
PUBLIC	??_7SH_PCT_Powerup@@6B@				; SH_PCT_Powerup::`vftable'
PUBLIC	??0SH_PCT_Powerup@@QAE@XZ			; SH_PCT_Powerup::SH_PCT_Powerup
PUBLIC	??_R4SH_PCT_Powerup@@6B@			; SH_PCT_Powerup::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSH_PCT_Powerup@@@8			; SH_PCT_Powerup `RTTI Type Descriptor'
PUBLIC	??_R3SH_PCT_Powerup@@8				; SH_PCT_Powerup::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SH_PCT_Powerup@@8				; SH_PCT_Powerup::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SH_PCT_Powerup@@8			; SH_PCT_Powerup::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESH_PCT_Powerup@@UAEPAXI@Z:PROC		; SH_PCT_Powerup::`vector deleting destructor'
EXTRN	?Created@ScriptImpClass@@UAEXPAE@Z:PROC		; ScriptImpClass::Created
EXTRN	?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z:PROC	; ScriptImpClass::Timer_Expired
;	COMDAT ??_R1A@?0A@EA@SH_PCT_Powerup@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SH_PCT_Powerup@@8 DD FLAT:??_R0?AVSH_PCT_Powerup@@@8 ; SH_PCT_Powerup::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SH_PCT_Powerup@@8
rdata$r	ENDS
;	COMDAT ??_R2SH_PCT_Powerup@@8
rdata$r	SEGMENT
??_R2SH_PCT_Powerup@@8 DD FLAT:??_R1A@?0A@EA@SH_PCT_Powerup@@8 ; SH_PCT_Powerup::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3SH_PCT_Powerup@@8
rdata$r	SEGMENT
??_R3SH_PCT_Powerup@@8 DD 00H				; SH_PCT_Powerup::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SH_PCT_Powerup@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSH_PCT_Powerup@@@8
_DATA	SEGMENT
??_R0?AVSH_PCT_Powerup@@@8 DD FLAT:??_7type_info@@6B@	; SH_PCT_Powerup `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSH_PCT_Powerup@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SH_PCT_Powerup@@6B@
rdata$r	SEGMENT
??_R4SH_PCT_Powerup@@6B@ DD 00H				; SH_PCT_Powerup::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSH_PCT_Powerup@@@8
	DD	FLAT:??_R3SH_PCT_Powerup@@8
rdata$r	ENDS
;	COMDAT ??_7SH_PCT_Powerup@@6B@
CONST	SEGMENT
??_7SH_PCT_Powerup@@6B@ DD FLAT:??_R4SH_PCT_Powerup@@6B@ ; SH_PCT_Powerup::`vftable'
	DD	FLAT:??_ESH_PCT_Powerup@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@SH_PCT_Powerup@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SH_PCT_Powerup@@QAE@XZ
_TEXT	SEGMENT
??0SH_PCT_Powerup@@QAE@XZ PROC				; SH_PCT_Powerup::SH_PCT_Powerup, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SH_PCT_Powerup@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SH_PCT_Powerup@@QAE@XZ ENDP				; SH_PCT_Powerup::SH_PCT_Powerup
_TEXT	ENDS
PUBLIC	??_7SH_PCT_Custom@@6B@				; SH_PCT_Custom::`vftable'
PUBLIC	??0SH_PCT_Custom@@QAE@XZ			; SH_PCT_Custom::SH_PCT_Custom
PUBLIC	??_R4SH_PCT_Custom@@6B@				; SH_PCT_Custom::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSH_PCT_Custom@@@8			; SH_PCT_Custom `RTTI Type Descriptor'
PUBLIC	??_R3SH_PCT_Custom@@8				; SH_PCT_Custom::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SH_PCT_Custom@@8				; SH_PCT_Custom::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SH_PCT_Custom@@8			; SH_PCT_Custom::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESH_PCT_Custom@@UAEPAXI@Z:PROC		; SH_PCT_Custom::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SH_PCT_Custom@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SH_PCT_Custom@@8 DD FLAT:??_R0?AVSH_PCT_Custom@@@8 ; SH_PCT_Custom::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SH_PCT_Custom@@8
rdata$r	ENDS
;	COMDAT ??_R2SH_PCT_Custom@@8
rdata$r	SEGMENT
??_R2SH_PCT_Custom@@8 DD FLAT:??_R1A@?0A@EA@SH_PCT_Custom@@8 ; SH_PCT_Custom::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3SH_PCT_Custom@@8
rdata$r	SEGMENT
??_R3SH_PCT_Custom@@8 DD 00H				; SH_PCT_Custom::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SH_PCT_Custom@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSH_PCT_Custom@@@8
_DATA	SEGMENT
??_R0?AVSH_PCT_Custom@@@8 DD FLAT:??_7type_info@@6B@	; SH_PCT_Custom `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSH_PCT_Custom@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SH_PCT_Custom@@6B@
rdata$r	SEGMENT
??_R4SH_PCT_Custom@@6B@ DD 00H				; SH_PCT_Custom::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSH_PCT_Custom@@@8
	DD	FLAT:??_R3SH_PCT_Custom@@8
rdata$r	ENDS
;	COMDAT ??_7SH_PCT_Custom@@6B@
CONST	SEGMENT
??_7SH_PCT_Custom@@6B@ DD FLAT:??_R4SH_PCT_Custom@@6B@	; SH_PCT_Custom::`vftable'
	DD	FLAT:??_ESH_PCT_Custom@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@SH_PCT_Custom@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SH_PCT_Custom@@QAE@XZ
_TEXT	SEGMENT
??0SH_PCT_Custom@@QAE@XZ PROC				; SH_PCT_Custom::SH_PCT_Custom, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SH_PCT_Custom@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SH_PCT_Custom@@QAE@XZ ENDP				; SH_PCT_Custom::SH_PCT_Custom
_TEXT	ENDS
PUBLIC	??_7SH_Spawn_Difficulty@@6B@			; SH_Spawn_Difficulty::`vftable'
PUBLIC	??0SH_Spawn_Difficulty@@QAE@XZ			; SH_Spawn_Difficulty::SH_Spawn_Difficulty
PUBLIC	??_R4SH_Spawn_Difficulty@@6B@			; SH_Spawn_Difficulty::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSH_Spawn_Difficulty@@@8			; SH_Spawn_Difficulty `RTTI Type Descriptor'
PUBLIC	??_R3SH_Spawn_Difficulty@@8			; SH_Spawn_Difficulty::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SH_Spawn_Difficulty@@8			; SH_Spawn_Difficulty::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SH_Spawn_Difficulty@@8		; SH_Spawn_Difficulty::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESH_Spawn_Difficulty@@UAEPAXI@Z:PROC		; SH_Spawn_Difficulty::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SH_Spawn_Difficulty@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SH_Spawn_Difficulty@@8 DD FLAT:??_R0?AVSH_Spawn_Difficulty@@@8 ; SH_Spawn_Difficulty::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SH_Spawn_Difficulty@@8
rdata$r	ENDS
;	COMDAT ??_R2SH_Spawn_Difficulty@@8
rdata$r	SEGMENT
??_R2SH_Spawn_Difficulty@@8 DD FLAT:??_R1A@?0A@EA@SH_Spawn_Difficulty@@8 ; SH_Spawn_Difficulty::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3SH_Spawn_Difficulty@@8
rdata$r	SEGMENT
??_R3SH_Spawn_Difficulty@@8 DD 00H			; SH_Spawn_Difficulty::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SH_Spawn_Difficulty@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSH_Spawn_Difficulty@@@8
_DATA	SEGMENT
??_R0?AVSH_Spawn_Difficulty@@@8 DD FLAT:??_7type_info@@6B@ ; SH_Spawn_Difficulty `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSH_Spawn_Difficulty@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SH_Spawn_Difficulty@@6B@
rdata$r	SEGMENT
??_R4SH_Spawn_Difficulty@@6B@ DD 00H			; SH_Spawn_Difficulty::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSH_Spawn_Difficulty@@@8
	DD	FLAT:??_R3SH_Spawn_Difficulty@@8
rdata$r	ENDS
;	COMDAT ??_7SH_Spawn_Difficulty@@6B@
CONST	SEGMENT
??_7SH_Spawn_Difficulty@@6B@ DD FLAT:??_R4SH_Spawn_Difficulty@@6B@ ; SH_Spawn_Difficulty::`vftable'
	DD	FLAT:??_ESH_Spawn_Difficulty@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SH_Spawn_Difficulty@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SH_Spawn_Difficulty@@QAE@XZ
_TEXT	SEGMENT
??0SH_Spawn_Difficulty@@QAE@XZ PROC			; SH_Spawn_Difficulty::SH_Spawn_Difficulty, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SH_Spawn_Difficulty@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SH_Spawn_Difficulty@@QAE@XZ ENDP			; SH_Spawn_Difficulty::SH_Spawn_Difficulty
_TEXT	ENDS
PUBLIC	??_7SH_FileVerificationControllerScript@@6B@	; SH_FileVerificationControllerScript::`vftable'
PUBLIC	??0SH_FileVerificationControllerScript@@QAE@XZ	; SH_FileVerificationControllerScript::SH_FileVerificationControllerScript
PUBLIC	??_R4SH_FileVerificationControllerScript@@6B@	; SH_FileVerificationControllerScript::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSH_FileVerificationControllerScript@@@8	; SH_FileVerificationControllerScript `RTTI Type Descriptor'
PUBLIC	??_R3SH_FileVerificationControllerScript@@8	; SH_FileVerificationControllerScript::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SH_FileVerificationControllerScript@@8	; SH_FileVerificationControllerScript::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SH_FileVerificationControllerScript@@8 ; SH_FileVerificationControllerScript::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Created@SH_FileVerificationControllerScript@@UAEXPAE@Z ; SH_FileVerificationControllerScript::Created
PUBLIC	?Timer_Expired@SH_FileVerificationControllerScript@@UAEXPAEH@Z ; SH_FileVerificationControllerScript::Timer_Expired
EXTRN	??_ESH_FileVerificationControllerScript@@UAEPAXI@Z:PROC ; SH_FileVerificationControllerScript::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SH_FileVerificationControllerScript@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SH_FileVerificationControllerScript@@8 DD FLAT:??_R0?AVSH_FileVerificationControllerScript@@@8 ; SH_FileVerificationControllerScript::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SH_FileVerificationControllerScript@@8
rdata$r	ENDS
;	COMDAT ??_R2SH_FileVerificationControllerScript@@8
rdata$r	SEGMENT
??_R2SH_FileVerificationControllerScript@@8 DD FLAT:??_R1A@?0A@EA@SH_FileVerificationControllerScript@@8 ; SH_FileVerificationControllerScript::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3SH_FileVerificationControllerScript@@8
rdata$r	SEGMENT
??_R3SH_FileVerificationControllerScript@@8 DD 00H	; SH_FileVerificationControllerScript::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SH_FileVerificationControllerScript@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSH_FileVerificationControllerScript@@@8
_DATA	SEGMENT
??_R0?AVSH_FileVerificationControllerScript@@@8 DD FLAT:??_7type_info@@6B@ ; SH_FileVerificationControllerScript `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSH_FileVerificationControllerScript@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SH_FileVerificationControllerScript@@6B@
rdata$r	SEGMENT
??_R4SH_FileVerificationControllerScript@@6B@ DD 00H	; SH_FileVerificationControllerScript::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSH_FileVerificationControllerScript@@@8
	DD	FLAT:??_R3SH_FileVerificationControllerScript@@8
rdata$r	ENDS
;	COMDAT ??_7SH_FileVerificationControllerScript@@6B@
CONST	SEGMENT
??_7SH_FileVerificationControllerScript@@6B@ DD FLAT:??_R4SH_FileVerificationControllerScript@@6B@ ; SH_FileVerificationControllerScript::`vftable'
	DD	FLAT:??_ESH_FileVerificationControllerScript@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SH_FileVerificationControllerScript@@UAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@SH_FileVerificationControllerScript@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@SH_FileVerificationControllerScript@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SH_FileVerificationControllerScript@@QAE@XZ
_TEXT	SEGMENT
??0SH_FileVerificationControllerScript@@QAE@XZ PROC	; SH_FileVerificationControllerScript::SH_FileVerificationControllerScript, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SH_FileVerificationControllerScript@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SH_FileVerificationControllerScript@@QAE@XZ ENDP	; SH_FileVerificationControllerScript::SH_FileVerificationControllerScript
_TEXT	ENDS
PUBLIC	??1SH_ConsoleCommand@@UAE@XZ			; SH_ConsoleCommand::~SH_ConsoleCommand
EXTRN	??1ScriptImpClass@@UAE@XZ:PROC			; ScriptImpClass::~ScriptImpClass
; Function compile flags: /Ogtpy
;	COMDAT ??1SH_ConsoleCommand@@UAE@XZ
_TEXT	SEGMENT
??1SH_ConsoleCommand@@UAE@XZ PROC			; SH_ConsoleCommand::~SH_ConsoleCommand, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SH_ConsoleCommand@@UAE@XZ ENDP			; SH_ConsoleCommand::~SH_ConsoleCommand
_TEXT	ENDS
PUBLIC	??1SH_PCT_Powerup@@UAE@XZ			; SH_PCT_Powerup::~SH_PCT_Powerup
; Function compile flags: /Ogtpy
;	COMDAT ??1SH_PCT_Powerup@@UAE@XZ
_TEXT	SEGMENT
??1SH_PCT_Powerup@@UAE@XZ PROC				; SH_PCT_Powerup::~SH_PCT_Powerup, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SH_PCT_Powerup@@UAE@XZ ENDP				; SH_PCT_Powerup::~SH_PCT_Powerup
_TEXT	ENDS
PUBLIC	??1SH_PCT_Custom@@UAE@XZ			; SH_PCT_Custom::~SH_PCT_Custom
; Function compile flags: /Ogtpy
;	COMDAT ??1SH_PCT_Custom@@UAE@XZ
_TEXT	SEGMENT
??1SH_PCT_Custom@@UAE@XZ PROC				; SH_PCT_Custom::~SH_PCT_Custom, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SH_PCT_Custom@@UAE@XZ ENDP				; SH_PCT_Custom::~SH_PCT_Custom
_TEXT	ENDS
PUBLIC	??1SH_Spawn_Difficulty@@UAE@XZ			; SH_Spawn_Difficulty::~SH_Spawn_Difficulty
; Function compile flags: /Ogtpy
;	COMDAT ??1SH_Spawn_Difficulty@@UAE@XZ
_TEXT	SEGMENT
??1SH_Spawn_Difficulty@@UAE@XZ PROC			; SH_Spawn_Difficulty::~SH_Spawn_Difficulty, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SH_Spawn_Difficulty@@UAE@XZ ENDP			; SH_Spawn_Difficulty::~SH_Spawn_Difficulty
_TEXT	ENDS
PUBLIC	??1SH_FileVerificationControllerScript@@UAE@XZ	; SH_FileVerificationControllerScript::~SH_FileVerificationControllerScript
; Function compile flags: /Ogtpy
;	COMDAT ??1SH_FileVerificationControllerScript@@UAE@XZ
_TEXT	SEGMENT
??1SH_FileVerificationControllerScript@@UAE@XZ PROC	; SH_FileVerificationControllerScript::~SH_FileVerificationControllerScript, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SH_FileVerificationControllerScript@@UAE@XZ ENDP	; SH_FileVerificationControllerScript::~SH_FileVerificationControllerScript
_TEXT	ENDS
PUBLIC	?_Init@?$codecvt@DDH@std@@IAEXABV_Locinfo@2@@Z	; std::codecvt<char,char,int>::_Init
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
;	COMDAT ?_Init@?$codecvt@DDH@std@@IAEXABV_Locinfo@2@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?_Init@?$codecvt@DDH@std@@IAEXABV_Locinfo@2@@Z PROC	; std::codecvt<char,char,int>::_Init, COMDAT
; _this$ = ecx

; 773  : 		}

	ret	4
?_Init@?$codecvt@DDH@std@@IAEXABV_Locinfo@2@@Z ENDP	; std::codecvt<char,char,int>::_Init
_TEXT	ENDS
PUBLIC	??$_Char_traits_cat@U?$char_traits@D@std@@@std@@YA?AU_Secure_char_traits_tag@0@XZ ; std::_Char_traits_cat<std::char_traits<char> >
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
;	COMDAT ??$_Char_traits_cat@U?$char_traits@D@std@@@std@@YA?AU_Secure_char_traits_tag@0@XZ
_TEXT	SEGMENT
__Secure$ = -1						; size = 1
??$_Char_traits_cat@U?$char_traits@D@std@@@std@@YA?AU_Secure_char_traits_tag@0@XZ PROC ; std::_Char_traits_cat<std::char_traits<char> >, COMDAT

; 568  : 	{

	push	ecx

; 569  : 		typename _Char_traits_category<_Traits>::_Secure_char_traits _Secure;
; 570  : 		return (_Secure);

	mov	al, BYTE PTR __Secure$[esp+4]

; 571  : 	}

	pop	ecx
	ret	0
??$_Char_traits_cat@U?$char_traits@D@std@@@std@@YA?AU_Secure_char_traits_tag@0@XZ ENDP ; std::_Char_traits_cat<std::char_traits<char> >
_TEXT	ENDS
PUBLIC	??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z ; std::_Traits_helper::copy_s<std::char_traits<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size$ = 12						; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
___formal$ = 24						; size = 1
??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z PROC ; std::_Traits_helper::copy_s<std::char_traits<char> >, COMDAT

; 590  : 		return _Traits::_Copy_s(_First1, _Size, _First2, _Count);

	mov	eax, DWORD PTR __Count$[esp-4]
	mov	ecx, DWORD PTR __First2$[esp-4]
	mov	edx, DWORD PTR __Size$[esp-4]
	push	esi
	mov	esi, DWORD PTR __First1$[esp]
	push	eax
	push	ecx
	push	edx
	push	esi
	call	_memcpy_s
	add	esp, 16					; 00000010H
	mov	eax, esi
	pop	esi

; 591  : 	}

	ret	0
??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z ENDP ; std::_Traits_helper::copy_s<std::char_traits<char> >
_TEXT	ENDS
PUBLIC	??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z ; std::_Traits_helper::move_s<std::char_traits<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size$ = 12						; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
___formal$ = 24						; size = 1
??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z PROC ; std::_Traits_helper::move_s<std::char_traits<char> >, COMDAT

; 617  : 		return _Traits::_Move_s(_First1, _Size, _First2, _Count);

	mov	eax, DWORD PTR __Count$[esp-4]
	mov	ecx, DWORD PTR __First2$[esp-4]
	mov	edx, DWORD PTR __Size$[esp-4]
	push	esi
	mov	esi, DWORD PTR __First1$[esp]
	push	eax
	push	ecx
	push	edx
	push	esi
	call	_memmove_s
	add	esp, 16					; 00000010H
	mov	eax, esi
	pop	esi

; 618  : 	}

	ret	0
??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z ENDP ; std::_Traits_helper::move_s<std::char_traits<char> >
_TEXT	ENDS
PUBLIC	??1_Container_base@std@@QAE@XZ			; std::_Container_base::~_Container_base
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xutility
;	COMDAT ??1_Container_base@std@@QAE@XZ
_TEXT	SEGMENT
??1_Container_base@std@@QAE@XZ PROC			; std::_Container_base::~_Container_base, COMDAT
; _this$ = ecx

; 106  : 		_Orphan_all();

	jmp	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
??1_Container_base@std@@QAE@XZ ENDP			; std::_Container_base::~_Container_base
_TEXT	ENDS
PUBLIC	??1_Iterator_base@std@@QAE@XZ			; std::_Iterator_base::~_Iterator_base
EXTRN	___CxxFrameHandler3:PROC
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1_Iterator_base@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1_Iterator_base@std@@QAE@XZ$0
__ehfuncinfo$??1_Iterator_base@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1_Iterator_base@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1_Iterator_base@std@@QAE@XZ
_TEXT	SEGMENT
__Lock$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1_Iterator_base@std@@QAE@XZ PROC			; std::_Iterator_base::~_Iterator_base, COMDAT
; _this$ = ecx

; 148  : 		{	// destroy the iterator

	push	-1
	push	__ehhandler$??1_Iterator_base@std@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx

; 149  : 		_Lockit _Lock(_LOCK_DEBUG);

	push	3
	lea	ecx, DWORD PTR __Lock$[esp+24]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit

; 150  : 		_Orphan_me();

	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	?_Orphan_me@_Iterator_base@std@@QAEXXZ	; std::_Iterator_base::_Orphan_me

; 151  : 		}

	lea	ecx, DWORD PTR __Lock$[esp+20]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1_Iterator_base@std@@QAE@XZ$0:
	lea	ecx, DWORD PTR __Lock$[ebp]
	jmp	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
__ehhandler$??1_Iterator_base@std@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1_Iterator_base@std@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1_Iterator_base@std@@QAE@XZ ENDP			; std::_Iterator_base::~_Iterator_base
PUBLIC	?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z ; std::_Iterator_base::_Adopt
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z$0
__ehfuncinfo$?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
__Lock$7400 = 8						; size = 4
__Parent$ = 8						; size = 4
?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z PROC ; std::_Iterator_base::_Adopt, COMDAT
; _this$ = ecx

; 154  : 		{	// adopt this iterator by parent

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	push	esi
	push	edi

; 155  : 		if (_Mycont != _Parent)

	mov	edi, DWORD PTR __Parent$[esp+16]
	mov	esi, ecx
	cmp	DWORD PTR [esi], edi
	je	SHORT $LN2@Adopt

; 156  : 			{	// change parentage
; 157  : 			_Lockit _Lock(_LOCK_DEBUG);

	push	3
	lea	ecx, DWORD PTR __Lock$7400[esp+20]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit

; 158  : 			_Orphan_me();

	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	?_Orphan_me@_Iterator_base@std@@QAEXXZ	; std::_Iterator_base::_Orphan_me

; 159  : 			if (_Parent != 0 && _Parent->_Myfirstiter != _IGNORE_MYITERLIST)

	test	edi, edi
	je	SHORT $LN1@Adopt
	mov	eax, DWORD PTR [edi]
	cmp	eax, -3					; fffffffdH
	je	SHORT $LN1@Adopt

; 160  : 				{	// switch to new parent
; 161  : 				_Mynextiter = _Parent->_Myfirstiter;

	mov	DWORD PTR [esi+4], eax

; 162  : 				((_Container_base *)_Parent)->_Myfirstiter = this;

	mov	DWORD PTR [edi], esi
$LN1@Adopt:

; 163  : 				}
; 164  : 			_Mycont = _Parent;
; 165  : 			}

	lea	ecx, DWORD PTR __Lock$7400[esp+16]
	mov	DWORD PTR [esi], edi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
$LN2@Adopt:

; 166  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	add	esp, 12					; 0000000cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z$0:
	lea	ecx, DWORD PTR __Lock$7400[ebp-4]
	jmp	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
__ehhandler$?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z:
	mov	eax, OFFSET __ehfuncinfo$?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z ENDP ; std::_Iterator_base::_Adopt
PUBLIC	??3facet@locale@std@@SAXPAX@Z			; std::locale::facet::operator delete
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
;	COMDAT ??3facet@locale@std@@SAXPAX@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??3facet@locale@std@@SAXPAX@Z PROC			; std::locale::facet::operator delete, COMDAT

; 157  : 			{	// replace operator delete

	push	esi

; 158  : 			std::_DebugHeapDelete((facet*)_Ptr);

	mov	esi, DWORD PTR __Ptr$[esp]
	test	esi, esi
	je	SHORT $LN3@operator@3
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax]
	push	0
	mov	ecx, esi
	call	edx
	push	esi
	call	_free
	add	esp, 4
$LN3@operator@3:
	pop	esi

; 159  : 			}

	ret	0
??3facet@locale@std@@SAXPAX@Z ENDP			; std::locale::facet::operator delete
_TEXT	ENDS
PUBLIC	??1locale@std@@QAE@XZ				; std::locale::~locale
; Function compile flags: /Ogtpy
;	COMDAT ??1locale@std@@QAE@XZ
_TEXT	SEGMENT
__Lock$63869 = -4					; size = 4
??1locale@std@@QAE@XZ PROC				; std::locale::~locale, COMDAT
; _this$ = ecx

; 374  : 		{	// destroy the object

	push	ecx
	push	edi

; 375  : 		if (_Ptr != 0)

	mov	edi, DWORD PTR [ecx]
	test	edi, edi
	je	SHORT $LN7@locale@3

; 376  : 			_DELETE_CRT(_Ptr->_Decref());

	push	0
	lea	ecx, DWORD PTR __Lock$63869[esp+12]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	mov	eax, DWORD PTR [edi+4]
	test	eax, eax
	jbe	SHORT $LN4@locale@3
	cmp	eax, -1
	jae	SHORT $LN4@locale@3
	add	eax, -1
	mov	DWORD PTR [edi+4], eax
$LN4@locale@3:
	push	esi
	mov	esi, DWORD PTR [edi+4]
	neg	esi
	sbb	esi, esi
	not	esi
	lea	ecx, DWORD PTR __Lock$63869[esp+12]
	and	esi, edi
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	test	esi, esi
	je	SHORT $LN10@locale@3
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax]
	push	0
	mov	ecx, esi
	call	edx
	push	esi
	call	_free
	add	esp, 4
$LN10@locale@3:
	pop	esi
$LN7@locale@3:
	pop	edi

; 377  : 		}

	pop	ecx
	ret	0
??1locale@std@@QAE@XZ ENDP				; std::locale::~locale
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_Gfacet@locale@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Gfacet@locale@std@@UAEPAXI@Z PROC			; std::locale::facet::`scalar deleting destructor', COMDAT
; _this$ = ecx
	test	BYTE PTR ___flags$[esp-4], 1
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7facet@locale@std@@6B@
	je	SHORT $LN11@scalar@13
	push	0
	call	DWORD PTR ??_7facet@locale@std@@6B@
	push	esi
	call	_free
	add	esp, 4
$LN11@scalar@13:
	mov	eax, esi
	pop	esi
	ret	4
??_Gfacet@locale@std@@UAEPAXI@Z ENDP			; std::locale::facet::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_Gcodecvt_base@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Gcodecvt_base@std@@UAEPAXI@Z PROC			; std::codecvt_base::`scalar deleting destructor', COMDAT
; _this$ = ecx
	test	BYTE PTR ___flags$[esp-4], 1
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7facet@locale@std@@6B@
	je	SHORT $LN13@scalar@14
	push	0
	call	DWORD PTR ??_7facet@locale@std@@6B@
	push	esi
	call	_free
	add	esp, 4
$LN13@scalar@14:
	mov	eax, esi
	pop	esi
	ret	4
??_Gcodecvt_base@std@@UAEPAXI@Z ENDP			; std::codecvt_base::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_Gctype_base@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Gctype_base@std@@UAEPAXI@Z PROC			; std::ctype_base::`scalar deleting destructor', COMDAT
; _this$ = ecx
	test	BYTE PTR ___flags$[esp-4], 1
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7facet@locale@std@@6B@
	je	SHORT $LN13@scalar@15
	push	0
	call	DWORD PTR ??_7facet@locale@std@@6B@
	push	esi
	call	_free
	add	esp, 4
$LN13@scalar@15:
	mov	eax, esi
	pop	esi
	ret	4
??_Gctype_base@std@@UAEPAXI@Z ENDP			; std::ctype_base::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?getloc@ios_base@std@@QBE?AVlocale@2@XZ		; std::ios_base::getloc
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xiosbase
;	COMDAT ?getloc@ios_base@std@@QBE?AVlocale@2@XZ
_TEXT	SEGMENT
$T63942 = -4						; size = 4
__Lock$63955 = 8					; size = 4
___$ReturnUdt$ = 8					; size = 4
?getloc@ios_base@std@@QBE?AVlocale@2@XZ PROC		; std::ios_base::getloc, COMDAT
; _this$ = ecx

; 418  : 		{	// get locale

	push	ecx

; 419  : 		return (*_Ploc);

	mov	eax, DWORD PTR [ecx+36]
	push	esi
	mov	esi, DWORD PTR [eax]
	push	edi
	mov	edi, DWORD PTR ___$ReturnUdt$[esp+8]
	push	0
	lea	ecx, DWORD PTR __Lock$63955[esp+12]
	mov	DWORD PTR $T63942[esp+16], 0
	mov	DWORD PTR [edi], esi
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	mov	eax, DWORD PTR [esi+4]
	cmp	eax, -1
	jae	SHORT $LN7@getloc
	add	eax, 1
	mov	DWORD PTR [esi+4], eax
$LN7@getloc:
	lea	ecx, DWORD PTR __Lock$63955[esp+8]
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	mov	eax, edi
	pop	edi
	pop	esi

; 420  : 		}

	pop	ecx
	ret	4
?getloc@ios_base@std@@QBE?AVlocale@2@XZ ENDP		; std::ios_base::getloc
_TEXT	ENDS
PUBLIC	??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@		; `string'
PUBLIC	??_C@_0EA@DHMICAMP@FileVerificationController?3?3Play@ ; `string'
PUBLIC	??1PlayerInfoStruct@FileVerificationController@@QAE@XZ ; FileVerificationController::PlayerInfoStruct::~PlayerInfoStruct
EXTRN	?RemoveShaderNotify@@3P6AHH@ZA:DWORD		; RemoveShaderNotify
;	COMDAT ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@ DB '.\shawk.cpp', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0EA@DHMICAMP@FileVerificationController?3?3Play@
CONST	SEGMENT
??_C@_0EA@DHMICAMP@FileVerificationController?3?3Play@ DB 'FileVerificati'
	DB	'onController::PlayerInfoStruct::~PlayerInfoStruct', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ??1PlayerInfoStruct@FileVerificationController@@QAE@XZ
_TEXT	SEGMENT
??1PlayerInfoStruct@FileVerificationController@@QAE@XZ PROC ; FileVerificationController::PlayerInfoStruct::~PlayerInfoStruct, COMDAT
; _this$ = ecx

; 179  : {

	push	esi
	push	edi
	mov	edi, ecx

; 180  : 	for (int i = 0; i < CallbackHooks->Count(); ++i)

	mov	eax, DWORD PTR [edi+8]
	xor	esi, esi
	cmp	DWORD PTR [eax+12], esi
	jle	SHORT $LN1@PlayerInfo
	npad	2
$LL3@PlayerInfo:

; 181  : 	{
; 182  : 		RemoveShaderNotify((*CallbackHooks)[i]);

	mov	eax, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [eax+esi*4]
	push	ecx
	call	DWORD PTR ?RemoveShaderNotify@@3P6AHH@ZA ; RemoveShaderNotify
	mov	eax, DWORD PTR [edi+8]
	add	esi, 1
	add	esp, 4
	cmp	esi, DWORD PTR [eax+12]
	jl	SHORT $LL3@PlayerInfo
$LN1@PlayerInfo:

; 183  : 	}
; 184  : 	delete CallbackHooks;

	push	OFFSET ??_C@_0EA@DHMICAMP@FileVerificationController?3?3Play@
	push	184					; 000000b8H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [edi+8]
	add	esp, 12					; 0000000cH
	test	ecx, ecx
	je	SHORT $LN6@PlayerInfo
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+4]
	push	1
	call	eax
$LN6@PlayerInfo:

; 185  : 	delete FilesVerificationStatus;

	push	OFFSET ??_C@_0EA@DHMICAMP@FileVerificationController?3?3Play@
	push	185					; 000000b9H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [edi+4]
	add	esp, 12					; 0000000cH
	test	ecx, ecx
	pop	edi
	pop	esi
	je	SHORT $LN10@PlayerInfo
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+4]
	push	1
	call	eax
$LN10@PlayerInfo:

; 186  : }

	ret	0
??1PlayerInfoStruct@FileVerificationController@@QAE@XZ ENDP ; FileVerificationController::PlayerInfoStruct::~PlayerInfoStruct
_TEXT	ENDS
PUBLIC	??_C@_0CH@ICCDBFNE@FileVerificationController?3?3GetF@ ; `string'
PUBLIC	??_C@_0M@GNDKDFJA@VerifyFiles?$AA@		; `string'
PUBLIC	??_C@_05JLNEMJLN@dummy?$AA@			; `string'
PUBLIC	??_C@_02DPKJAMEF@?$CFd?$AA@			; `string'
PUBLIC	?GetFileCRC@FileVerificationController@@IAEKH@Z	; FileVerificationController::GetFileCRC
EXTRN	?Close_Data_File@@YAXPAVFileClass@@@Z:PROC	; Close_Data_File
EXTRN	?CRC_Memory@@YAKPBEKK@Z:PROC			; CRC_Memory
EXTRN	?Get_Data_File@@YAPAVFileClass@@PAD@Z:PROC	; Get_Data_File
EXTRN	?Get_String@INIClass@@QAEXPBD00PADH@Z:PROC	; INIClass::Get_String
EXTRN	_sprintf:PROC
;	COMDAT ??_C@_0CH@ICCDBFNE@FileVerificationController?3?3GetF@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0CH@ICCDBFNE@FileVerificationController?3?3GetF@ DB 'FileVerificati'
	DB	'onController::GetFileCRC', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@GNDKDFJA@VerifyFiles?$AA@
CONST	SEGMENT
??_C@_0M@GNDKDFJA@VerifyFiles?$AA@ DB 'VerifyFiles', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_05JLNEMJLN@dummy?$AA@
CONST	SEGMENT
??_C@_05JLNEMJLN@dummy?$AA@ DB 'dummy', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_02DPKJAMEF@?$CFd?$AA@
CONST	SEGMENT
??_C@_02DPKJAMEF@?$CFd?$AA@ DB '%d', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ?GetFileCRC@FileVerificationController@@IAEKH@Z
_TEXT	SEGMENT
tv204 = -276						; size = 4
_this$ = -272						; size = 4
_numBuffer$ = -268					; size = 10
_buffer$ = -256						; size = 256
_file$ = 8						; size = 4
?GetFileCRC@FileVerificationController@@IAEKH@Z PROC	; FileVerificationController::GetFileCRC, COMDAT
; _this$ = ecx

; 222  : {

	sub	esp, 276				; 00000114H
	push	ebp
	mov	ebp, ecx

; 223  : 	if (!FileINI)

	cmp	DWORD PTR [ebp+4], 0
	mov	DWORD PTR _this$[esp+280], ebp
	jne	SHORT $LN4@GetFileCRC
$LN20@GetFileCRC:

; 224  : 	{
; 225  : 		return 0;

	xor	eax, eax
	pop	ebp

; 251  : }

	add	esp, 276				; 00000114H
	ret	4
$LN4@GetFileCRC:

; 226  : 	}
; 227  : 	if (file > FileCount)

	mov	ecx, DWORD PTR _file$[esp+276]
	cmp	ecx, DWORD PTR [ebp+8]

; 228  : 	{
; 229  : 		return 0;

	jg	SHORT $LN20@GetFileCRC

; 230  : 	}
; 231  : 	if ((*Files)[file])

	mov	eax, DWORD PTR [ebp+12]
	mov	edx, DWORD PTR [eax+4]
	push	edi
	lea	edi, DWORD PTR [ecx*4]
	mov	eax, DWORD PTR [edi+edx]
	test	eax, eax
	mov	DWORD PTR tv204[esp+284], edi

; 232  : 	{
; 233  : 		return (*Files)[file];

	jne	$LN19@GetFileCRC
	push	esi

; 234  : 	}
; 235  : 	char buffer[256];
; 236  : 	char numBuffer[10];
; 237  : 	sprintf(numBuffer,"%d",file+1);

	add	ecx, 1
	push	ecx
	lea	eax, DWORD PTR _numBuffer$[esp+292]
	push	OFFSET ??_C@_02DPKJAMEF@?$CFd?$AA@
	push	eax
	call	_sprintf
	add	esp, 12					; 0000000cH

; 238  : 	FileINI->Get_String("VerifyFiles", numBuffer, "dummy", buffer, 256);

	push	256					; 00000100H
	lea	ecx, DWORD PTR _buffer$[esp+292]
	push	ecx
	mov	ecx, DWORD PTR [ebp+4]
	push	OFFSET ??_C@_05JLNEMJLN@dummy?$AA@
	lea	edx, DWORD PTR _numBuffer$[esp+300]
	push	edx
	push	OFFSET ??_C@_0M@GNDKDFJA@VerifyFiles?$AA@
	call	?Get_String@INIClass@@QAEXPBD00PADH@Z	; INIClass::Get_String

; 239  : 	FileClass *f = Get_Data_File(buffer);

	lea	eax, DWORD PTR _buffer$[esp+288]
	push	eax
	call	?Get_Data_File@@YAPAVFileClass@@PAD@Z	; Get_Data_File
	mov	esi, eax
	add	esp, 4

; 240  : 	if ((f) && (f->Open(1)))

	test	esi, esi
	je	$LN10@GetFileCRC
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+28]
	push	1
	mov	ecx, esi
	call	eax
	test	eax, eax
	je	$LN10@GetFileCRC

; 241  : 	{
; 242  : 		int fileData_size = f->Size();

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+48]
	push	ebx
	mov	ecx, esi
	call	eax

; 243  : 		char *fileData = new char[fileData_size];

	push	OFFSET ??_C@_0CH@ICCDBFNE@FileVerificationController?3?3GetF@
	push	243					; 000000f3H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	mov	edi, eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	edi
	call	??_U@YAPAXI@Z				; operator new[]

; 244  : 		f->Read(fileData,fileData_size);

	mov	edx, DWORD PTR [esi]
	add	esp, 16					; 00000010H
	mov	ebx, eax
	mov	eax, DWORD PTR [edx+36]
	push	edi
	push	ebx
	mov	ecx, esi
	call	eax

; 245  : 		f->Close();

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+56]
	mov	ecx, esi
	call	eax

; 246  : 		(*Files)[file] = CRC_Memory((unsigned char *)fileData, fileData_size,0);

	mov	ecx, DWORD PTR [ebp+12]
	mov	ebp, DWORD PTR [ecx+4]
	add	ebp, DWORD PTR tv204[esp+292]
	push	0
	push	edi
	push	ebx
	call	?CRC_Memory@@YAKPBEKK@Z			; CRC_Memory

; 247  : 		Close_Data_File(f);

	push	esi
	mov	DWORD PTR [ebp], eax
	call	?Close_Data_File@@YAXPAVFileClass@@@Z	; Close_Data_File

; 248  : 		delete[] fileData;

	push	OFFSET ??_C@_0CH@ICCDBFNE@FileVerificationController?3?3GetF@
	push	248					; 000000f8H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	ebx
	call	??_V@YAXPAX@Z				; operator delete[]
	mov	ebp, DWORD PTR _this$[esp+324]
	mov	edi, DWORD PTR tv204[esp+324]
	add	esp, 32					; 00000020H
	pop	ebx
$LN10@GetFileCRC:

; 249  : 	}
; 250  : 	return (*Files)[file];

	mov	edx, DWORD PTR [ebp+12]
	mov	eax, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [edi+eax]
	pop	esi
$LN19@GetFileCRC:
	pop	edi
	pop	ebp

; 251  : }

	add	esp, 276				; 00000114H
	ret	4
?GetFileCRC@FileVerificationController@@IAEKH@Z ENDP	; FileVerificationController::GetFileCRC
_TEXT	ENDS
PUBLIC	??_C@_0BO@ONDJFPFK@?$CFs?5was?5suspected?5of?5cheating?6?$AA@ ; `string'
PUBLIC	??_C@_07PGNFCLHD@kick?5?$CFd?$AA@		; `string'
PUBLIC	??_C@_0EJ@GCAHEEHE@?$CFs?5was?5found?5having?5one?5or?5more?5@ ; `string'
PUBLIC	?PlayerVerifyTimeout@FileVerificationController@@QAEXH@Z ; FileVerificationController::PlayerVerifyTimeout
EXTRN	?Console_Input@@YAXPBD@Z:PROC			; Console_Input
EXTRN	?Console_Output@@YAXPBDZZ:PROC			; Console_Output
EXTRN	?Send_Message@@3P6AXIIIPBD@ZA:DWORD		; Send_Message
EXTRN	?Get_Player_Name_By_ID@@YAPBDH@Z:PROC		; Get_Player_Name_By_ID
;	COMDAT ??_C@_0BO@ONDJFPFK@?$CFs?5was?5suspected?5of?5cheating?6?$AA@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0BO@ONDJFPFK@?$CFs?5was?5suspected?5of?5cheating?6?$AA@ DB '%s was '
	DB	'suspected of cheating', 0aH, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07PGNFCLHD@kick?5?$CFd?$AA@
CONST	SEGMENT
??_C@_07PGNFCLHD@kick?5?$CFd?$AA@ DB 'kick %d', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0EJ@GCAHEEHE@?$CFs?5was?5found?5having?5one?5or?5more?5@
CONST	SEGMENT
??_C@_0EJ@GCAHEEHE@?$CFs?5was?5found?5having?5one?5or?5more?5@ DB '%s was'
	DB	' found having one or more invalid files and has been disconne'
	DB	'cted.', 00H					; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ?PlayerVerifyTimeout@FileVerificationController@@QAEXH@Z
_TEXT	SEGMENT
_message$57536 = -1024					; size = 512
_command$57537 = -512					; size = 512
_PlayerID$ = 8						; size = 4
?PlayerVerifyTimeout@FileVerificationController@@QAEXH@Z PROC ; FileVerificationController::PlayerVerifyTimeout, COMDAT
; _this$ = ecx

; 321  : 	PlayerInfoStruct *player = (*Players)[PlayerID];

	mov	eax, DWORD PTR [ecx+16]
	mov	edx, DWORD PTR [eax+4]
	sub	esp, 1024				; 00000400H
	push	edi
	mov	edi, DWORD PTR _PlayerID$[esp+1024]
	mov	edx, DWORD PTR [edx+edi*4]

; 322  : 	if (!player)

	test	edx, edx
	je	$LN1@PlayerVeri
	push	esi

; 323  : 	{
; 324  : 		return;
; 325  : 	}
; 326  : 	int invalidFiles = FileCount;

	mov	esi, DWORD PTR [ecx+8]

; 327  : 	for (int i = 0; i < player->FilesVerificationStatus->Count(); ++i)

	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+12]
	xor	eax, eax
	test	edx, edx
	jle	SHORT $LN3@PlayerVeri
	mov	ecx, DWORD PTR [ecx+4]
$LL5@PlayerVeri:

; 328  : 	{	
; 329  : 		if ((*(player->FilesVerificationStatus))[i] == true)

	cmp	BYTE PTR [ecx+eax], 1
	jne	SHORT $LN4@PlayerVeri

; 330  : 		{
; 331  : 			--invalidFiles;

	sub	esi, 1
$LN4@PlayerVeri:

; 327  : 	for (int i = 0; i < player->FilesVerificationStatus->Count(); ++i)

	add	eax, 1
	cmp	eax, edx
	jl	SHORT $LL5@PlayerVeri
$LN3@PlayerVeri:

; 332  : 		}
; 333  : 	}
; 334  : 	if (invalidFiles)

	test	esi, esi
	pop	esi
	je	SHORT $LN1@PlayerVeri

; 335  : 	{
; 336  : 		//They modified files, KILL THEM!
; 337  : 		char message[512];
; 338  : 		char command[512];
; 339  : 		sprintf(message,"%s was found having one or more invalid files and has been disconnected.",Get_Player_Name_By_ID(PlayerID));

	push	edi
	call	?Get_Player_Name_By_ID@@YAPBDH@Z	; Get_Player_Name_By_ID
	push	eax
	lea	eax, DWORD PTR _message$57536[esp+1036]
	push	OFFSET ??_C@_0EJ@GCAHEEHE@?$CFs?5was?5found?5having?5one?5or?5more?5@
	push	eax
	call	_sprintf

; 340  : 		sprintf(command,"kick %d",PlayerID);

	push	edi
	lea	ecx, DWORD PTR _command$57537[esp+1048]
	push	OFFSET ??_C@_07PGNFCLHD@kick?5?$CFd?$AA@
	push	ecx
	call	_sprintf

; 341  : 		Send_Message(106,0,106,message);

	lea	edx, DWORD PTR _message$57536[esp+1056]
	push	edx
	push	106					; 0000006aH
	push	0
	push	106					; 0000006aH
	call	DWORD PTR ?Send_Message@@3P6AXIIIPBD@ZA	; Send_Message

; 342  : 		Console_Output("%s was suspected of cheating\n",Get_Player_Name_By_ID(PlayerID));

	push	edi
	call	?Get_Player_Name_By_ID@@YAPBDH@Z	; Get_Player_Name_By_ID
	push	eax
	push	OFFSET ??_C@_0BO@ONDJFPFK@?$CFs?5was?5suspected?5of?5cheating?6?$AA@
	call	?Console_Output@@YAXPBDZZ		; Console_Output

; 343  : 		Console_Input(command);

	lea	eax, DWORD PTR _command$57537[esp+1084]
	push	eax
	call	?Console_Input@@YAXPBD@Z		; Console_Input
	add	esp, 60					; 0000003cH
$LN1@PlayerVeri:
	pop	edi

; 344  : 	}
; 345  : }

	add	esp, 1024				; 00000400H
	ret	4
?PlayerVerifyTimeout@FileVerificationController@@QAEXH@Z ENDP ; FileVerificationController::PlayerVerifyTimeout
_TEXT	ENDS
PUBLIC	__real@00000000
PUBLIC	__real@4f800000
PUBLIC	?VerifyPlayer@FileVerificationController@@QAEXH@Z ; FileVerificationController::VerifyPlayer
EXTRN	?Set_Shader_Number@@3P6AXPAEIM@ZA:DWORD		; Set_Shader_Number
EXTRN	?Get_GameObj@@YAPAEH@Z:PROC			; Get_GameObj
;	COMDAT __real@00000000
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
CONST	ENDS
;	COMDAT __real@4f800000
CONST	SEGMENT
__real@4f800000 DD 04f800000r			; 4.29497e+009
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ?VerifyPlayer@FileVerificationController@@QAEXH@Z
_TEXT	SEGMENT
tv143 = 8						; size = 4
_PlayerID$ = 8						; size = 4
?VerifyPlayer@FileVerificationController@@QAEXH@Z PROC	; FileVerificationController::VerifyPlayer, COMDAT
; _this$ = ecx

; 349  : 	PlayerInfoStruct *player = (*Players)[PlayerID];

	mov	eax, DWORD PTR [ecx+16]
	mov	ecx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	edi
	mov	edi, DWORD PTR [ecx+eax*4]

; 350  : 	if (!player)

	test	edi, edi
	je	SHORT $LN2@VerifyPlay
	push	esi

; 351  : 	{
; 352  : 		return;
; 353  : 	}
; 354  : 	GameObject *obj = Get_GameObj(PlayerID);

	push	eax
	call	?Get_GameObj@@YAPAEH@Z			; Get_GameObj

; 355  : 	player->CRCSalt = Commands->Get_Random_Int(0, 65535);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	mov	eax, DWORD PTR [edx+152]
	push	65535					; 0000ffffH
	push	0
	call	eax

; 356  : 	Set_Shader_Number(obj, SHADEREVENT_SETVERIFYSALT, (float)player->CRCSalt);

	test	eax, eax
	mov	DWORD PTR tv143[esp+16], eax
	fild	DWORD PTR tv143[esp+16]
	mov	DWORD PTR [edi], eax
	jge	SHORT $LN6@VerifyPlay
	fadd	DWORD PTR __real@4f800000
$LN6@VerifyPlay:
	add	esp, 8
	fstp	DWORD PTR [esp]
	push	8001					; 00001f41H
	push	esi
	call	DWORD PTR ?Set_Shader_Number@@3P6AXPAEIM@ZA ; Set_Shader_Number

; 357  : 	Set_Shader_Number(obj, SHADEREVENT_REQUESTVERIFY, 0);

	fldz
	add	esp, 8
	fstp	DWORD PTR [esp]
	push	8002					; 00001f42H
	push	esi
	call	DWORD PTR ?Set_Shader_Number@@3P6AXPAEIM@ZA ; Set_Shader_Number
	add	esp, 12					; 0000000cH
	pop	esi
$LN2@VerifyPlay:
	pop	edi

; 358  : }

	ret	4
?VerifyPlayer@FileVerificationController@@QAEXH@Z ENDP	; FileVerificationController::VerifyPlayer
_TEXT	ENDS
PUBLIC	?VerifyAllPlayers@FileVerificationController@@QAEXXZ ; FileVerificationController::VerifyAllPlayers
; Function compile flags: /Ogtpy
;	COMDAT ?VerifyAllPlayers@FileVerificationController@@QAEXXZ
_TEXT	SEGMENT
_i$57552 = -8						; size = 4
tv213 = -4						; size = 4
?VerifyAllPlayers@FileVerificationController@@QAEXXZ PROC ; FileVerificationController::VerifyAllPlayers, COMDAT
; _this$ = ecx

; 361  : {

	sub	esp, 8
	push	ebp
	mov	ebp, ecx

; 362  : 	for (int i = 0; i < Players->Count(); i++)

	mov	ecx, DWORD PTR [ebp+16]
	xor	eax, eax
	cmp	DWORD PTR [ecx+12], eax
	mov	DWORD PTR _i$57552[esp+12], eax
	jle	$LN2@VerifyAllP
	push	ebx
	push	esi
	push	edi
	npad	5
$LL17@VerifyAllP:

; 363  : 	{
; 364  : 		if ((*Players)[i])

	mov	ecx, DWORD PTR [ecx+4]
	lea	ebx, DWORD PTR [eax*4]
	cmp	DWORD PTR [ebx+ecx], 0
	je	SHORT $LN3@VerifyAllP

; 365  : 		{
; 366  : 			GameObject *obj = Get_GameObj(i);

	push	eax
	call	?Get_GameObj@@YAPAEH@Z			; Get_GameObj
	mov	edx, DWORD PTR [ebp+16]
	mov	esi, DWORD PTR [edx+4]
	mov	edi, eax

; 367  : 			(*Players)[i]->CRCSalt = Commands->Get_Random_Int(0, 65535);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+152]
	push	65535					; 0000ffffH
	push	0
	add	esi, ebx
	call	ecx
	mov	edx, DWORD PTR [esi]
	mov	DWORD PTR [edx], eax

; 368  : 			Set_Shader_Number(obj, SHADEREVENT_SETVERIFYSALT, (float)(*Players)[i]->CRCSalt);

	mov	eax, DWORD PTR [ebp+16]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ebx+ecx]
	mov	eax, DWORD PTR [edx]
	fild	DWORD PTR [edx]
	test	eax, eax
	jge	SHORT $LN18@VerifyAllP
	fadd	DWORD PTR __real@4f800000
$LN18@VerifyAllP:
	add	esp, 8
	fstp	DWORD PTR [esp]
	push	8001					; 00001f41H
	push	edi
	call	DWORD PTR ?Set_Shader_Number@@3P6AXPAEIM@ZA ; Set_Shader_Number

; 369  : 			Set_Shader_Number(obj, SHADEREVENT_REQUESTVERIFY, 0);

	fldz
	add	esp, 8
	fstp	DWORD PTR [esp]
	push	8002					; 00001f42H
	push	edi
	call	DWORD PTR ?Set_Shader_Number@@3P6AXPAEIM@ZA ; Set_Shader_Number
	mov	eax, DWORD PTR _i$57552[esp+36]
	add	esp, 12					; 0000000cH
$LN3@VerifyAllP:
	mov	ecx, DWORD PTR [ebp+16]
	add	eax, 1
	cmp	eax, DWORD PTR [ecx+12]
	mov	DWORD PTR _i$57552[esp+24], eax
	jl	$LL17@VerifyAllP
	pop	edi
	pop	esi
	pop	ebx
$LN2@VerifyAllP:
	pop	ebp

; 370  : 		}
; 371  : 	}
; 372  : }

	add	esp, 8
	ret	0
?VerifyAllPlayers@FileVerificationController@@QAEXXZ ENDP ; FileVerificationController::VerifyAllPlayers
_TEXT	ENDS
PUBLIC	?ProcessFile@FileVerificationController@@QAEXHHK@Z ; FileVerificationController::ProcessFile
; Function compile flags: /Ogtpy
;	COMDAT ?ProcessFile@FileVerificationController@@QAEXHHK@Z
_TEXT	SEGMENT
_message$57569 = -1024					; size = 512
_command$57570 = -512					; size = 512
_PlayerID$ = 8						; size = 4
_file$ = 12						; size = 4
_crc$ = 16						; size = 4
?ProcessFile@FileVerificationController@@QAEXHHK@Z PROC	; FileVerificationController::ProcessFile, COMDAT
; _this$ = ecx

; 376  : 	PlayerInfoStruct *player = (*Players)[PlayerID];

	mov	eax, DWORD PTR [ecx+16]
	mov	edx, DWORD PTR [eax+4]
	sub	esp, 1024				; 00000400H
	push	esi
	push	edi
	mov	edi, DWORD PTR _PlayerID$[esp+1028]
	mov	esi, DWORD PTR [edx+edi*4]

; 377  : 	if (!player)

	test	esi, esi
	je	$LN1@ProcessFil
	push	ebx

; 378  : 	{
; 379  : 		return;
; 380  : 	}
; 381  : 	unsigned long filecrc = GetFileCRC(file) + player->CRCSalt;

	mov	ebx, DWORD PTR _file$[esp+1032]
	push	ebx
	call	?GetFileCRC@FileVerificationController@@IAEKH@Z ; FileVerificationController::GetFileCRC
	add	eax, DWORD PTR [esi]

; 382  : 	if (crc != filecrc)

	cmp	DWORD PTR _crc$[esp+1032], eax
	je	SHORT $LN2@ProcessFil

; 383  : 	{
; 384  : 		// File didn't match, OUT HE GOES.
; 385  : 		char message[512];
; 386  : 		char command[512];
; 387  : 		sprintf(message,"%s was found having one or more invalid files and has been disconnected.",Get_Player_Name_By_ID(PlayerID));

	push	edi
	call	?Get_Player_Name_By_ID@@YAPBDH@Z	; Get_Player_Name_By_ID
	push	eax
	lea	eax, DWORD PTR _message$57569[esp+1044]
	push	OFFSET ??_C@_0EJ@GCAHEEHE@?$CFs?5was?5found?5having?5one?5or?5more?5@
	push	eax
	call	_sprintf

; 388  : 		sprintf(command,"kick %d",PlayerID);

	push	edi
	lea	ecx, DWORD PTR _command$57570[esp+1056]
	push	OFFSET ??_C@_07PGNFCLHD@kick?5?$CFd?$AA@
	push	ecx
	call	_sprintf

; 389  : 		Send_Message(106,0,106,message);

	lea	edx, DWORD PTR _message$57569[esp+1064]
	push	edx
	push	106					; 0000006aH
	push	0
	push	106					; 0000006aH
	call	DWORD PTR ?Send_Message@@3P6AXIIIPBD@ZA	; Send_Message

; 390  : 		Console_Output("%s was suspected of cheating\n",Get_Player_Name_By_ID(PlayerID));

	push	edi
	call	?Get_Player_Name_By_ID@@YAPBDH@Z	; Get_Player_Name_By_ID
	push	eax
	push	OFFSET ??_C@_0BO@ONDJFPFK@?$CFs?5was?5suspected?5of?5cheating?6?$AA@
	call	?Console_Output@@YAXPBDZZ		; Console_Output

; 391  : 		Console_Input(command);

	lea	eax, DWORD PTR _command$57570[esp+1092]
	push	eax
	call	?Console_Input@@YAXPBD@Z		; Console_Input
	add	esp, 60					; 0000003cH
	pop	ebx
	pop	edi
	pop	esi

; 396  : 	}
; 397  : }

	add	esp, 1024				; 00000400H
	ret	12					; 0000000cH
$LN2@ProcessFil:

; 392  : 	} 
; 393  : 	else
; 394  : 	{
; 395  : 		(*(player->FilesVerificationStatus))[file] = true;	

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx+4]
	mov	BYTE PTR [ebx+edx], 1
	pop	ebx
$LN1@ProcessFil:
	pop	edi
	pop	esi

; 396  : 	}
; 397  : }

	add	esp, 1024				; 00000400H
	ret	12					; 0000000cH
?ProcessFile@FileVerificationController@@QAEXHHK@Z ENDP	; FileVerificationController::ProcessFile
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Timer_Expired@SH_FileVerificationControllerScript@@UAEXPAEH@Z
_TEXT	SEGMENT
_sender$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@SH_FileVerificationControllerScript@@UAEXPAEH@Z PROC ; SH_FileVerificationControllerScript::Timer_Expired, COMDAT
; _this$ = ecx

; 434  : 	int timer = (number & 0xFFFF0000)>>16; // Unpack the data from the number

	mov	ecx, DWORD PTR _number$[esp-4]
	mov	eax, ecx
	shr	eax, 16					; 00000010H

; 435  : 	int parameter = (number & 0x0000FFFF);

	and	ecx, 65535				; 0000ffffH

; 436  : 	if (timer == (TIMER_MAPLOAD & 0xFFFF0000) >> 16)

	cmp	eax, 34050				; 00008502H
	jne	SHORT $LN5@Timer_Expi

; 437  : 	{
; 438  : 		VerifyController->VerifyAllPlayers();

	mov	ecx, DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A ; VerifyController
	call	?VerifyAllPlayers@FileVerificationController@@QAEXXZ ; FileVerificationController::VerifyAllPlayers

; 447  : 	}
; 448  : }

	ret	8
$LN5@Timer_Expi:

; 439  : 	}
; 440  : 	else if (timer == (TIMER_PLAYERLOAD & 0xFFFF0000) >> 16)

	cmp	eax, 34052				; 00008504H
	jne	SHORT $LN3@Timer_Expi

; 441  : 	{
; 442  : 		VerifyController->VerifyPlayer(parameter);

	push	ecx
	mov	ecx, DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A ; VerifyController
	call	?VerifyPlayer@FileVerificationController@@QAEXH@Z ; FileVerificationController::VerifyPlayer

; 447  : 	}
; 448  : }

	ret	8
$LN3@Timer_Expi:

; 443  : 	}
; 444  : 	else if (timer == (TIMER_PLAYERTIMEOUT & 0xFFFF0000) >> 16)

	cmp	eax, 34054				; 00008506H
	jne	SHORT $LN1@Timer_Expi

; 445  : 	{
; 446  : 		VerifyController->PlayerVerifyTimeout(parameter);

	push	ecx
	mov	ecx, DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A ; VerifyController
	call	?PlayerVerifyTimeout@FileVerificationController@@QAEXH@Z ; FileVerificationController::PlayerVerifyTimeout
$LN1@Timer_Expi:

; 447  : 	}
; 448  : }

	ret	8
?Timer_Expired@SH_FileVerificationControllerScript@@UAEXPAEH@Z ENDP ; SH_FileVerificationControllerScript::Timer_Expired
_TEXT	ENDS
PUBLIC	?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ; std::_DebugHeapAllocator<char>::deallocate
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
;	COMDAT ?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z PROC ; std::_DebugHeapAllocator<char>::deallocate, COMDAT
; _this$ = ecx

; 102  : 		_DELETE_CRT_VEC(_Ptr);

	mov	eax, DWORD PTR __Ptr$[esp-4]
	test	eax, eax
	je	SHORT $LN3@deallocate
	push	eax
	call	_free
	pop	ecx
$LN3@deallocate:

; 103  : 		}

	ret	8
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ENDP ; std::_DebugHeapAllocator<char>::deallocate
_TEXT	ENDS
PUBLIC	??1_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ ; std::basic_istream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\istream
;	COMDAT ??1_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??1_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ PROC ; std::basic_istream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base, COMDAT
; _this$ = ecx

; 62   : 			if (_Myistr.rdbuf() != 0)

	mov	eax, DWORD PTR [ecx]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [edx+eax+40]
	test	eax, eax
	je	SHORT $LN8@Sentry_bas

; 63   : 				_Myistr.rdbuf()->_Unlock();

	lea	ecx, DWORD PTR [eax+4]
	jmp	?_Unlock@_Mutex@std@@QAEXXZ		; std::_Mutex::_Unlock
$LN8@Sentry_bas:

; 64   : 			}

	ret	0
??1_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ ENDP ; std::basic_istream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
_TEXT	ENDS
PUBLIC	?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::sgetc
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
;	COMDAT ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
_TEXT	SEGMENT
?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::sgetc, COMDAT
; _this$ = ecx

; 112  : 		return (0 < _Gnavail()
; 113  : 			? _Traits::to_int_type(*gptr()) : underflow());

	mov	eax, DWORD PTR [ecx+32]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN3@sgetc
	mov	edx, DWORD PTR [ecx+48]
	cmp	DWORD PTR [edx], 0
	jle	SHORT $LN3@sgetc
	mov	eax, DWORD PTR [eax]
	movzx	eax, BYTE PTR [eax]

; 114  : 		}

	ret	0
$LN3@sgetc:

; 112  : 		return (0 < _Gnavail()
; 113  : 			? _Traits::to_int_type(*gptr()) : underflow());

	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+16]
	jmp	eax
?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::sgetc
_TEXT	ENDS
PUBLIC	??_7?$SimpleDynVecClass@H@@6B@			; SimpleDynVecClass<int>::`vftable'
PUBLIC	??0?$SimpleDynVecClass@H@@QAE@H@Z		; SimpleDynVecClass<int>::SimpleDynVecClass<int>
PUBLIC	??_R4?$SimpleDynVecClass@H@@6B@			; SimpleDynVecClass<int>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleDynVecClass@H@@@8		; SimpleDynVecClass<int> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleDynVecClass@H@@8			; SimpleDynVecClass<int>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleDynVecClass@H@@8			; SimpleDynVecClass<int>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleDynVecClass@H@@8		; SimpleDynVecClass<int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Resize@?$SimpleDynVecClass@H@@UAE_NH@Z		; SimpleDynVecClass<int>::Resize
EXTRN	??_E?$SimpleDynVecClass@H@@UAEPAXI@Z:PROC	; SimpleDynVecClass<int>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleDynVecClass@H@@8
; File d:\source code\stgm\engine_vector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleDynVecClass@H@@8 DD FLAT:??_R0?AV?$SimpleDynVecClass@H@@@8 ; SimpleDynVecClass<int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleDynVecClass@H@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleDynVecClass@H@@8
rdata$r	SEGMENT
??_R2?$SimpleDynVecClass@H@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleDynVecClass@H@@8 ; SimpleDynVecClass<int>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$SimpleVecClass@H@@8
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleDynVecClass@H@@8
rdata$r	SEGMENT
??_R3?$SimpleDynVecClass@H@@8 DD 00H			; SimpleDynVecClass<int>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$SimpleDynVecClass@H@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleDynVecClass@H@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleDynVecClass@H@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleDynVecClass<int> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleDynVecClass@H@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleDynVecClass@H@@6B@
rdata$r	SEGMENT
??_R4?$SimpleDynVecClass@H@@6B@ DD 00H			; SimpleDynVecClass<int>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleDynVecClass@H@@@8
	DD	FLAT:??_R3?$SimpleDynVecClass@H@@8
rdata$r	ENDS
;	COMDAT ??_7?$SimpleDynVecClass@H@@6B@
CONST	SEGMENT
??_7?$SimpleDynVecClass@H@@6B@ DD FLAT:??_R4?$SimpleDynVecClass@H@@6B@ ; SimpleDynVecClass<int>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@H@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleDynVecClass@H@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleDynVecClass@H@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$SimpleDynVecClass@H@@QAE@H@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleDynVecClass@H@@QAE@H@Z PROC			; SimpleDynVecClass<int>::SimpleDynVecClass<int>, COMDAT
; _this$ = ecx

; 259  : 	{

	push	esi
	xor	eax, eax
	push	edi
	mov	edi, DWORD PTR _size$[esp+4]
	cmp	edi, eax
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@H@@6B@
	mov	DWORD PTR [esi+4], eax
	mov	DWORD PTR [esi+8], eax
	jbe	SHORT $LN4@SimpleDynV@2
	push	edi
	call	?Resize@?$SimpleVecClass@H@@UAE_NH@Z	; SimpleVecClass<int>::Resize
$LN4@SimpleDynV@2:

; 260  : 		ActiveCount = size;

	mov	DWORD PTR [esi+12], edi
	pop	edi
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleDynVecClass@H@@6B@

; 261  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleDynVecClass@H@@QAE@H@Z ENDP			; SimpleDynVecClass<int>::SimpleDynVecClass<int>
_TEXT	ENDS
PUBLIC	??_C@_0CL@HDKIKCJG@SimpleDynVecClass?$DMint?$DO?3?3?$HOSimpleD@ ; `string'
PUBLIC	??1?$SimpleDynVecClass@H@@UAE@XZ		; SimpleDynVecClass<int>::~SimpleDynVecClass<int>
;	COMDAT ??_C@_0CL@HDKIKCJG@SimpleDynVecClass?$DMint?$DO?3?3?$HOSimpleD@
CONST	SEGMENT
??_C@_0CL@HDKIKCJG@SimpleDynVecClass?$DMint?$DO?3?3?$HOSimpleD@ DB 'Simpl'
	DB	'eDynVecClass<int>::~SimpleDynVecClass', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$SimpleDynVecClass@H@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$SimpleDynVecClass@H@@UAE@XZ$0
__ehfuncinfo$??1?$SimpleDynVecClass@H@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$SimpleDynVecClass@H@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1?$SimpleDynVecClass@H@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$SimpleDynVecClass@H@@UAE@XZ PROC			; SimpleDynVecClass<int>::~SimpleDynVecClass<int>, COMDAT
; _this$ = ecx

; 271  : 	{

	push	-1
	push	__ehhandler$??1?$SimpleDynVecClass@H@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleDynVecClass@H@@6B@
	xor	edi, edi

; 272  : 		if (Vector)

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	je	SHORT $LN1@SimpleDynV@3

; 273  : 		{
; 274  : 			delete[] Vector;

	push	OFFSET ??_C@_0CL@HDKIKCJG@SimpleDynVecClass?$DMint?$DO?3?3?$HOSimpleD@
	push	274					; 00000112H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 275  : 			Vector = 0;

	mov	DWORD PTR [esi+4], edi
$LN1@SimpleDynV@3:

; 276  : 		}
; 277  : 	}

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@H@@6B@
	je	SHORT $LN7@SimpleDynV@3
	push	OFFSET ??_C@_0CF@NBIGPHOP@SimpleVecClass?$DMint?$DO?3?3?$HOSimpleVecC@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi+8], edi
$LN7@SimpleDynV@3:
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$SimpleDynVecClass@H@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$SimpleVecClass@H@@UAE@XZ		; SimpleVecClass<int>::~SimpleVecClass<int>
__ehhandler$??1?$SimpleDynVecClass@H@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$SimpleDynVecClass@H@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$SimpleDynVecClass@H@@UAE@XZ ENDP			; SimpleDynVecClass<int>::~SimpleDynVecClass<int>
; Function compile flags: /Ogtpy
;	COMDAT ?Resize@?$SimpleDynVecClass@H@@UAE_NH@Z
_TEXT	SEGMENT
_newsize$ = 8						; size = 4
?Resize@?$SimpleDynVecClass@H@@UAE_NH@Z PROC		; SimpleDynVecClass<int>::Resize, COMDAT
; _this$ = ecx

; 280  : 		if (SimpleVecClass<T>::Resize(newsize))

	mov	eax, DWORD PTR _newsize$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	?Resize@?$SimpleVecClass@H@@UAE_NH@Z	; SimpleVecClass<int>::Resize
	test	al, al
	je	SHORT $LN2@Resize@5

; 281  : 		{
; 282  : 			if (VectorMax < ActiveCount)

	mov	eax, DWORD PTR [esi+8]
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $LN1@Resize@5

; 283  : 			{
; 284  : 				ActiveCount = VectorMax;

	mov	DWORD PTR [esi+12], eax
$LN1@Resize@5:

; 285  : 			}
; 286  : 			return true;

	mov	al, 1
	pop	esi

; 289  : 	}

	ret	4
$LN2@Resize@5:

; 287  : 		}
; 288  : 		return false;

	xor	al, al
	pop	esi

; 289  : 	}

	ret	4
?Resize@?$SimpleDynVecClass@H@@UAE_NH@Z ENDP		; SimpleDynVecClass<int>::Resize
_TEXT	ENDS
PUBLIC	?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ ; std::basic_ifstream<char,std::char_traits<char> >::is_open
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
;	COMDAT ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
_TEXT	SEGMENT
?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ PROC ; std::basic_ifstream<char,std::char_traits<char> >::is_open, COMDAT
; _this$ = ecx

; 651  : 		return (_Filebuffer.is_open());

	xor	eax, eax
	cmp	DWORD PTR [ecx+84], eax
	setne	al

; 652  : 		}

	ret	0
?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ ENDP ; std::basic_ifstream<char,std::char_traits<char> >::is_open
_TEXT	ENDS
PUBLIC	??_7?$SimpleDynVecClass@K@@6B@			; SimpleDynVecClass<unsigned long>::`vftable'
PUBLIC	??0?$SimpleDynVecClass@K@@QAE@H@Z		; SimpleDynVecClass<unsigned long>::SimpleDynVecClass<unsigned long>
PUBLIC	??_R4?$SimpleDynVecClass@K@@6B@			; SimpleDynVecClass<unsigned long>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleDynVecClass@K@@@8		; SimpleDynVecClass<unsigned long> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleDynVecClass@K@@8			; SimpleDynVecClass<unsigned long>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleDynVecClass@K@@8			; SimpleDynVecClass<unsigned long>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleDynVecClass@K@@8		; SimpleDynVecClass<unsigned long>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Resize@?$SimpleDynVecClass@K@@UAE_NH@Z		; SimpleDynVecClass<unsigned long>::Resize
EXTRN	??_E?$SimpleDynVecClass@K@@UAEPAXI@Z:PROC	; SimpleDynVecClass<unsigned long>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleDynVecClass@K@@8
; File d:\source code\stgm\engine_vector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleDynVecClass@K@@8 DD FLAT:??_R0?AV?$SimpleDynVecClass@K@@@8 ; SimpleDynVecClass<unsigned long>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleDynVecClass@K@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleDynVecClass@K@@8
rdata$r	SEGMENT
??_R2?$SimpleDynVecClass@K@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleDynVecClass@K@@8 ; SimpleDynVecClass<unsigned long>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$SimpleVecClass@K@@8
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleDynVecClass@K@@8
rdata$r	SEGMENT
??_R3?$SimpleDynVecClass@K@@8 DD 00H			; SimpleDynVecClass<unsigned long>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$SimpleDynVecClass@K@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleDynVecClass@K@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleDynVecClass@K@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleDynVecClass<unsigned long> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleDynVecClass@K@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleDynVecClass@K@@6B@
rdata$r	SEGMENT
??_R4?$SimpleDynVecClass@K@@6B@ DD 00H			; SimpleDynVecClass<unsigned long>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleDynVecClass@K@@@8
	DD	FLAT:??_R3?$SimpleDynVecClass@K@@8
rdata$r	ENDS
;	COMDAT ??_7?$SimpleDynVecClass@K@@6B@
CONST	SEGMENT
??_7?$SimpleDynVecClass@K@@6B@ DD FLAT:??_R4?$SimpleDynVecClass@K@@6B@ ; SimpleDynVecClass<unsigned long>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@K@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleDynVecClass@K@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleDynVecClass@K@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$SimpleDynVecClass@K@@QAE@H@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleDynVecClass@K@@QAE@H@Z PROC			; SimpleDynVecClass<unsigned long>::SimpleDynVecClass<unsigned long>, COMDAT
; _this$ = ecx

; 259  : 	{

	push	esi
	xor	eax, eax
	push	edi
	mov	edi, DWORD PTR _size$[esp+4]
	cmp	edi, eax
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@K@@6B@
	mov	DWORD PTR [esi+4], eax
	mov	DWORD PTR [esi+8], eax
	jbe	SHORT $LN4@SimpleDynV@4
	push	edi
	call	?Resize@?$SimpleVecClass@K@@UAE_NH@Z	; SimpleVecClass<unsigned long>::Resize
$LN4@SimpleDynV@4:

; 260  : 		ActiveCount = size;

	mov	DWORD PTR [esi+12], edi
	pop	edi
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleDynVecClass@K@@6B@

; 261  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleDynVecClass@K@@QAE@H@Z ENDP			; SimpleDynVecClass<unsigned long>::SimpleDynVecClass<unsigned long>
_TEXT	ENDS
PUBLIC	??_C@_0DF@JGNCIAHM@SimpleDynVecClass?$DMunsigned?5long?$DO@ ; `string'
PUBLIC	??1?$SimpleDynVecClass@K@@UAE@XZ		; SimpleDynVecClass<unsigned long>::~SimpleDynVecClass<unsigned long>
;	COMDAT ??_C@_0DF@JGNCIAHM@SimpleDynVecClass?$DMunsigned?5long?$DO@
CONST	SEGMENT
??_C@_0DF@JGNCIAHM@SimpleDynVecClass?$DMunsigned?5long?$DO@ DB 'SimpleDyn'
	DB	'VecClass<unsigned long>::~SimpleDynVecClass', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$SimpleDynVecClass@K@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$SimpleDynVecClass@K@@UAE@XZ$0
__ehfuncinfo$??1?$SimpleDynVecClass@K@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$SimpleDynVecClass@K@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1?$SimpleDynVecClass@K@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$SimpleDynVecClass@K@@UAE@XZ PROC			; SimpleDynVecClass<unsigned long>::~SimpleDynVecClass<unsigned long>, COMDAT
; _this$ = ecx

; 271  : 	{

	push	-1
	push	__ehhandler$??1?$SimpleDynVecClass@K@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleDynVecClass@K@@6B@
	xor	edi, edi

; 272  : 		if (Vector)

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	je	SHORT $LN1@SimpleDynV@5

; 273  : 		{
; 274  : 			delete[] Vector;

	push	OFFSET ??_C@_0DF@JGNCIAHM@SimpleDynVecClass?$DMunsigned?5long?$DO@
	push	274					; 00000112H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 275  : 			Vector = 0;

	mov	DWORD PTR [esi+4], edi
$LN1@SimpleDynV@5:

; 276  : 		}
; 277  : 	}

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@K@@6B@
	je	SHORT $LN7@SimpleDynV@5
	push	OFFSET ??_C@_0CP@OABAKABK@SimpleVecClass?$DMunsigned?5long?$DO?3?3?$HO@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi+8], edi
$LN7@SimpleDynV@5:
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$SimpleDynVecClass@K@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$SimpleVecClass@K@@UAE@XZ		; SimpleVecClass<unsigned long>::~SimpleVecClass<unsigned long>
__ehhandler$??1?$SimpleDynVecClass@K@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$SimpleDynVecClass@K@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$SimpleDynVecClass@K@@UAE@XZ ENDP			; SimpleDynVecClass<unsigned long>::~SimpleDynVecClass<unsigned long>
; Function compile flags: /Ogtpy
;	COMDAT ?Resize@?$SimpleDynVecClass@K@@UAE_NH@Z
_TEXT	SEGMENT
_newsize$ = 8						; size = 4
?Resize@?$SimpleDynVecClass@K@@UAE_NH@Z PROC		; SimpleDynVecClass<unsigned long>::Resize, COMDAT
; _this$ = ecx

; 280  : 		if (SimpleVecClass<T>::Resize(newsize))

	mov	eax, DWORD PTR _newsize$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	?Resize@?$SimpleVecClass@K@@UAE_NH@Z	; SimpleVecClass<unsigned long>::Resize
	test	al, al
	je	SHORT $LN2@Resize@6

; 281  : 		{
; 282  : 			if (VectorMax < ActiveCount)

	mov	eax, DWORD PTR [esi+8]
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $LN1@Resize@6

; 283  : 			{
; 284  : 				ActiveCount = VectorMax;

	mov	DWORD PTR [esi+12], eax
$LN1@Resize@6:

; 285  : 			}
; 286  : 			return true;

	mov	al, 1
	pop	esi

; 289  : 	}

	ret	4
$LN2@Resize@6:

; 287  : 		}
; 288  : 		return false;

	xor	al, al
	pop	esi

; 289  : 	}

	ret	4
?Resize@?$SimpleDynVecClass@K@@UAE_NH@Z ENDP		; SimpleDynVecClass<unsigned long>::Resize
_TEXT	ENDS
PUBLIC	??_7?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@ ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`vftable'
PUBLIC	??0?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAE@H@Z ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>
PUBLIC	??_R4?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@ ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@@8 ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Resize@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::Resize
EXTRN	??_E?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAEPAXI@Z:PROC ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 DD FLAT:??_R0?AV?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@@8 ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	SEGMENT
??_R2?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	SEGMENT
??_R3?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8 DD 00H ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerifica'
	DB	'tionController@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@
rdata$r	SEGMENT
??_R4?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@ DD 00H ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@@8
	DD	FLAT:??_R3?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@
CONST	SEGMENT
??_7?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@ DD FLAT:??_R4?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@ ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAE@H@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAE@H@Z PROC ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>, COMDAT
; _this$ = ecx

; 259  : 	{

	push	esi
	xor	eax, eax
	push	edi
	mov	edi, DWORD PTR _size$[esp+4]
	cmp	edi, eax
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@
	mov	DWORD PTR [esi+4], eax
	mov	DWORD PTR [esi+8], eax
	jbe	SHORT $LN4@SimpleDynV@6
	push	edi
	call	?Resize@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::Resize
$LN4@SimpleDynV@6:

; 260  : 		ActiveCount = size;

	mov	DWORD PTR [esi+12], edi
	pop	edi
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@

; 261  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAE@H@Z ENDP ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>
_TEXT	ENDS
PUBLIC	??_C@_0FN@EGHLKBMJ@SimpleDynVecClass?$DMstruct?5FileVer@ ; `string'
PUBLIC	??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::~SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>
;	COMDAT ??_C@_0FN@EGHLKBMJ@SimpleDynVecClass?$DMstruct?5FileVer@
CONST	SEGMENT
??_C@_0FN@EGHLKBMJ@SimpleDynVecClass?$DMstruct?5FileVer@ DB 'SimpleDynVec'
	DB	'Class<struct FileVerificationController::PlayerInfoStruct *>:'
	DB	':~SimpleDynVecClass', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ$0
__ehfuncinfo$??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ PROC ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::~SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>, COMDAT
; _this$ = ecx

; 271  : 	{

	push	-1
	push	__ehhandler$??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@
	xor	edi, edi

; 272  : 		if (Vector)

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	je	SHORT $LN1@SimpleDynV@7

; 273  : 		{
; 274  : 			delete[] Vector;

	push	OFFSET ??_C@_0FN@EGHLKBMJ@SimpleDynVecClass?$DMstruct?5FileVer@
	push	274					; 00000112H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 275  : 			Vector = 0;

	mov	DWORD PTR [esi+4], edi
$LN1@SimpleDynV@7:

; 276  : 		}
; 277  : 	}

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@6B@
	je	SHORT $LN7@SimpleDynV@7
	push	OFFSET ??_C@_0FH@FDFBJJHF@SimpleVecClass?$DMstruct?5FileVerifi@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi+8], edi
$LN7@SimpleDynV@7:
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::~SimpleVecClass<FileVerificationController::PlayerInfoStruct *>
__ehhandler$??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ ENDP ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::~SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>
; Function compile flags: /Ogtpy
;	COMDAT ?Resize@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z
_TEXT	SEGMENT
_newsize$ = 8						; size = 4
?Resize@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z PROC ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::Resize, COMDAT
; _this$ = ecx

; 280  : 		if (SimpleVecClass<T>::Resize(newsize))

	mov	eax, DWORD PTR _newsize$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	?Resize@?$SimpleVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z ; SimpleVecClass<FileVerificationController::PlayerInfoStruct *>::Resize
	test	al, al
	je	SHORT $LN2@Resize@7

; 281  : 		{
; 282  : 			if (VectorMax < ActiveCount)

	mov	eax, DWORD PTR [esi+8]
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $LN1@Resize@7

; 283  : 			{
; 284  : 				ActiveCount = VectorMax;

	mov	DWORD PTR [esi+12], eax
$LN1@Resize@7:

; 285  : 			}
; 286  : 			return true;

	mov	al, 1
	pop	esi

; 289  : 	}

	ret	4
$LN2@Resize@7:

; 287  : 		}
; 288  : 		return false;

	xor	al, al
	pop	esi

; 289  : 	}

	ret	4
?Resize@?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE_NH@Z ENDP ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::Resize
_TEXT	ENDS
PUBLIC	??_7?$SimpleDynVecClass@_N@@6B@			; SimpleDynVecClass<bool>::`vftable'
PUBLIC	??0?$SimpleDynVecClass@_N@@QAE@H@Z		; SimpleDynVecClass<bool>::SimpleDynVecClass<bool>
PUBLIC	??_R4?$SimpleDynVecClass@_N@@6B@		; SimpleDynVecClass<bool>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleDynVecClass@_N@@@8		; SimpleDynVecClass<bool> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleDynVecClass@_N@@8			; SimpleDynVecClass<bool>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleDynVecClass@_N@@8			; SimpleDynVecClass<bool>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleDynVecClass@_N@@8		; SimpleDynVecClass<bool>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Resize@?$SimpleDynVecClass@_N@@UAE_NH@Z	; SimpleDynVecClass<bool>::Resize
EXTRN	??_E?$SimpleDynVecClass@_N@@UAEPAXI@Z:PROC	; SimpleDynVecClass<bool>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleDynVecClass@_N@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleDynVecClass@_N@@8 DD FLAT:??_R0?AV?$SimpleDynVecClass@_N@@@8 ; SimpleDynVecClass<bool>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleDynVecClass@_N@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleDynVecClass@_N@@8
rdata$r	SEGMENT
??_R2?$SimpleDynVecClass@_N@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleDynVecClass@_N@@8 ; SimpleDynVecClass<bool>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$SimpleVecClass@_N@@8
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleDynVecClass@_N@@8
rdata$r	SEGMENT
??_R3?$SimpleDynVecClass@_N@@8 DD 00H			; SimpleDynVecClass<bool>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$SimpleDynVecClass@_N@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleDynVecClass@_N@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleDynVecClass@_N@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleDynVecClass<bool> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleDynVecClass@_N@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleDynVecClass@_N@@6B@
rdata$r	SEGMENT
??_R4?$SimpleDynVecClass@_N@@6B@ DD 00H			; SimpleDynVecClass<bool>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleDynVecClass@_N@@@8
	DD	FLAT:??_R3?$SimpleDynVecClass@_N@@8
rdata$r	ENDS
;	COMDAT ??_7?$SimpleDynVecClass@_N@@6B@
CONST	SEGMENT
??_7?$SimpleDynVecClass@_N@@6B@ DD FLAT:??_R4?$SimpleDynVecClass@_N@@6B@ ; SimpleDynVecClass<bool>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@_N@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleDynVecClass@_N@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleDynVecClass@_N@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$SimpleDynVecClass@_N@@QAE@H@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleDynVecClass@_N@@QAE@H@Z PROC			; SimpleDynVecClass<bool>::SimpleDynVecClass<bool>, COMDAT
; _this$ = ecx

; 259  : 	{

	push	esi
	xor	eax, eax
	push	edi
	mov	edi, DWORD PTR _size$[esp+4]
	cmp	edi, eax
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@_N@@6B@
	mov	DWORD PTR [esi+4], eax
	mov	DWORD PTR [esi+8], eax
	jbe	SHORT $LN4@SimpleDynV@8
	push	edi
	call	?Resize@?$SimpleVecClass@_N@@UAE_NH@Z	; SimpleVecClass<bool>::Resize
$LN4@SimpleDynV@8:

; 260  : 		ActiveCount = size;

	mov	DWORD PTR [esi+12], edi
	pop	edi
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleDynVecClass@_N@@6B@

; 261  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleDynVecClass@_N@@QAE@H@Z ENDP			; SimpleDynVecClass<bool>::SimpleDynVecClass<bool>
_TEXT	ENDS
PUBLIC	??_C@_0CM@JFOCFJOG@SimpleDynVecClass?$DMbool?$DO?3?3?$HOSimple@ ; `string'
PUBLIC	??1?$SimpleDynVecClass@_N@@UAE@XZ		; SimpleDynVecClass<bool>::~SimpleDynVecClass<bool>
;	COMDAT ??_C@_0CM@JFOCFJOG@SimpleDynVecClass?$DMbool?$DO?3?3?$HOSimple@
CONST	SEGMENT
??_C@_0CM@JFOCFJOG@SimpleDynVecClass?$DMbool?$DO?3?3?$HOSimple@ DB 'Simpl'
	DB	'eDynVecClass<bool>::~SimpleDynVecClass', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$SimpleDynVecClass@_N@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$SimpleDynVecClass@_N@@UAE@XZ$0
__ehfuncinfo$??1?$SimpleDynVecClass@_N@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$SimpleDynVecClass@_N@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1?$SimpleDynVecClass@_N@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$SimpleDynVecClass@_N@@UAE@XZ PROC			; SimpleDynVecClass<bool>::~SimpleDynVecClass<bool>, COMDAT
; _this$ = ecx

; 271  : 	{

	push	-1
	push	__ehhandler$??1?$SimpleDynVecClass@_N@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleDynVecClass@_N@@6B@
	xor	edi, edi

; 272  : 		if (Vector)

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	je	SHORT $LN1@SimpleDynV@9

; 273  : 		{
; 274  : 			delete[] Vector;

	push	OFFSET ??_C@_0CM@JFOCFJOG@SimpleDynVecClass?$DMbool?$DO?3?3?$HOSimple@
	push	274					; 00000112H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 275  : 			Vector = 0;

	mov	DWORD PTR [esi+4], edi
$LN1@SimpleDynV@9:

; 276  : 		}
; 277  : 	}

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@_N@@6B@
	je	SHORT $LN7@SimpleDynV@9
	push	OFFSET ??_C@_0CG@NMAJMNDK@SimpleVecClass?$DMbool?$DO?3?3?$HOSimpleVec@
	push	191					; 000000bfH
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi+8], edi
$LN7@SimpleDynV@9:
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$SimpleDynVecClass@_N@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$SimpleVecClass@_N@@UAE@XZ		; SimpleVecClass<bool>::~SimpleVecClass<bool>
__ehhandler$??1?$SimpleDynVecClass@_N@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$SimpleDynVecClass@_N@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$SimpleDynVecClass@_N@@UAE@XZ ENDP			; SimpleDynVecClass<bool>::~SimpleDynVecClass<bool>
; Function compile flags: /Ogtpy
;	COMDAT ?Resize@?$SimpleDynVecClass@_N@@UAE_NH@Z
_TEXT	SEGMENT
_newsize$ = 8						; size = 4
?Resize@?$SimpleDynVecClass@_N@@UAE_NH@Z PROC		; SimpleDynVecClass<bool>::Resize, COMDAT
; _this$ = ecx

; 280  : 		if (SimpleVecClass<T>::Resize(newsize))

	mov	eax, DWORD PTR _newsize$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	?Resize@?$SimpleVecClass@_N@@UAE_NH@Z	; SimpleVecClass<bool>::Resize
	test	al, al
	je	SHORT $LN2@Resize@8

; 281  : 		{
; 282  : 			if (VectorMax < ActiveCount)

	mov	eax, DWORD PTR [esi+8]
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $LN1@Resize@8

; 283  : 			{
; 284  : 				ActiveCount = VectorMax;

	mov	DWORD PTR [esi+12], eax
$LN1@Resize@8:

; 285  : 			}
; 286  : 			return true;

	mov	al, 1
	pop	esi

; 289  : 	}

	ret	4
$LN2@Resize@8:

; 287  : 		}
; 288  : 		return false;

	xor	al, al
	pop	esi

; 289  : 	}

	ret	4
?Resize@?$SimpleDynVecClass@_N@@UAE_NH@Z ENDP		; SimpleDynVecClass<bool>::Resize
_TEXT	ENDS
PUBLIC	??0?$_DebugHeapAllocator@D@std@@QAE@XZ		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_DebugHeapAllocator@D@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_DebugHeapAllocator@D@std@@QAE@XZ PROC		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	ret	0
??0?$_DebugHeapAllocator@D@std@@QAE@XZ ENDP		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$basic_istream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$basic_istream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z PROC ; std::basic_istream<char,std::char_traits<char> >::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	lea	esi, DWORD PTR [ecx-8]
	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx+4]
	lea	eax, DWORD PTR [esi+8]
	mov	DWORD PTR [edx+eax-8], OFFSET ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@
	push	eax
	mov	DWORD PTR [eax], OFFSET ??_7ios_base@std@@6B@
	call	?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z ; std::ios_base::_Ios_base_dtor
	add	esp, 4
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN13@scalar@16
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN13@scalar@16:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$basic_istream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z ENDP ; std::basic_istream<char,std::char_traits<char> >::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleDynVecClass@H@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleDynVecClass@H@@UAEPAXI@Z PROC		; SimpleDynVecClass<int>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$SimpleDynVecClass@H@@UAE@XZ	; SimpleDynVecClass<int>::~SimpleDynVecClass<int>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@17
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@17:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleDynVecClass@H@@UAEPAXI@Z ENDP		; SimpleDynVecClass<int>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleDynVecClass@K@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleDynVecClass@K@@UAEPAXI@Z PROC		; SimpleDynVecClass<unsigned long>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$SimpleDynVecClass@K@@UAE@XZ	; SimpleDynVecClass<unsigned long>::~SimpleDynVecClass<unsigned long>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@18
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@18:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleDynVecClass@K@@UAEPAXI@Z ENDP		; SimpleDynVecClass<unsigned long>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAEPAXI@Z PROC ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAE@XZ ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::~SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@19
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@19:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@UAEPAXI@Z ENDP ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleDynVecClass@_N@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleDynVecClass@_N@@UAEPAXI@Z PROC		; SimpleDynVecClass<bool>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$SimpleDynVecClass@_N@@UAE@XZ	; SimpleDynVecClass<bool>::~SimpleDynVecClass<bool>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@20
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@20:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleDynVecClass@_N@@UAEPAXI@Z ENDP		; SimpleDynVecClass<bool>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1_String_base@std@@QAE@XZ			; std::_String_base::~_String_base
; Function compile flags: /Ogtpy
;	COMDAT ??1_String_base@std@@QAE@XZ
_TEXT	SEGMENT
??1_String_base@std@@QAE@XZ PROC			; std::_String_base::~_String_base, COMDAT
; _this$ = ecx
	jmp	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
??1_String_base@std@@QAE@XZ ENDP			; std::_String_base::~_String_base
_TEXT	ENDS
PUBLIC	??1?$_Ranit_base@DHPBDABDV_Iterator_base@std@@@std@@QAE@XZ ; std::_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>::~_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$_Ranit_base@DHPBDABDV_Iterator_base@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$_Ranit_base@DHPBDABDV_Iterator_base@std@@@std@@QAE@XZ PROC ; std::_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>::~_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>, COMDAT
; _this$ = ecx
	jmp	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base
??1?$_Ranit_base@DHPBDABDV_Iterator_base@std@@@std@@QAE@XZ ENDP ; std::_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>::~_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>
_TEXT	ENDS
PUBLIC	??0_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z ; std::basic_istream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\istream
;	COMDAT ??0_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z
_TEXT	SEGMENT
__Istr$ = 8						; size = 4
??0_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z PROC ; std::basic_istream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base, COMDAT
; _this$ = ecx

; 55   : 			{	// lock the stream buffer, if there

	mov	eax, DWORD PTR __Istr$[esp-4]
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], eax

; 56   : 			if (_Myistr.rdbuf() != 0)

	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [edx+eax+40]
	test	eax, eax
	je	SHORT $LN10@Sentry_bas@2

; 57   : 				_Myistr.rdbuf()->_Lock();

	lea	ecx, DWORD PTR [eax+4]
	call	?_Lock@_Mutex@std@@QAEXXZ		; std::_Mutex::_Lock
$LN10@Sentry_bas@2:

; 58   : 			}

	mov	eax, esi
	pop	esi
	ret	4
??0_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z ENDP ; std::basic_istream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
_TEXT	ENDS
PUBLIC	?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::sbumpc
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
;	COMDAT ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
_TEXT	SEGMENT
?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::sbumpc, COMDAT
; _this$ = ecx

; 106  : 		return (0 < _Gnavail()
; 107  : 			? _Traits::to_int_type(*_Gninc()) : uflow());

	mov	eax, DWORD PTR [ecx+32]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN3@sbumpc
	mov	edx, DWORD PTR [ecx+48]
	cmp	DWORD PTR [edx], 0
	jle	SHORT $LN3@sbumpc
	mov	eax, edx
	add	DWORD PTR [eax], -1
	mov	ecx, DWORD PTR [ecx+32]
	mov	eax, DWORD PTR [ecx]
	lea	edx, DWORD PTR [eax+1]
	mov	DWORD PTR [ecx], edx
	movzx	eax, BYTE PTR [eax]

; 108  : 		}

	ret	0
$LN3@sbumpc:

; 106  : 		return (0 < _Gnavail()
; 107  : 			? _Traits::to_int_type(*_Gninc()) : uflow());

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+20]
	jmp	edx
?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::sbumpc
_TEXT	ENDS
PUBLIC	??D?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEAADXZ ; std::_String_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
;	COMDAT ??D?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEAADXZ
_TEXT	SEGMENT
??D?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEAADXZ PROC ; std::_String_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*, COMDAT
; _this$ = ecx

; 368  : 		return ((reference)**(_Mybase *)this);

	jmp	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
??D?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEAADXZ ENDP ; std::_String_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
_TEXT	ENDS
PUBLIC	??0_String_base@std@@QAE@XZ			; std::_String_base::_String_base
; Function compile flags: /Ogtpy
;	COMDAT ??0_String_base@std@@QAE@XZ
_TEXT	SEGMENT
??0_String_base@std@@QAE@XZ PROC			; std::_String_base::_String_base, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], 0
	ret	0
??0_String_base@std@@QAE@XZ ENDP			; std::_String_base::_String_base
_TEXT	ENDS
PUBLIC	??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z PROC	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	ret	4
??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z ENDP	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
_TEXT	ENDS
PUBLIC	?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign
; Function compile flags: /Ogtpy
;	COMDAT ?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
__Count$ = 12						; size = 4
__Ch$ = 16						; size = 1
?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign, COMDAT
; _this$ = ecx

; 1993 : 		if (_Count == 1)

	mov	eax, DWORD PTR __Count$[esp-4]
	cmp	eax, 1
	jne	SHORT $LN2@Chassign

; 1994 : 			_Traits::assign(*(_Myptr() + _Off), _Ch);

	cmp	DWORD PTR [ecx+28], 16			; 00000010H
	jb	SHORT $LN7@Chassign
	mov	ecx, DWORD PTR [ecx+8]
	mov	al, BYTE PTR __Ch$[esp-4]
	mov	edx, DWORD PTR __Off$[esp-4]
	mov	BYTE PTR [ecx+edx], al

; 1997 : 		}

	ret	12					; 0000000cH

; 1994 : 			_Traits::assign(*(_Myptr() + _Off), _Ch);

$LN7@Chassign:
	mov	al, BYTE PTR __Ch$[esp-4]
	mov	edx, DWORD PTR __Off$[esp-4]
	add	ecx, 8
	mov	BYTE PTR [ecx+edx], al

; 1997 : 		}

	ret	12					; 0000000cH
$LN2@Chassign:

; 1995 : 		else
; 1996 : 			_Traits::assign(_Myptr() + _Off, _Count, _Ch);

	cmp	DWORD PTR [ecx+28], 16			; 00000010H
	jb	SHORT $LN13@Chassign
	mov	ecx, DWORD PTR [ecx+8]
	jmp	SHORT $LN14@Chassign
$LN13@Chassign:
	add	ecx, 8
$LN14@Chassign:
	mov	edx, DWORD PTR __Off$[esp-4]
	push	eax
	movsx	eax, BYTE PTR __Ch$[esp]
	push	eax
	add	ecx, edx
	push	ecx
	call	_memset
	add	esp, 12					; 0000000cH

; 1997 : 		}

	ret	12					; 0000000cH
?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign
_TEXT	ENDS
PUBLIC	?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos
; Function compile flags: /Ogtpy
;	COMDAT ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z
_TEXT	SEGMENT
__Newsize$ = 8						; size = 4
?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos, COMDAT
; _this$ = ecx

; 2031 : 		_Traits::assign(_Myptr()[_Mysize = _Newsize], _Elem());

	cmp	DWORD PTR [ecx+28], 16			; 00000010H
	mov	eax, DWORD PTR __Newsize$[esp-4]
	mov	DWORD PTR [ecx+24], eax
	jb	SHORT $LN5@Eos
	mov	ecx, DWORD PTR [ecx+8]
	mov	BYTE PTR [ecx+eax], 0

; 2032 : 		}

	ret	4

; 2031 : 		_Traits::assign(_Myptr()[_Mysize = _Newsize], _Elem());

$LN5@Eos:
	mov	BYTE PTR [ecx+eax+8], 0

; 2032 : 		}

	ret	4
?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos
_TEXT	ENDS
PUBLIC	?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ ; std::basic_streambuf<char,std::char_traits<char> >::getloc
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
;	COMDAT ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ
_TEXT	SEGMENT
$T64408 = -4						; size = 4
__Lock$64421 = 8					; size = 4
___$ReturnUdt$ = 8					; size = 4
?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::getloc, COMDAT
; _this$ = ecx

; 89   : 		{	// get locale

	push	ecx

; 90   : 		return (*_Plocale);

	mov	eax, DWORD PTR [ecx+56]
	push	esi
	mov	esi, DWORD PTR [eax]
	push	edi
	mov	edi, DWORD PTR ___$ReturnUdt$[esp+8]
	push	0
	lea	ecx, DWORD PTR __Lock$64421[esp+12]
	mov	DWORD PTR $T64408[esp+16], 0
	mov	DWORD PTR [edi], esi
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	mov	eax, DWORD PTR [esi+4]
	cmp	eax, -1
	jae	SHORT $LN7@getloc@2
	add	eax, 1
	mov	DWORD PTR [esi+4], eax
$LN7@getloc@2:
	lea	ecx, DWORD PTR __Lock$64421[esp+8]
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	mov	eax, edi
	pop	edi
	pop	esi

; 91   : 		}

	pop	ecx
	ret	4
?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::getloc
_TEXT	ENDS
PUBLIC	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Init
; Function compile flags: /Ogtpy
;	COMDAT ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ
_TEXT	SEGMENT
?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Init, COMDAT
; _this$ = ecx

; 283  : 		_IGfirst = &_Gfirst, _IPfirst = &_Pfirst;
; 284  : 		_IGnext = &_Gnext, _IPnext = &_Pnext;

	lea	edx, DWORD PTR [ecx+24]
	mov	DWORD PTR [ecx+32], edx
	lea	edx, DWORD PTR [ecx+28]
	mov	DWORD PTR [ecx+36], edx
	lea	eax, DWORD PTR [ecx+8]
	mov	DWORD PTR [ecx+16], eax

; 285  : 		_IGcount = &_Gcount, _IPcount = &_Pcount;

	lea	edx, DWORD PTR [ecx+40]
	mov	DWORD PTR [ecx+48], edx
	lea	eax, DWORD PTR [ecx+12]
	mov	DWORD PTR [ecx+20], eax
	lea	edx, DWORD PTR [ecx+44]
	mov	DWORD PTR [ecx+52], edx

; 286  : 		setp(0, 0), setg(0, 0, 0);

	mov	DWORD PTR [eax], 0
	mov	eax, DWORD PTR [ecx+36]
	mov	DWORD PTR [eax], 0
	mov	edx, DWORD PTR [ecx+52]
	mov	DWORD PTR [edx], 0
	mov	eax, DWORD PTR [ecx+16]
	mov	DWORD PTR [eax], 0
	mov	edx, DWORD PTR [ecx+32]
	mov	DWORD PTR [edx], 0
	mov	eax, DWORD PTR [ecx+48]
	mov	DWORD PTR [eax], 0

; 287  : 		}

	ret	0
?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Init
_TEXT	ENDS
PUBLIC	?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
;	COMDAT ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
_TEXT	SEGMENT
?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size, COMDAT
; _this$ = ecx

; 1642 : 		size_type _Num = _Mybase::_Alval.max_size();
; 1643 : 		return (_Num <= 1 ? 1 : _Num - 1);

	mov	eax, -2					; fffffffeH

; 1644 : 		}

	ret	0
?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size
_TEXT	ENDS
PUBLIC	?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside
; Function compile flags: /Ogtpy
;	COMDAT ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside, COMDAT
; _this$ = ecx

; 2050 : 		{	// test if _Ptr points inside string

	push	esi
	push	edi

; 2051 : 		_DEBUG_POINTER(_Ptr);

	mov	edi, DWORD PTR __Ptr$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jne	SHORT $LN6@Inside
	push	2051					; 00000803H
	push	OFFSET ??_C@_1HM@PJLEMLGA@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN6@Inside:

; 2052 : 		if (_Ptr < _Myptr() || _Myptr() + _Mysize <= _Ptr)

	mov	edx, DWORD PTR [esi+28]
	cmp	edx, 16					; 00000010H
	lea	eax, DWORD PTR [esi+8]
	jb	SHORT $LN11@Inside
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN12@Inside
$LN11@Inside:
	mov	ecx, eax
$LN12@Inside:
	cmp	edi, ecx
	jb	SHORT $LN2@Inside
	cmp	edx, 16					; 00000010H
	jb	SHORT $LN15@Inside
	mov	eax, DWORD PTR [eax]
$LN15@Inside:
	mov	ecx, DWORD PTR [esi+24]
	add	ecx, eax
	cmp	ecx, edi
	jbe	SHORT $LN2@Inside
	pop	edi

; 2054 : 		else
; 2055 : 			return (true);

	mov	al, 1
	pop	esi

; 2056 : 		}

	ret	4
$LN2@Inside:
	pop	edi

; 2053 : 			return (false);	// don't ask

	xor	al, al
	pop	esi

; 2056 : 		}

	ret	4
?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside
_TEXT	ENDS
PUBLIC	??0?$_Ranit_base@DHPBDABDV_Iterator_base@std@@@std@@QAE@XZ ; std::_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>::_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Ranit_base@DHPBDABDV_Iterator_base@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_Ranit_base@DHPBDABDV_Iterator_base@std@@@std@@QAE@XZ PROC ; std::_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>::_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], 0
	mov	DWORD PTR [eax+4], 0
	ret	0
??0?$_Ranit_base@DHPBDABDV_Iterator_base@std@@@std@@QAE@XZ ENDP ; std::_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>::_Ranit_base<char,int,char const *,char const &,std::_Iterator_base>
_TEXT	ENDS
PUBLIC	?allocate@?$allocator@D@std@@QAEPADI@Z		; std::allocator<char>::allocate
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ?allocate@?$allocator@D@std@@QAEPADI@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
?allocate@?$allocator@D@std@@QAEPADI@Z PROC		; std::allocator<char>::allocate, COMDAT
; _this$ = ecx

; 146  : 		return (_Allocate(_Count, (pointer)0));

	mov	eax, DWORD PTR __Count$[esp-4]
	push	0
	push	eax
	call	??$_Allocate@D@std@@YAPADIPAD@Z		; std::_Allocate<char>
	add	esp, 8

; 147  : 		}

	ret	4
?allocate@?$allocator@D@std@@QAEPADI@Z ENDP		; std::allocator<char>::allocate
_TEXT	ENDS
PUBLIC	??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@ ; `string'
PUBLIC	??_C@_0DC@EJMNENJI@ScriptRegistrant?$DMclass?5SH_Consol@ ; `string'
;	COMDAT ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@ DB 'd:\source'
	DB	' code\stgm\scripts.h', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0DC@EJMNENJI@ScriptRegistrant?$DMclass?5SH_Consol@
CONST	SEGMENT
??_C@_0DC@EJMNENJI@ScriptRegistrant?$DMclass?5SH_Consol@ DB 'ScriptRegist'
	DB	'rant<class SH_ConsoleCommand>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T64482 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SH_ConsoleCommand>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0DC@EJMNENJI@ScriptRegistrant?$DMclass?5SH_Consol@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T64482[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SH_ConsoleCommand@@6B@
	jmp	SHORT $LN4@Create
$LN3@Create:
	xor	esi, esi
$LN4@Create:

; 489  : 	scr->SetFactory(this);
; 490  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 491  : 	return scr;
; 492  : };

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T64482[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSH_ConsoleCommand@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SH_ConsoleCommand>::Create
PUBLIC	??_C@_0CP@OEAFNOJ@ScriptRegistrant?$DMclass?5SH_PCT_Po@ ; `string'
;	COMDAT ??_C@_0CP@OEAFNOJ@ScriptRegistrant?$DMclass?5SH_PCT_Po@
CONST	SEGMENT
??_C@_0CP@OEAFNOJ@ScriptRegistrant?$DMclass?5SH_PCT_Po@ DB 'ScriptRegistr'
	DB	'ant<class SH_PCT_Powerup>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T64505 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SH_PCT_Powerup>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0CP@OEAFNOJ@ScriptRegistrant?$DMclass?5SH_PCT_Po@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T64505[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@2
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SH_PCT_Powerup@@6B@
	jmp	SHORT $LN4@Create@2
$LN3@Create@2:
	xor	esi, esi
$LN4@Create@2:

; 489  : 	scr->SetFactory(this);
; 490  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 491  : 	return scr;
; 492  : };

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T64505[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSH_PCT_Powerup@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SH_PCT_Powerup>::Create
PUBLIC	??_C@_0CO@MDOPKGJD@ScriptRegistrant?$DMclass?5SH_PCT_Cu@ ; `string'
;	COMDAT ??_C@_0CO@MDOPKGJD@ScriptRegistrant?$DMclass?5SH_PCT_Cu@
CONST	SEGMENT
??_C@_0CO@MDOPKGJD@ScriptRegistrant?$DMclass?5SH_PCT_Cu@ DB 'ScriptRegist'
	DB	'rant<class SH_PCT_Custom>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T64528 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SH_PCT_Custom>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0CO@MDOPKGJD@ScriptRegistrant?$DMclass?5SH_PCT_Cu@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T64528[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@3
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SH_PCT_Custom@@6B@
	jmp	SHORT $LN4@Create@3
$LN3@Create@3:
	xor	esi, esi
$LN4@Create@3:

; 489  : 	scr->SetFactory(this);
; 490  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 491  : 	return scr;
; 492  : };

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T64528[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSH_PCT_Custom@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SH_PCT_Custom>::Create
PUBLIC	??_C@_0DE@BONHBJNN@ScriptRegistrant?$DMclass?5SH_Spawn_@ ; `string'
;	COMDAT ??_C@_0DE@BONHBJNN@ScriptRegistrant?$DMclass?5SH_Spawn_@
CONST	SEGMENT
??_C@_0DE@BONHBJNN@ScriptRegistrant?$DMclass?5SH_Spawn_@ DB 'ScriptRegist'
	DB	'rant<class SH_Spawn_Difficulty>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T64551 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SH_Spawn_Difficulty>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0DE@BONHBJNN@ScriptRegistrant?$DMclass?5SH_Spawn_@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T64551[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@4
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SH_Spawn_Difficulty@@6B@
	jmp	SHORT $LN4@Create@4
$LN3@Create@4:
	xor	esi, esi
$LN4@Create@4:

; 489  : 	scr->SetFactory(this);
; 490  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 491  : 	return scr;
; 492  : };

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T64551[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SH_Spawn_Difficulty>::Create
PUBLIC	??_C@_0EE@KDEHLCIP@ScriptRegistrant?$DMclass?5SH_FileVe@ ; `string'
;	COMDAT ??_C@_0EE@KDEHLCIP@ScriptRegistrant?$DMclass?5SH_FileVe@
CONST	SEGMENT
??_C@_0EE@KDEHLCIP@ScriptRegistrant?$DMclass?5SH_FileVe@ DB 'ScriptRegist'
	DB	'rant<class SH_FileVerificationControllerScript>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T64574 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SH_FileVerificationControllerScript>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0EE@KDEHLCIP@ScriptRegistrant?$DMclass?5SH_FileVe@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T64574[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@5
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SH_FileVerificationControllerScript@@6B@
	jmp	SHORT $LN4@Create@5
$LN3@Create@5:
	xor	esi, esi
$LN4@Create@5:

; 489  : 	scr->SetFactory(this);
; 490  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 491  : 	return scr;
; 492  : };

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T64574[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SH_FileVerificationControllerScript>::Create
PUBLIC	??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z ; std::_Traits_helper::copy_s<std::char_traits<char> >
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
;	COMDAT ??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size$ = 12						; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z PROC ; std::_Traits_helper::copy_s<std::char_traits<char> >, COMDAT

; 582  : 		return copy_s<_Traits>(_First1, _Size, _First2, _Count, _Char_traits_cat<_Traits>());

	mov	eax, DWORD PTR __Count$[esp-4]
	mov	ecx, DWORD PTR __First2$[esp-4]
	mov	edx, DWORD PTR __Size$[esp-4]
	push	esi
	mov	esi, DWORD PTR __First1$[esp]
	push	eax
	push	ecx
	push	edx
	push	esi
	call	_memcpy_s
	add	esp, 16					; 00000010H
	mov	eax, esi
	pop	esi

; 583  : 	}

	ret	0
??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z ENDP ; std::_Traits_helper::copy_s<std::char_traits<char> >
_TEXT	ENDS
PUBLIC	??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z ; std::_Traits_helper::move_s<std::char_traits<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size$ = 12						; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z PROC ; std::_Traits_helper::move_s<std::char_traits<char> >, COMDAT

; 609  : 		return move_s<_Traits>(_First1, _Size, _First2, _Count, _Char_traits_cat<_Traits>());

	mov	eax, DWORD PTR __Count$[esp-4]
	mov	ecx, DWORD PTR __First2$[esp-4]
	mov	edx, DWORD PTR __Size$[esp-4]
	push	esi
	mov	esi, DWORD PTR __First1$[esp]
	push	eax
	push	ecx
	push	edx
	push	esi
	call	_memmove_s
	add	esp, 16					; 00000010H
	mov	eax, esi
	pop	esi

; 610  : 	}

	ret	0
??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z ENDP ; std::_Traits_helper::move_s<std::char_traits<char> >
_TEXT	ENDS
PUBLIC	??_Glocale@std@@QAEPAXI@Z			; std::locale::`scalar deleting destructor'
; Function compile flags: /Ogtpy
;	COMDAT ??_Glocale@std@@QAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Glocale@std@@QAEPAXI@Z PROC				; std::locale::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1locale@std@@QAE@XZ			; std::locale::~locale
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@21
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@21:
	mov	eax, esi
	pop	esi
	ret	4
??_Glocale@std@@QAEPAXI@Z ENDP				; std::locale::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSH_ConsoleCommand@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSH_ConsoleCommand@@UAEPAXI@Z PROC			; SH_ConsoleCommand::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@22
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@22:
	mov	eax, esi
	pop	esi
	ret	4
??_GSH_ConsoleCommand@@UAEPAXI@Z ENDP			; SH_ConsoleCommand::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSH_PCT_Powerup@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSH_PCT_Powerup@@UAEPAXI@Z PROC			; SH_PCT_Powerup::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@23
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@23:
	mov	eax, esi
	pop	esi
	ret	4
??_GSH_PCT_Powerup@@UAEPAXI@Z ENDP			; SH_PCT_Powerup::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSH_PCT_Custom@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSH_PCT_Custom@@UAEPAXI@Z PROC			; SH_PCT_Custom::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@24
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@24:
	mov	eax, esi
	pop	esi
	ret	4
??_GSH_PCT_Custom@@UAEPAXI@Z ENDP			; SH_PCT_Custom::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSH_Spawn_Difficulty@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSH_Spawn_Difficulty@@UAEPAXI@Z PROC			; SH_Spawn_Difficulty::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@25
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@25:
	mov	eax, esi
	pop	esi
	ret	4
??_GSH_Spawn_Difficulty@@UAEPAXI@Z ENDP			; SH_Spawn_Difficulty::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSH_FileVerificationControllerScript@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSH_FileVerificationControllerScript@@UAEPAXI@Z PROC	; SH_FileVerificationControllerScript::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@26
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@26:
	mov	eax, esi
	pop	esi
	ret	4
??_GSH_FileVerificationControllerScript@@UAEPAXI@Z ENDP	; SH_FileVerificationControllerScript::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??3facet@locale@std@@SAXPAXABU_DebugHeapTag_t@2@PADH@Z ; std::locale::facet::operator delete
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
;	COMDAT ??3facet@locale@std@@SAXPAXABU_DebugHeapTag_t@2@PADH@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
___formal$ = 20						; size = 4
??3facet@locale@std@@SAXPAXABU_DebugHeapTag_t@2@PADH@Z PROC ; std::locale::facet::operator delete, COMDAT

; 152  : 			{	// replace debugging operator delete

	push	esi

; 153  : 			operator delete(_Ptr);

	mov	esi, DWORD PTR __Ptr$[esp]
	test	esi, esi
	je	SHORT $LN5@operator@4
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax]
	push	0
	mov	ecx, esi
	call	edx
	push	esi
	call	_free
	add	esp, 4
$LN5@operator@4:
	pop	esi

; 154  : 			}

	ret	0
??3facet@locale@std@@SAXPAXABU_DebugHeapTag_t@2@PADH@Z ENDP ; std::locale::facet::operator delete
_TEXT	ENDS
PUBLIC	??1sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ ; std::basic_istream<char,std::char_traits<char> >::sentry::~sentry
; Function compile flags: /Ogtpy
;	COMDAT ??1sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??1sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ PROC ; std::basic_istream<char,std::char_traits<char> >::sentry::~sentry, COMDAT
; _this$ = ecx
	mov	eax, DWORD PTR [ecx]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [edx+eax+40]
	test	eax, eax
	je	SHORT $LN11@sentry
	lea	ecx, DWORD PTR [eax+4]
	jmp	?_Unlock@_Mutex@std@@QAEXXZ		; std::_Mutex::_Unlock
$LN11@sentry:
	ret	0
??1sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ ENDP ; std::basic_istream<char,std::char_traits<char> >::sentry::~sentry
_TEXT	ENDS
PUBLIC	??_GPlayerInfoStruct@FileVerificationController@@QAEPAXI@Z ; FileVerificationController::PlayerInfoStruct::`scalar deleting destructor'
; Function compile flags: /Ogtpy
;	COMDAT ??_GPlayerInfoStruct@FileVerificationController@@QAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GPlayerInfoStruct@FileVerificationController@@QAEPAXI@Z PROC ; FileVerificationController::PlayerInfoStruct::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1PlayerInfoStruct@FileVerificationController@@QAE@XZ ; FileVerificationController::PlayerInfoStruct::~PlayerInfoStruct
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@27
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@27:
	mov	eax, esi
	pop	esi
	ret	4
??_GPlayerInfoStruct@FileVerificationController@@QAEPAXI@Z ENDP ; FileVerificationController::PlayerInfoStruct::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?NotifyHook@FileVerificationController@@KAXPAXH@Z ; FileVerificationController::NotifyHook
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
;	COMDAT ?NotifyHook@FileVerificationController@@KAXPAXH@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_parameter$ = 12					; size = 4
?NotifyHook@FileVerificationController@@KAXPAXH@Z PROC	; FileVerificationController::NotifyHook, COMDAT

; 212  : 	NotifyCallbackData *notifydata = (NotifyCallbackData *) data;
; 213  : 	VerifyController->ProcessFile(notifydata->PlayerID, notifydata->FileID, parameter);

	mov	eax, DWORD PTR _parameter$[esp-4]
	push	eax
	mov	eax, DWORD PTR _data$[esp]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	push	ecx
	mov	ecx, DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A ; VerifyController
	push	edx
	call	?ProcessFile@FileVerificationController@@QAEXHHK@Z ; FileVerificationController::ProcessFile

; 214  : }

	ret	0
?NotifyHook@FileVerificationController@@KAXPAXH@Z ENDP	; FileVerificationController::NotifyHook
_TEXT	ENDS
PUBLIC	?VerifyDoneNotifyHook@FileVerificationController@@KAXPAXH@Z ; FileVerificationController::VerifyDoneNotifyHook
; Function compile flags: /Ogtpy
;	COMDAT ?VerifyDoneNotifyHook@FileVerificationController@@KAXPAXH@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_parameter$ = 12					; size = 4
?VerifyDoneNotifyHook@FileVerificationController@@KAXPAXH@Z PROC ; FileVerificationController::VerifyDoneNotifyHook, COMDAT

; 217  : 	int player = (int) data;
; 218  : 	VerifyController->PlayerVerifyTimeout(player);

	mov	eax, DWORD PTR _data$[esp-4]
	mov	ecx, DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A ; VerifyController
	push	eax
	call	?PlayerVerifyTimeout@FileVerificationController@@QAEXH@Z ; FileVerificationController::PlayerVerifyTimeout

; 219  : }

	ret	0
?VerifyDoneNotifyHook@FileVerificationController@@KAXPAXH@Z ENDP ; FileVerificationController::VerifyDoneNotifyHook
_TEXT	ENDS
PUBLIC	??_C@_0CI@LPDKBFGC@FileVerificationController?3?3MapU@ ; `string'
PUBLIC	?MapUnloaded@FileVerificationController@@QAEXXZ	; FileVerificationController::MapUnloaded
;	COMDAT ??_C@_0CI@LPDKBFGC@FileVerificationController?3?3MapU@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0CI@LPDKBFGC@FileVerificationController?3?3MapU@ DB 'FileVerificati'
	DB	'onController::MapUnloaded', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ?MapUnloaded@FileVerificationController@@QAEXXZ
_TEXT	SEGMENT
?MapUnloaded@FileVerificationController@@QAEXXZ PROC	; FileVerificationController::MapUnloaded, COMDAT
; _this$ = ecx

; 277  : {

	push	esi
	push	edi
	mov	edi, ecx

; 278  : 	for (int i = 0; i < Players->Count(); ++i)

	mov	eax, DWORD PTR [edi+16]
	xor	esi, esi
	cmp	DWORD PTR [eax+12], esi
	jle	SHORT $LN2@MapUnloade
	push	ebx
	npad	1
$LL4@MapUnloade:

; 279  : 	{
; 280  : 		SAFE_DELETE((*Players)[i]);

	mov	eax, DWORD PTR [eax+4]
	cmp	DWORD PTR [eax+esi*4], 0
	je	SHORT $LN3@MapUnloade
	push	OFFSET ??_C@_0CI@LPDKBFGC@FileVerificationController?3?3MapU@
	push	280					; 00000118H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [edi+16]
	mov	edx, DWORD PTR [ecx+4]
	mov	ebx, DWORD PTR [edx+esi*4]
	add	esp, 12					; 0000000cH
	test	ebx, ebx
	je	SHORT $LN7@MapUnloade
	mov	ecx, ebx
	call	??1PlayerInfoStruct@FileVerificationController@@QAE@XZ ; FileVerificationController::PlayerInfoStruct::~PlayerInfoStruct
	push	ebx
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@MapUnloade:
	mov	eax, DWORD PTR [edi+16]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [ecx+esi*4], 0
$LN3@MapUnloade:
	mov	eax, DWORD PTR [edi+16]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+12]
	jl	SHORT $LL4@MapUnloade
	pop	ebx
$LN2@MapUnloade:

; 281  : 	}
; 282  : 	Players->ClearAll();

	mov	edi, DWORD PTR [edi+16]
	mov	edx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [edi+4]
	add	edx, edx
	add	edx, edx
	push	edx
	push	0
	push	eax
	call	_memset
	add	esp, 12					; 0000000cH
	pop	edi
	pop	esi

; 283  : }

	ret	0
?MapUnloaded@FileVerificationController@@QAEXXZ ENDP	; FileVerificationController::MapUnloaded
_TEXT	ENDS
PUBLIC	??_C@_0CH@EHNAPAMJ@FileVerificationController?3?3Play@ ; `string'
PUBLIC	?PlayerLeft@FileVerificationController@@QAEXH@Z	; FileVerificationController::PlayerLeft
;	COMDAT ??_C@_0CH@EHNAPAMJ@FileVerificationController?3?3Play@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0CH@EHNAPAMJ@FileVerificationController?3?3Play@ DB 'FileVerificati'
	DB	'onController::PlayerLeft', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ?PlayerLeft@FileVerificationController@@QAEXH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?PlayerLeft@FileVerificationController@@QAEXH@Z PROC	; FileVerificationController::PlayerLeft, COMDAT
; _this$ = ecx

; 307  : {

	push	esi
	mov	esi, ecx

; 308  : 	if (!UseVerification)

	cmp	BYTE PTR [esi], 0
	je	SHORT $LN3@PlayerLeft

; 309  : 	{
; 310  : 		return;
; 311  : 	}
; 312  : 	if ((*Players)[PlayerID])

	mov	eax, DWORD PTR [esi+16]
	mov	ecx, DWORD PTR [eax+4]
	push	ebx
	mov	ebx, DWORD PTR _PlayerID$[esp+4]
	cmp	DWORD PTR [ecx+ebx*4], 0
	je	SHORT $LN5@PlayerLeft
	push	edi

; 313  : 	{
; 314  : 		delete (*Players)[PlayerID];

	push	OFFSET ??_C@_0CH@EHNAPAMJ@FileVerificationController?3?3Play@
	push	314					; 0000013aH
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+16]
	mov	eax, DWORD PTR [edx+4]
	mov	edi, DWORD PTR [eax+ebx*4]
	add	esp, 12					; 0000000cH
	test	edi, edi
	je	SHORT $LN18@PlayerLeft
	mov	ecx, edi
	call	??1PlayerInfoStruct@FileVerificationController@@QAE@XZ ; FileVerificationController::PlayerInfoStruct::~PlayerInfoStruct
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN18@PlayerLeft:
	pop	edi
$LN5@PlayerLeft:

; 315  : 	}
; 316  : 	(*Players)[PlayerID] = 0;

	mov	ecx, DWORD PTR [esi+16]
	mov	edx, DWORD PTR [ecx+4]
	mov	DWORD PTR [edx+ebx*4], 0
	pop	ebx
$LN3@PlayerLeft:
	pop	esi

; 317  : }

	ret	4
?PlayerLeft@FileVerificationController@@QAEXH@Z ENDP	; FileVerificationController::PlayerLeft
_TEXT	ENDS
PUBLIC	?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::snextc
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
;	COMDAT ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
_TEXT	SEGMENT
?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::snextc, COMDAT
; _this$ = ecx

; 131  : 		{	// point to next character and return it

	push	esi
	mov	esi, ecx

; 132  : 		return (1 < _Gnavail()
; 133  : 			? _Traits::to_int_type(*_Gnpreinc())
; 134  : 			: _Traits::eq_int_type(_Traits::eof(), sbumpc())
; 135  : 				? _Traits::eof() : sgetc());

	mov	eax, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [eax]
	test	eax, eax
	je	SHORT $LN17@snextc
	mov	ecx, DWORD PTR [esi+48]
	mov	ecx, DWORD PTR [ecx]
	cmp	ecx, 1
	jle	SHORT $LN5@snextc
	mov	eax, DWORD PTR [esi+48]
	add	DWORD PTR [eax], -1
	mov	eax, DWORD PTR [esi+32]
	add	DWORD PTR [eax], 1
	mov	edx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [edx]
	movzx	eax, BYTE PTR [eax]
	pop	esi

; 136  : 		}

	ret	0
$LN5@snextc:

; 132  : 		return (1 < _Gnavail()
; 133  : 			? _Traits::to_int_type(*_Gnpreinc())
; 134  : 			: _Traits::eq_int_type(_Traits::eof(), sbumpc())
; 135  : 				? _Traits::eof() : sgetc());

	test	eax, eax
	je	SHORT $LN17@snextc
	mov	ecx, DWORD PTR [esi+48]
	cmp	DWORD PTR [ecx], 0
	jle	SHORT $LN17@snextc
	mov	eax, ecx
	add	DWORD PTR [eax], -1
	mov	eax, DWORD PTR [esi+32]
	mov	ecx, DWORD PTR [eax]
	lea	edx, DWORD PTR [ecx+1]
	mov	DWORD PTR [eax], edx
	movzx	eax, BYTE PTR [ecx]
	jmp	SHORT $LN18@snextc
$LN17@snextc:
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+20]
	mov	ecx, esi
	call	edx
$LN18@snextc:
	cmp	eax, -1
	jne	SHORT $LN3@snextc
	or	eax, eax
	pop	esi

; 136  : 		}

	ret	0
$LN3@snextc:

; 132  : 		return (1 < _Gnavail()
; 133  : 			? _Traits::to_int_type(*_Gnpreinc())
; 134  : 			: _Traits::eq_int_type(_Traits::eof(), sbumpc())
; 135  : 				? _Traits::eof() : sgetc());

	mov	eax, DWORD PTR [esi+32]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN35@snextc
	mov	ecx, DWORD PTR [esi+48]
	cmp	DWORD PTR [ecx], 0
	jle	SHORT $LN35@snextc
	mov	edx, DWORD PTR [eax]
	movzx	eax, BYTE PTR [edx]
	pop	esi

; 136  : 		}

	ret	0

; 132  : 		return (1 < _Gnavail()
; 133  : 			? _Traits::to_int_type(*_Gnpreinc())
; 134  : 			: _Traits::eq_int_type(_Traits::eof(), sbumpc())
; 135  : 				? _Traits::eof() : sgetc());

$LN35@snextc:
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+16]
	mov	ecx, esi
	pop	esi
	jmp	edx
?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::snextc
_TEXT	ENDS
PUBLIC	??1?$_String_val@DV?$allocator@D@std@@@std@@QAE@XZ ; std::_String_val<char,std::allocator<char> >::~_String_val<char,std::allocator<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??1?$_String_val@DV?$allocator@D@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$_String_val@DV?$allocator@D@std@@@std@@QAE@XZ PROC	; std::_String_val<char,std::allocator<char> >::~_String_val<char,std::allocator<char> >, COMDAT
; _this$ = ecx
	jmp	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
??1?$_String_val@DV?$allocator@D@std@@@std@@QAE@XZ ENDP	; std::_String_val<char,std::allocator<char> >::~_String_val<char,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??1?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::~_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??1?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ PROC ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::~_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx
	jmp	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base
??1?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ENDP ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::~_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >
_TEXT	ENDS
PUBLIC	?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase
EXTRN	?_Xran@_String_base@std@@SAXXZ:PROC		; std::_String_base::_Xran
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
;	COMDAT ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z
_TEXT	SEGMENT
tv130 = 8						; size = 4
__Off$ = 8						; size = 4
__Count$ = 12						; size = 4
?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase, COMDAT
; _this$ = ecx

; 1240 : 		{	// erase elements [_Off, _Off + _Count)

	push	ebx

; 1241 : 		if (_Mysize < _Off)

	mov	ebx, DWORD PTR __Off$[esp]
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+24], ebx
	push	edi
	jae	SHORT $LN3@erase

; 1242 : 			_String_base::_Xran();	// _Off off end

	call	?_Xran@_String_base@std@@SAXXZ		; std::_String_base::_Xran
$LN3@erase:

; 1243 : 		if (_Mysize - _Off < _Count)

	mov	eax, DWORD PTR [esi+24]
	mov	edi, DWORD PTR __Count$[esp+8]
	sub	eax, ebx
	cmp	eax, edi
	jae	SHORT $LN2@erase

; 1244 : 			_Count = _Mysize - _Off;	// trim _Count

	mov	edi, eax
$LN2@erase:

; 1245 : 		if (0 < _Count)

	test	edi, edi
	jbe	SHORT $LN30@erase

; 1246 : 			{	// move elements down
; 1247 : 			_Traits_helper::move_s<_Traits>(_Myptr() + _Off, _Myres - _Off, _Myptr() + _Off + _Count,
; 1248 : 				_Mysize - _Off - _Count);

	mov	ecx, DWORD PTR [esi+28]
	cmp	ecx, 16					; 00000010H
	push	ebp
	lea	ebp, DWORD PTR [esi+8]
	jb	SHORT $LN8@erase
	mov	edx, DWORD PTR [ebp]
	mov	DWORD PTR tv130[esp+12], edx
	jmp	SHORT $LN9@erase
$LN8@erase:
	mov	DWORD PTR tv130[esp+12], ebp
$LN9@erase:
	cmp	ecx, 16					; 00000010H
	jb	SHORT $LN12@erase
	mov	edx, DWORD PTR [ebp]
	jmp	SHORT $LN13@erase
$LN12@erase:
	mov	edx, ebp
$LN13@erase:
	sub	eax, edi
	push	eax
	mov	eax, DWORD PTR tv130[esp+16]
	add	eax, ebx
	add	eax, edi
	push	eax
	sub	ecx, ebx
	push	ecx
	add	edx, ebx
	push	edx
	call	_memmove_s

; 1249 : 			size_type _Newsize = _Mysize - _Count;

	mov	eax, DWORD PTR [esi+24]
	sub	eax, edi
	add	esp, 16					; 00000010H

; 1250 : 			_Eos(_Newsize);

	cmp	DWORD PTR [esi+28], 16			; 00000010H
	mov	DWORD PTR [esi+24], eax
	jb	SHORT $LN26@erase
	mov	ebp, DWORD PTR [ebp]
$LN26@erase:
	mov	BYTE PTR [eax+ebp], 0
	pop	ebp
$LN30@erase:
	pop	edi

; 1251 : 			}
; 1252 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebx

; 1253 : 		}

	ret	8
?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase
_TEXT	ENDS
PUBLIC	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy
; Function compile flags: /Ogtpy
;	COMDAT ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z
_TEXT	SEGMENT
__Built$ = 8						; size = 1
__Newsize$ = 12						; size = 4
?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy, COMDAT
; _this$ = ecx

; 2067 : 		if (!_Built)

	cmp	BYTE PTR __Built$[esp-4], 0
	push	esi
	push	edi
	mov	edi, DWORD PTR __Newsize$[esp+4]
	mov	esi, ecx
	je	SHORT $LN15@Tidy@2

; 2068 : 			;
; 2069 : 		else if (_BUF_SIZE <= _Myres)

	cmp	DWORD PTR [esi+28], 16			; 00000010H
	jb	SHORT $LN15@Tidy@2

; 2070 : 			{	// copy any leftovers to small buffer and deallocate
; 2071 : 			_Elem *_Ptr = _Bx._Ptr;
; 2072 : 			if (0 < _Newsize)

	test	edi, edi
	lea	eax, DWORD PTR [esi+8]
	push	ebx
	mov	ebx, DWORD PTR [eax]
	jbe	SHORT $LN13@Tidy@2

; 2073 : 				_Traits_helper::copy_s<_Traits>(_Bx._Buf, _BUF_SIZE, _Ptr, _Newsize);

	push	edi
	push	ebx
	push	16					; 00000010H
	push	eax
	call	_memcpy_s
	add	esp, 16					; 00000010H
$LN13@Tidy@2:

; 2074 : 			_Mybase::_Alval.deallocate(_Ptr, _Myres + 1);

	push	ebx
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
	pop	ebx
$LN15@Tidy@2:

; 2075 : 			}
; 2076 : 		_Myres = _BUF_SIZE - 1;
; 2077 : 		_Eos(_Newsize);

	mov	DWORD PTR [esi+24], edi
	mov	DWORD PTR [esi+28], 15			; 0000000fH
	mov	BYTE PTR [esi+edi+8], 0
	pop	edi
	pop	esi

; 2078 : 		}

	ret	8
?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy
_TEXT	ENDS
PUBLIC	??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z
_TEXT	SEGMENT
__Al$ = 8						; size = 1
??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z PROC ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >, COMDAT
; _this$ = ecx

; 471  : 		{	// construct allocator from _Al

	mov	eax, ecx
	mov	DWORD PTR [eax], 0

; 472  : 		}

	ret	4
??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z ENDP ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z PROC ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >, COMDAT
; _this$ = ecx

; 477  : 		{	// copy constructor

	mov	eax, ecx

; 478  : #if defined(_DEBUG)
; 479  : 		if (_Right._Myfirstiter == _IGNORE_MYITERLIST)

	mov	ecx, DWORD PTR __Right$[esp-4]
	mov	DWORD PTR [eax], 0
	cmp	DWORD PTR [ecx], -3			; fffffffdH
	jne	SHORT $LN1@String_val

; 480  : 			{
; 481  : 			this->_Myfirstiter = _IGNORE_MYITERLIST;

	mov	DWORD PTR [eax], -3			; fffffffdH
$LN1@String_val:

; 482  : 			}
; 483  : #endif
; 484  : 		}

	ret	4
??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z ENDP ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >
_TEXT	ENDS
PUBLIC	?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA ; `std::basic_filebuf<char,std::char_traits<char> >::_Init'::`2'::_Stinit
PUBLIC	?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z ; std::basic_filebuf<char,std::char_traits<char> >::_Init
;	COMDAT ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
_BSS	SEGMENT
?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA DD 01H DUP (?) ; `std::basic_filebuf<char,std::char_traits<char> >::_Init'::`2'::_Stinit
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
_BSS	ENDS
;	COMDAT ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z
_TEXT	SEGMENT
__File$ = 8						; size = 4
__Which$ = 12						; size = 4
?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z PROC ; std::basic_filebuf<char,std::char_traits<char> >::_Init, COMDAT
; _this$ = ecx

; 461  : 		__PURE_APPDOMAIN_GLOBAL static _Myst _Stinit;	// initial state
; 462  : 		_Closef = _Which == _Openfl;

	cmp	DWORD PTR __Which$[esp-4], 1
	push	esi
	mov	esi, ecx
	sete	al
	mov	BYTE PTR [esi+72], al

; 463  : 		_Wrotesome = false;

	mov	BYTE PTR [esi+65], 0

; 464  : 
; 465  : 		_Mysb::_Init();	// initialize stream buffer base object

	call	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Init

; 466  : 
; 467  :  #ifndef _IORCNT
; 468  :   #define _IORCNT	_IOCNT	/* read and write counts are the same */
; 469  :   #define _IOWCNT _IOCNT
; 470  :  #endif /* _IORCNT */
; 471  : 
; 472  : #pragma warning(push)
; 473  : #pragma warning(disable: 6240)
; 474  : 		/* prefast noise VSW 489858 */
; 475  : 		if (_File != 0 && sizeof (_Elem) == 1)

	mov	eax, DWORD PTR __File$[esp]
	test	eax, eax
	je	SHORT $LN4@Init

; 476  : #pragma warning(pop)
; 477  : 			{	// point inside C stream with [first, first + count) buffer
; 478  : 			_Elem **_Pb = (_Elem **)&_File->_IOBASE;

	lea	ecx, DWORD PTR [eax+8]

; 479  : 			_Elem **_Pn = (_Elem **)&_File->_IOPTR;
; 480  : 			int *_Nr = (int *)&_File->_IORCNT;
; 481  : 			int *_Nw = (int *)&_File->_IOWCNT;
; 482  : 			_Mysb::_Init(_Pb, _Pn, _Nr, _Pb, _Pn, _Nw);

	mov	DWORD PTR [esi+16], ecx
	mov	DWORD PTR [esi+20], ecx
	lea	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [esi+32], eax
	mov	DWORD PTR [esi+36], eax
	mov	DWORD PTR [esi+48], ecx
	mov	DWORD PTR [esi+52], ecx
$LN4@Init:

; 483  : 			}
; 484  : 		_Myfile = _File;

	mov	DWORD PTR [esi+76], eax

; 485  : 		_State = _Stinit;

	mov	ecx, DWORD PTR ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA ; `std::basic_filebuf<char,std::char_traits<char> >::_Init'::`2'::_Stinit
	mov	DWORD PTR [esi+68], ecx

; 486  : 		_Pcvt = 0;	// pointer to codecvt facet

	mov	DWORD PTR [esi+60], 0
	pop	esi

; 487  : 		}

	ret	8
?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z ENDP ; std::basic_filebuf<char,std::char_traits<char> >::_Init
_TEXT	ENDS
PUBLIC	?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAV?$codecvt@DDH@2@@Z ; std::basic_filebuf<char,std::char_traits<char> >::_Initcvt
; Function compile flags: /Ogtpy
;	COMDAT ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAV?$codecvt@DDH@2@@Z
_TEXT	SEGMENT
__Newpcvt$ = 8						; size = 4
?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAV?$codecvt@DDH@2@@Z PROC ; std::basic_filebuf<char,std::char_traits<char> >::_Initcvt, COMDAT
; _this$ = ecx

; 531  : 		{	// initialize codecvt pointer

	push	esi
	push	edi

; 532  : 		if (_Newpcvt->always_noconv())

	mov	edi, DWORD PTR __Newpcvt$[esp+4]
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+4]
	mov	esi, ecx
	mov	ecx, edi
	call	edx
	test	al, al
	je	SHORT $LN2@Initcvt
	pop	edi

; 533  : 			_Pcvt = 0;	// nothing to do

	mov	DWORD PTR [esi+60], 0
	pop	esi

; 538  : 			}
; 539  : 		}

	ret	4
$LN2@Initcvt:

; 534  : 		else
; 535  : 			{	// set up for nontrivial codecvt facet
; 536  : 			_Pcvt = _Newpcvt;
; 537  : 			_Mysb::_Init();	// reset any buffering

	mov	ecx, esi
	mov	DWORD PTR [esi+60], edi
	call	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Init
	pop	edi
	pop	esi

; 538  : 			}
; 539  : 		}

	ret	4
?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAV?$codecvt@DDH@2@@Z ENDP ; std::basic_filebuf<char,std::char_traits<char> >::_Initcvt
_TEXT	ENDS
PUBLIC	??_C@_0EA@PCILNABG@C?3?2Program?5Files?2Microsoft?5Visua@ ; `string'
PUBLIC	??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_streambuf<char,std::char_traits<char> >::`vftable'
PUBLIC	??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ ; std::basic_streambuf<char,std::char_traits<char> >::basic_streambuf<char,std::char_traits<char> >
PUBLIC	??_R4?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_streambuf<char,std::char_traits<char> >::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@@8 ; std::basic_streambuf<char,std::char_traits<char> > `RTTI Type Descriptor'
PUBLIC	??_R3?$basic_streambuf@DU?$char_traits@D@std@@@std@@8 ; std::basic_streambuf<char,std::char_traits<char> >::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$basic_streambuf@DU?$char_traits@D@std@@@std@@8 ; std::basic_streambuf<char,std::char_traits<char> >::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$basic_streambuf@DU?$char_traits@D@std@@@std@@8 ; std::basic_streambuf<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z ; std::basic_streambuf<char,std::char_traits<char> >::overflow
PUBLIC	?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z ; std::basic_streambuf<char,std::char_traits<char> >::pbackfail
PUBLIC	?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::showmanyc
PUBLIC	?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::underflow
PUBLIC	?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::uflow
PUBLIC	?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z ; std::basic_streambuf<char,std::char_traits<char> >::xsgetn
PUBLIC	?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z ; std::basic_streambuf<char,std::char_traits<char> >::_Xsgetn_s
PUBLIC	?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z ; std::basic_streambuf<char,std::char_traits<char> >::xsputn
PUBLIC	?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z ; std::basic_streambuf<char,std::char_traits<char> >::seekoff
PUBLIC	?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z ; std::basic_streambuf<char,std::char_traits<char> >::seekpos
PUBLIC	?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z ; std::basic_streambuf<char,std::char_traits<char> >::setbuf
PUBLIC	?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::sync
PUBLIC	?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z ; std::basic_streambuf<char,std::char_traits<char> >::imbue
EXTRN	??1_Mutex@std@@QAE@XZ:PROC			; std::_Mutex::~_Mutex
EXTRN	??0_Mutex@std@@QAE@XZ:PROC			; std::_Mutex::_Mutex
EXTRN	??_E?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z:PROC ; std::basic_streambuf<char,std::char_traits<char> >::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$basic_streambuf@DU?$char_traits@D@std@@@std@@8
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
rdata$r	SEGMENT
??_R1A@?0A@EA@?$basic_streambuf@DU?$char_traits@D@std@@@std@@8 DD FLAT:??_R0?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@@8 ; std::basic_streambuf<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$basic_streambuf@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R2?$basic_streambuf@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R2?$basic_streambuf@DU?$char_traits@D@std@@@std@@8 DD FLAT:??_R1A@?0A@EA@?$basic_streambuf@DU?$char_traits@D@std@@@std@@8 ; std::basic_streambuf<char,std::char_traits<char> >::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$basic_streambuf@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R3?$basic_streambuf@DU?$char_traits@D@std@@@std@@8 DD 00H ; std::basic_streambuf<char,std::char_traits<char> >::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$basic_streambuf@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@@8
_DATA	SEGMENT
??_R0?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::basic_streambuf<char,std::char_traits<char> > `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@
rdata$r	SEGMENT
??_R4?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ DD 00H ; std::basic_streambuf<char,std::char_traits<char> >::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@@8
	DD	FLAT:??_R3?$basic_streambuf@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_C@_0EA@PCILNABG@C?3?2Program?5Files?2Microsoft?5Visua@
CONST	SEGMENT
??_C@_0EA@PCILNABG@C?3?2Program?5Files?2Microsoft?5Visua@ DB 'C:\Program '
	DB	'Files\Microsoft Visual Studio 8\VC\include\streambuf', 00H ; `string'
CONST	ENDS
;	COMDAT ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@
CONST	SEGMENT
??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ DD FLAT:??_R4?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_streambuf<char,std::char_traits<char> >::`vftable'
	DD	FLAT:??_E?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z
	DD	FLAT:?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
	DD	FLAT:?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
	DD	FLAT:?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
	DD	FLAT:?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
	DD	FLAT:?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
	DD	FLAT:?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z
	DD	FLAT:?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z
	DD	FLAT:?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z
	DD	FLAT:?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z
	DD	FLAT:?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
	DD	FLAT:?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z
	DD	FLAT:?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
	DD	FLAT:?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ$0
__ehfuncinfo$??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
xdata$x	ENDS
;	COMDAT ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ
_TEXT	SEGMENT
__Lock$65068 = -20					; size = 4
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::basic_streambuf<char,std::char_traits<char> >, COMDAT
; _this$ = ecx

; 29   : 		{	// construct with no buffers

	push	-1
	push	__ehhandler$??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	push	ebx
	mov	ebx, ecx
	push	esi
	lea	ecx, DWORD PTR [ebx+4]
	mov	DWORD PTR _this$[esp+28], ebx
	mov	DWORD PTR [ebx], OFFSET ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@
	call	??0_Mutex@std@@QAE@XZ			; std::_Mutex::_Mutex
	push	28					; 0000001cH
	push	OFFSET ??_C@_0EA@PCILNABG@C?3?2Program?5Files?2Microsoft?5Visua@
	mov	DWORD PTR __$EHRec$[esp+44], 0
	call	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ ; std::_DebugHeapTag_func
	push	eax
	push	4
	call	??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z ; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	test	esi, esi
	je	SHORT $LN3@basic_stre
	push	edi
	call	?_Init@locale@std@@CAPAV_Locimp@12@XZ	; std::locale::_Init
	mov	DWORD PTR [esi], eax
	call	?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ ; std::locale::_Getgloballocale
	push	0
	lea	ecx, DWORD PTR __Lock$65068[esp+36]
	mov	edi, eax
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	mov	eax, DWORD PTR [edi+4]
	cmp	eax, -1
	jae	SHORT $LN8@basic_stre
	add	eax, 1
	mov	DWORD PTR [edi+4], eax
$LN8@basic_stre:
	lea	ecx, DWORD PTR __Lock$65068[esp+32]
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	pop	edi
	jmp	SHORT $LN4@basic_stre
$LN3@basic_stre:
	xor	esi, esi
$LN4@basic_stre:

; 30   : 		_Init();

	mov	ecx, ebx
	mov	DWORD PTR [ebx+56], esi
	call	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Init

; 31   : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	esi
	mov	eax, ebx
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 4
	jmp	??1_Mutex@std@@QAE@XZ			; std::_Mutex::~_Mutex
__ehhandler$??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::basic_streambuf<char,std::char_traits<char> >
; Function compile flags: /Ogtpy
;	COMDAT ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::overflow, COMDAT
; _this$ = ecx

; 299  : 		return (_Traits::eof());

	or	eax, -1

; 300  : 		}

	ret	4
?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::overflow
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::pbackfail, COMDAT
; _this$ = ecx

; 304  : 		return (_Traits::eof());

	or	eax, -1

; 305  : 		}

	ret	4
?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::pbackfail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
_TEXT	SEGMENT
?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::showmanyc, COMDAT
; _this$ = ecx

; 309  : 		return (0);

	xor	eax, eax

; 310  : 		}

	ret	0
?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::showmanyc
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
_TEXT	SEGMENT
?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::underflow, COMDAT
; _this$ = ecx

; 314  : 		return (_Traits::eof());

	or	eax, -1

; 315  : 		}

	ret	0
?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::underflow
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::xsgetn, COMDAT
; _this$ = ecx

; 327  : 		// assume the destination buffer is large enough
; 328  : 		return _Xsgetn_s(_Ptr, (size_t)-1, _Count);

	mov	edx, DWORD PTR __Count$[esp-4]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+28]
	push	edx
	mov	edx, DWORD PTR __Ptr$[esp]
	push	-1
	push	edx
	call	eax

; 329  : 		}

	ret	8
?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::xsgetn
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::setbuf, COMDAT
; _this$ = ecx

; 404  : 		{	// offer buffer to external agent (do nothing)

	mov	eax, ecx

; 405  : 		return (this);
; 406  : 		}

	ret	8
?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::setbuf
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
_TEXT	SEGMENT
?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::sync, COMDAT
; _this$ = ecx

; 410  : 		return (0);

	xor	eax, eax

; 411  : 		}

	ret	0
?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::sync
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::imbue, COMDAT
; _this$ = ecx

; 415  : 		}

	ret	4
?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::imbue
_TEXT	ENDS
PUBLIC	?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ ; std::basic_streambuf<char,std::char_traits<char> >::pptr
; Function compile flags: /Ogtpy
;	COMDAT ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
_TEXT	SEGMENT
?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::pptr, COMDAT
; _this$ = ecx

; 201  : 		return (*_IPnext);

	mov	eax, DWORD PTR [ecx+36]
	mov	eax, DWORD PTR [eax]

; 202  : 		}

	ret	0
?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::pptr
_TEXT	ENDS
PUBLIC	?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z ; std::basic_streambuf<char,std::char_traits<char> >::gbump
; Function compile flags: /Ogtpy
;	COMDAT ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::gbump, COMDAT
; _this$ = ecx

; 211  : 		*_IGcount -= _Off;

	mov	eax, DWORD PTR [ecx+48]
	mov	edx, DWORD PTR __Off$[esp-4]
	sub	DWORD PTR [eax], edx

; 212  : 		*_IGnext += _Off;

	mov	ecx, DWORD PTR [ecx+32]
	add	DWORD PTR [ecx], edx

; 213  : 		}

	ret	4
?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::gbump
_TEXT	ENDS
PUBLIC	?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z ; std::basic_streambuf<char,std::char_traits<char> >::pbump
; Function compile flags: /Ogtpy
;	COMDAT ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::pbump, COMDAT
; _this$ = ecx

; 252  : 		*_IPcount -= _Off;

	mov	eax, DWORD PTR [ecx+52]
	mov	edx, DWORD PTR __Off$[esp-4]
	sub	DWORD PTR [eax], edx

; 253  : 		*_IPnext += _Off;

	mov	ecx, DWORD PTR [ecx+36]
	add	DWORD PTR [ecx], edx

; 254  : 		}

	ret	4
?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::pbump
_TEXT	ENDS
PUBLIC	?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Pnavail
; Function compile flags: /Ogtpy
;	COMDAT ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ
_TEXT	SEGMENT
?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Pnavail, COMDAT
; _this$ = ecx

; 278  : 		return (*_IPnext != 0 ? *_IPcount : 0);

	mov	eax, DWORD PTR [ecx+36]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN3@Pnavail
	mov	ecx, DWORD PTR [ecx+52]
	mov	eax, DWORD PTR [ecx]

; 279  : 		}

	ret	0
$LN3@Pnavail:

; 278  : 		return (*_IPnext != 0 ? *_IPcount : 0);

	xor	eax, eax

; 279  : 		}

	ret	0
?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Pnavail
_TEXT	ENDS
PUBLIC	??0?$fpos@H@std@@QAE@J@Z			; std::fpos<int>::fpos<int>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
;	COMDAT ??0?$fpos@H@std@@QAE@J@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
??0?$fpos@H@std@@QAE@J@Z PROC				; std::fpos<int>::fpos<int>, COMDAT
; _this$ = ecx

; 47   : 		{	// construct with stream offset

	mov	eax, ecx
	mov	ecx, DWORD PTR __Off$[esp-4]
	mov	DWORD PTR [eax], ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax+16], ecx

; 48   : 		}

	ret	4
??0?$fpos@H@std@@QAE@J@Z ENDP				; std::fpos<int>::fpos<int>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
_TEXT	ENDS
;	COMDAT ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
_TEXT	SEGMENT
?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::uflow, COMDAT
; _this$ = ecx

; 318  : 		{	// get a character from stream, point past it

	push	esi
	mov	esi, ecx

; 319  : 		return (_Traits::eq_int_type(_Traits::eof(), underflow())
; 320  : 			? _Traits::eof() : _Traits::to_int_type(*_Gninc()));

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+16]
	call	edx
	cmp	eax, -1
	jne	SHORT $LN3@uflow
	or	eax, eax
	pop	esi

; 321  : 		}

	ret	0
$LN3@uflow:

; 319  : 		return (_Traits::eq_int_type(_Traits::eof(), underflow())
; 320  : 			? _Traits::eof() : _Traits::to_int_type(*_Gninc()));

	mov	eax, DWORD PTR [esi+48]
	add	DWORD PTR [eax], -1
	mov	eax, DWORD PTR [esi+32]
	mov	ecx, DWORD PTR [eax]
	lea	edx, DWORD PTR [ecx+1]
	mov	DWORD PTR [eax], edx
	movzx	eax, BYTE PTR [ecx]
	pop	esi

; 321  : 		}

	ret	0
?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::uflow
_TEXT	ENDS
EXTRN	?_BADOFF@std@@3JB:DWORD				; std::_BADOFF
; Function compile flags: /Ogtpy
;	COMDAT ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
___formal$ = 20						; size = 4
?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::seekoff, COMDAT
; _this$ = ecx

; 394  : 		return (streampos(_BADOFF));

	mov	eax, DWORD PTR ___$ReturnUdt$[esp-4]
	mov	ecx, DWORD PTR ?_BADOFF@std@@3JB	; std::_BADOFF
	mov	DWORD PTR [eax], ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax+16], ecx

; 395  : 		}

	ret	16					; 00000010H
?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::seekoff
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 24
___formal$ = 36						; size = 4
?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::seekpos, COMDAT
; _this$ = ecx

; 400  : 		return (streampos(_BADOFF));

	mov	eax, DWORD PTR ___$ReturnUdt$[esp-4]
	mov	ecx, DWORD PTR ?_BADOFF@std@@3JB	; std::_BADOFF
	mov	DWORD PTR [eax], ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax+16], ecx

; 401  : 		}

	ret	32					; 00000020H
?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::seekpos
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z
_TEXT	SEGMENT
__Copied$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Ptr_size$ = 12					; size = 4
__Count$ = 16						; size = 4
?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Xsgetn_s, COMDAT
; _this$ = ecx

; 333  : 		{	// get _Count characters from stream

	push	ecx
	push	ebp

; 334  : 		int_type _Meta;
; 335  : 		streamsize _Stream_size, _Size, _Copied;
; 336  : 
; 337  : 		for (_Copied = 0; 0 < _Count; )

	mov	ebp, DWORD PTR __Count$[esp+4]
	push	esi
	xor	esi, esi
	test	ebp, ebp
	push	edi
	mov	edi, ecx
	mov	DWORD PTR __Copied$[esp+16], esi
	jle	SHORT $LN31@Xsgetn_s
	push	ebx
	mov	ebx, DWORD PTR __Ptr$[esp+16]
	npad	7
$LL7@Xsgetn_s:

; 338  : 			if (0 < (_Stream_size = _Gnavail()))

	mov	ecx, edi
	call	?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Gnavail
	test	eax, eax
	jle	SHORT $LN5@Xsgetn_s

; 339  : 				{	// copy from read buffer
; 340  : 				_Size = _Stream_size;
; 341  : 				if (_Count < _Size)

	cmp	ebp, eax
	mov	esi, eax
	jge	SHORT $LN4@Xsgetn_s

; 342  : 					_Size = _Count;

	mov	esi, ebp
$LN4@Xsgetn_s:

; 343  : 				_Traits_helper::copy_s<_Traits>(_Ptr, _Ptr_size, gptr(), _Size);

	mov	eax, DWORD PTR [edi+32]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR __Ptr_size$[esp+16]
	push	esi
	push	ecx
	push	edx
	push	ebx
	call	_memcpy_s

; 344  : 				_Ptr += _Size;
; 345  : 				_Copied += _Size;
; 346  : 				_Count -= _Size;
; 347  : 				gbump((int)_Size);

	mov	eax, DWORD PTR [edi+48]
	sub	DWORD PTR [eax], esi
	add	DWORD PTR __Copied$[esp+36], esi
	mov	eax, DWORD PTR [edi+32]
	add	ebx, esi
	sub	ebp, esi
	add	esp, 16					; 00000010H
	add	DWORD PTR [eax], esi
	mov	esi, DWORD PTR __Copied$[esp+20]
	jmp	SHORT $LN1@Xsgetn_s
$LN5@Xsgetn_s:

; 348  : 				}
; 349  : 			else if (_Traits::eq_int_type(_Traits::eof(), _Meta = uflow()))

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+20]
	mov	ecx, edi
	call	edx
	cmp	eax, -1
	je	SHORT $LN30@Xsgetn_s

; 350  : 				break;	// end of file, quit
; 351  : 			else
; 352  : 				{	// get a single character
; 353  : 				*_Ptr++ = _Traits::to_char_type(_Meta);
; 354  : 				++_Copied;

	add	esi, 1
	mov	BYTE PTR [ebx], al
	add	ebx, 1
	mov	DWORD PTR __Copied$[esp+20], esi

; 355  : 				--_Count;

	sub	ebp, 1
$LN1@Xsgetn_s:

; 334  : 		int_type _Meta;
; 335  : 		streamsize _Stream_size, _Size, _Copied;
; 336  : 
; 337  : 		for (_Copied = 0; 0 < _Count; )

	test	ebp, ebp
	jg	SHORT $LL7@Xsgetn_s
$LN30@Xsgetn_s:
	pop	ebx
	pop	edi

; 356  : 				}
; 357  : 
; 358  : 		return (_Copied);

	mov	eax, esi
	pop	esi
	pop	ebp

; 359  : 		}

	pop	ecx
	ret	12					; 0000000cH
$LN31@Xsgetn_s:
	pop	edi

; 356  : 				}
; 357  : 
; 358  : 		return (_Copied);

	mov	eax, esi
	pop	esi
	pop	ebp

; 359  : 		}

	pop	ecx
	ret	12					; 0000000cH
?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Xsgetn_s
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z
_TEXT	SEGMENT
__Copied$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::xsputn, COMDAT
; _this$ = ecx

; 363  : 		{	// put _Count characters to stream

	push	ecx
	push	ebp

; 364  : 		streamsize _Stream_size, _Size, _Copied;
; 365  : 
; 366  : 		for (_Copied = 0; 0 < _Count; )

	mov	ebp, DWORD PTR __Count$[esp+4]
	push	esi
	xor	esi, esi
	test	ebp, ebp
	push	edi
	mov	edi, ecx
	mov	DWORD PTR __Copied$[esp+16], esi
	jle	SHORT $LN31@xsputn
	push	ebx
	mov	ebx, DWORD PTR __Ptr$[esp+16]
	npad	7
$LL7@xsputn:

; 367  : 			if (0 < (_Stream_size = _Pnavail()))

	mov	ecx, edi
	call	?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Pnavail
	test	eax, eax
	jle	SHORT $LN5@xsputn

; 368  : 				{	// copy to write buffer
; 369  : 				_Size = _Stream_size;
; 370  : 				if (_Count < _Size)

	cmp	ebp, eax
	mov	esi, eax
	jge	SHORT $LN4@xsputn

; 371  : 					_Size = _Count;

	mov	esi, ebp
$LN4@xsputn:

; 372  : 				_Traits_helper::copy_s<_Traits>(pptr(), _Stream_size, _Ptr, _Size);

	push	esi
	push	ebx
	push	eax
	mov	eax, DWORD PTR [edi+36]
	mov	ecx, DWORD PTR [eax]
	push	ecx
	call	_memcpy_s

; 373  : 				_Ptr += _Size;
; 374  : 				_Copied += _Size;
; 375  : 				_Count -= _Size;
; 376  : 				pbump((int)_Size);

	mov	eax, DWORD PTR [edi+52]
	sub	DWORD PTR [eax], esi
	add	DWORD PTR __Copied$[esp+36], esi
	mov	eax, DWORD PTR [edi+36]
	add	ebx, esi
	sub	ebp, esi
	add	esp, 16					; 00000010H
	add	DWORD PTR [eax], esi

; 377  : 				}
; 378  : 			else if (_Traits::eq_int_type(_Traits::eof(),

	mov	esi, DWORD PTR __Copied$[esp+20]
	jmp	SHORT $LN1@xsputn
$LN5@xsputn:

; 379  : 				overflow(_Traits::to_int_type(*_Ptr))))

	movzx	eax, BYTE PTR [ebx]
	mov	edx, DWORD PTR [edi]
	push	eax
	mov	eax, DWORD PTR [edx+4]
	mov	ecx, edi
	call	eax
	cmp	eax, -1
	je	SHORT $LN30@xsputn

; 380  : 				break;	// single character put failed, quit
; 381  : 			else
; 382  : 				{	// count character successfully put
; 383  : 				++_Ptr;
; 384  : 				++_Copied;

	add	esi, 1
	add	ebx, 1
	mov	DWORD PTR __Copied$[esp+20], esi

; 385  : 				--_Count;

	sub	ebp, 1
$LN1@xsputn:

; 364  : 		streamsize _Stream_size, _Size, _Copied;
; 365  : 
; 366  : 		for (_Copied = 0; 0 < _Count; )

	test	ebp, ebp
	jg	SHORT $LL7@xsputn
$LN30@xsputn:
	pop	ebx
	pop	edi

; 386  : 				}
; 387  : 
; 388  : 		return (_Copied);

	mov	eax, esi
	pop	esi
	pop	ebp

; 389  : 		}

	pop	ecx
	ret	8
$LN31@xsputn:
	pop	edi

; 386  : 				}
; 387  : 
; 388  : 		return (_Copied);

	mov	eax, esi
	pop	esi
	pop	ebp

; 389  : 		}

	pop	ecx
	ret	8
?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::xsputn
_TEXT	ENDS
PUBLIC	?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
xdata$x	SEGMENT
__catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$5 DD 040H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$0
__catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$4 DD 040H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$1
__unwindtable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	01H
	DD	00H
	DD	01H
	DD	00H
__ehfuncinfo$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z
	DD	02H
	DD	FLAT:__tryblocktable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__tryblocktable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z DD 02H
	DD	02H
	DD	03H
	DD	01H
	DD	FLAT:__catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$4
	DD	00H
	DD	00H
	DD	03H
	DD	01H
	DD	FLAT:__catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$5
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
xdata$x	ENDS
;	COMDAT ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z
_TEXT	SEGMENT
__Newres$ = -24						; size = 4
_this$ = -20						; size = 4
__$EHRec$ = -16						; size = 16
__Ptr$ = 8						; size = 4
__Newsize$ = 8						; size = 4
__Oldlen$ = 12						; size = 4
?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy, COMDAT
; _this$ = ecx

; 2000 : 		{	// copy _Oldlen elements to newly allocated buffer

	push	ebp
	mov	ebp, esp
	push	-1
	push	__ehhandler$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 12					; 0000000cH

; 2001 : 		size_type _Newres = _Newsize | _ALLOC_MASK;

	mov	eax, DWORD PTR __Newsize$[ebp]
	push	ebx
	push	esi
	mov	esi, eax
	push	edi
	or	esi, 15					; 0000000fH

; 2002 : 		if (max_size() < _Newres)

	cmp	esi, -2					; fffffffeH
	mov	edi, ecx
	mov	DWORD PTR __$EHRec$[ebp], esp
	mov	DWORD PTR _this$[ebp], edi
	jbe	SHORT $LN6@Copy

; 2003 : 			_Newres = _Newsize;	// undo roundup if too big

	mov	esi, eax

; 2004 : 		else if (_Newres / 3 < _Myres / 2

	jmp	SHORT $LN4@Copy
$LN6@Copy:

; 2005 : 			&& _Myres <= max_size() - _Myres / 2)

	mov	ebx, DWORD PTR [edi+28]
	mov	eax, -1431655765			; aaaaaaabH
	mul	esi
	mov	ecx, ebx
	shr	ecx, 1
	shr	edx, 1
	cmp	edx, ecx
	jae	SHORT $LN4@Copy
	mov	eax, -2					; fffffffeH
	sub	eax, ecx
	cmp	ebx, eax
	ja	SHORT $LN4@Copy

; 2006 : 			_Newres = _Myres + _Myres / 2;	// grow exponentially if possible

	lea	esi, DWORD PTR [ecx+ebx]
$LN4@Copy:

; 2007 : 		_Elem *_Ptr = 0;
; 2008 : 
; 2009 : 		_TRY_BEGIN
; 2010 : 			_Ptr = _Mybase::_Alval.allocate(_Newres + 1);

	lea	ecx, DWORD PTR [esi+1]
	push	0
	push	ecx
	mov	DWORD PTR __$EHRec$[ebp+12], 0
	call	??$_Allocate@D@std@@YAPADIPAD@Z		; std::_Allocate<char>
	add	esp, 8
	mov	DWORD PTR __Ptr$[ebp], eax

; 2018 : 			_CATCH_END
; 2019 : 		_CATCH_END

	jmp	SHORT $LN16@Copy
__catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$0:

; 2011 : 		_CATCH_ALL
; 2012 : 			_Newres = _Newsize;	// allocation failed, undo roundup and retry

	mov	eax, DWORD PTR __Newsize$[ebp]
	mov	DWORD PTR __$EHRec$[ebp], esp
	mov	DWORD PTR __Newres$[ebp], eax

; 2013 : 			_TRY_BEGIN
; 2014 : 				_Ptr = _Mybase::_Alval.allocate(_Newres + 1);

	add	eax, 1
	push	0
	push	eax
	mov	BYTE PTR __$EHRec$[ebp+12], 2
	call	??$_Allocate@D@std@@YAPADIPAD@Z		; std::_Allocate<char>
	mov	DWORD PTR __Ptr$[ebp], eax
	add	esp, 8

; 2018 : 			_CATCH_END
; 2019 : 		_CATCH_END

	mov	eax, $LN106@Copy
	ret	0
$LN106@Copy:
	mov	edi, DWORD PTR _this$[ebp]
	mov	esi, DWORD PTR __Newres$[ebp]
$LN16@Copy:

; 2020 : 
; 2021 : 		if (0 < _Oldlen)

	mov	ebx, DWORD PTR __Oldlen$[ebp]
	test	ebx, ebx
	jbe	SHORT $LN71@Copy

; 2022 : 			_Traits_helper::copy_s<_Traits>(_Ptr, _Newres + 1, _Myptr(), _Oldlen);	// copy existing elements

	cmp	DWORD PTR [edi+28], 16			; 00000010H
	jb	SHORT $LN63@Copy
	mov	eax, DWORD PTR [edi+8]
	jmp	SHORT $LN64@Copy
$LN63@Copy:
	lea	eax, DWORD PTR [edi+8]
$LN64@Copy:
	push	ebx
	push	eax
	mov	eax, DWORD PTR __Ptr$[ebp]
	lea	edx, DWORD PTR [esi+1]
	push	edx
	push	eax
	call	_memcpy_s
	add	esp, 16					; 00000010H
$LN71@Copy:

; 2023 : 		_Tidy(true);

	cmp	DWORD PTR [edi+28], 16			; 00000010H
	jb	SHORT $LN87@Copy
	mov	ecx, DWORD PTR [edi+8]
	push	ecx
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN87@Copy:

; 2024 : 		_Bx._Ptr = _Ptr;
; 2025 : 		_Myres = _Newres;
; 2026 : 		_Eos(_Oldlen);

	cmp	esi, 16					; 00000010H
	mov	ecx, DWORD PTR __Ptr$[ebp]
	lea	eax, DWORD PTR [edi+8]
	mov	BYTE PTR [eax], 0
	mov	DWORD PTR [eax], ecx
	mov	DWORD PTR [edi+28], esi
	mov	DWORD PTR [edi+24], ebx
	jb	SHORT $LN101@Copy
	mov	eax, ecx
$LN101@Copy:

; 2027 : 		}

	mov	ecx, DWORD PTR __$EHRec$[ebp+4]
	pop	edi
	mov	BYTE PTR [eax+ebx], 0
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	8
__catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$1:

; 2015 : 			_CATCH_ALL
; 2016 : 			_Tidy(true);	// failed again, discard storage and reraise

	mov	esi, DWORD PTR _this$[ebp]
	cmp	DWORD PTR [esi+28], 16			; 00000010H
	jb	SHORT $LN51@Copy
	mov	edx, DWORD PTR [esi+8]
	push	edx
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN51@Copy:

; 2017 : 			_RERAISE;

	push	0
	mov	DWORD PTR [esi+28], 15			; 0000000fH
	mov	DWORD PTR [esi+24], 0
	push	0
	mov	BYTE PTR [esi+8], 0
	call	__CxxThrowException@8
$LN110@Copy:
$LN109@Copy:
	int	3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z:
	mov	eax, OFFSET __ehfuncinfo$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy
PUBLIC	??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe?$AAn?$AAt?$AA?$CC?$AA?$AA@ ; `string'
PUBLIC	??_C@_1OI@PNIDODDN@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo?$AAn?$AAs?$AAt?$AA_?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?$DM?$AAc?$AAh?$AAa?$AAr@ ; `string'
PUBLIC	??_C@_1BEO@GFHFALBP@?$AA?$CI?$AA?$CC?$AA_?$AAP?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA_?$AAP?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU@ ; `string'
PUBLIC	??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >
;	COMDAT ??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe?$AAn?$AAt?$AA?$CC?$AA?$AA@
CONST	SEGMENT
??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe?$AAn?$AAt?$AA?$CC?$AA?$AA@ DB '"'
	DB	00H, 'i', 00H, 'n', 00H, 'v', 00H, 'a', 00H, 'l', 00H, 'i', 00H
	DB	'd', 00H, ' ', 00H, 'a', 00H, 'r', 00H, 'g', 00H, 'u', 00H, 'm'
	DB	00H, 'e', 00H, 'n', 00H, 't', 00H, '"', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1OI@PNIDODDN@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo?$AAn?$AAs?$AAt?$AA_?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?$DM?$AAc?$AAh?$AAa?$AAr@
CONST	SEGMENT
??_C@_1OI@PNIDODDN@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo?$AAn?$AAs?$AAt?$AA_?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?$DM?$AAc?$AAh?$AAa?$AAr@ DB 's'
	DB	00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, '_', 00H, 'S', 00H
	DB	't', 00H, 'r', 00H, 'i', 00H, 'n', 00H, 'g', 00H, '_', 00H, 'c'
	DB	00H, 'o', 00H, 'n', 00H, 's', 00H, 't', 00H, '_', 00H, 'i', 00H
	DB	't', 00H, 'e', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'o', 00H, 'r'
	DB	00H, '<', 00H, 'c', 00H, 'h', 00H, 'a', 00H, 'r', 00H, ',', 00H
	DB	's', 00H, 't', 00H, 'r', 00H, 'u', 00H, 'c', 00H, 't', 00H, ' '
	DB	00H, 's', 00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, 'c', 00H
	DB	'h', 00H, 'a', 00H, 'r', 00H, '_', 00H, 't', 00H, 'r', 00H, 'a'
	DB	00H, 'i', 00H, 't', 00H, 's', 00H, '<', 00H, 'c', 00H, 'h', 00H
	DB	'a', 00H, 'r', 00H, '>', 00H, ',', 00H, 'c', 00H, 'l', 00H, 'a'
	DB	00H, 's', 00H, 's', 00H, ' ', 00H, 's', 00H, 't', 00H, 'd', 00H
	DB	':', 00H, ':', 00H, 'a', 00H, 'l', 00H, 'l', 00H, 'o', 00H, 'c'
	DB	00H, 'a', 00H, 't', 00H, 'o', 00H, 'r', 00H, '<', 00H, 'c', 00H
	DB	'h', 00H, 'a', 00H, 'r', 00H, '>', 00H, ' ', 00H, '>', 00H, ':'
	DB	00H, ':', 00H, '_', 00H, 'S', 00H, 't', 00H, 'r', 00H, 'i', 00H
	DB	'n', 00H, 'g', 00H, '_', 00H, 'c', 00H, 'o', 00H, 'n', 00H, 's'
	DB	00H, 't', 00H, '_', 00H, 'i', 00H, 't', 00H, 'e', 00H, 'r', 00H
	DB	'a', 00H, 't', 00H, 'o', 00H, 'r', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BEO@GFHFALBP@?$AA?$CI?$AA?$CC?$AA_?$AAP?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA_?$AAP?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU@
CONST	SEGMENT
??_C@_1BEO@GFHFALBP@?$AA?$CI?$AA?$CC?$AA_?$AAP?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA_?$AAP?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU@ DB '('
	DB	00H, '"', 00H, '_', 00H, 'P', 00H, 's', 00H, 't', 00H, 'r', 00H
	DB	'i', 00H, 'n', 00H, 'g', 00H, ' ', 00H, '=', 00H, '=', 00H, ' '
	DB	00H, 'N', 00H, 'U', 00H, 'L', 00H, 'L', 00H, ' ', 00H, '|', 00H
	DB	'|', 00H, ' ', 00H, '_', 00H, 'P', 00H, 't', 00H, 'r', 00H, ' '
	DB	00H, '!', 00H, '=', 00H, ' ', 00H, 'N', 00H, 'U', 00H, 'L', 00H
	DB	'L', 00H, ' ', 00H, '&', 00H, '&', 00H, ' ', 00H, '(', 00H, '('
	DB	00H, '_', 00H, 'M', 00H, 'y', 00H, 's', 00H, 't', 00H, 'r', 00H
	DB	'i', 00H, 'n', 00H, 'g', 00H, ' ', 00H, '*', 00H, ')', 00H, '_'
	DB	00H, 'P', 00H, 's', 00H, 't', 00H, 'r', 00H, 'i', 00H, 'n', 00H
	DB	'g', 00H, ')', 00H, '-', 00H, '>', 00H, '_', 00H, 'M', 00H, 'y'
	DB	00H, 'p', 00H, 't', 00H, 'r', 00H, '(', 00H, ')', 00H, ' ', 00H
	DB	'<', 00H, '=', 00H, ' ', 00H, '_', 00H, 'P', 00H, 't', 00H, 'r'
	DB	00H, ' ', 00H, '&', 00H, '&', 00H, ' ', 00H, '_', 00H, 'P', 00H
	DB	't', 00H, 'r', 00H, ' ', 00H, '<', 00H, '=', 00H, ' ', 00H, '('
	DB	00H, '(', 00H, '(', 00H, '_', 00H, 'M', 00H, 'y', 00H, 's', 00H
	DB	't', 00H, 'r', 00H, 'i', 00H, 'n', 00H, 'g', 00H, ' ', 00H, '*'
	DB	00H, ')', 00H, '_', 00H, 'P', 00H, 's', 00H, 't', 00H, 'r', 00H
	DB	'i', 00H, 'n', 00H, 'g', 00H, ')', 00H, '-', 00H, '>', 00H, '_'
	DB	00H, 'M', 00H, 'y', 00H, 'p', 00H, 't', 00H, 'r', 00H, '(', 00H
	DB	')', 00H, ' ', 00H, '+', 00H, ' ', 00H, '(', 00H, '(', 00H, '_'
	DB	00H, 'M', 00H, 'y', 00H, 's', 00H, 't', 00H, 'r', 00H, 'i', 00H
	DB	'n', 00H, 'g', 00H, ' ', 00H, '*', 00H, ')', 00H, '_', 00H, 'P'
	DB	00H, 's', 00H, 't', 00H, 'r', 00H, 'i', 00H, 'n', 00H, 'g', 00H
	DB	')', 00H, '-', 00H, '>', 00H, '_', 00H, 'M', 00H, 'y', 00H, 's'
	DB	00H, 'i', 00H, 'z', 00H, 'e', 00H, ')', 00H, '"', 00H, ',', 00H
	DB	' ', 00H, '0', 00H, ')', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z$0
__ehfuncinfo$??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Ptr$ = 8						; size = 4
__Pstring$ = 12						; size = 4
??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z PROC ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx

; 70   : 	__CLR_OR_THIS_CALL _String_const_iterator(pointer _Ptr, const _Container_base *_Pstring)

	push	-1
	push	__ehhandler$??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+28], edi
	mov	DWORD PTR [edi], 0
	mov	DWORD PTR [edi+4], 0

; 71   : 		{	// construct with pointer _Ptr
; 72   : 		_SCL_SECURE_VALIDATE(

	mov	esi, DWORD PTR __Pstring$[esp+24]
	test	esi, esi
	mov	ebx, DWORD PTR __Ptr$[esp+24]
	mov	DWORD PTR __$EHRec$[esp+36], 0
	je	SHORT $LN2@String_con
	test	ebx, ebx
	je	SHORT $LN1@String_con
	mov	edx, DWORD PTR [esi+28]
	cmp	edx, 16					; 00000010H
	lea	eax, DWORD PTR [esi+8]
	jb	SHORT $LN13@String_con
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN14@String_con
$LN13@String_con:
	mov	ecx, eax
$LN14@String_con:
	cmp	ecx, ebx
	ja	SHORT $LN1@String_con
	cmp	edx, 16					; 00000010H
	jb	SHORT $LN17@String_con
	mov	eax, DWORD PTR [eax]
$LN17@String_con:
	mov	ecx, DWORD PTR [esi+24]
	add	ecx, eax
	cmp	ebx, ecx
	jbe	SHORT $LN2@String_con
$LN1@String_con:
	push	OFFSET ??_C@_1BEO@GFHFALBP@?$AA?$CI?$AA?$CC?$AA_?$AAP?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA_?$AAP?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU@
	push	0
	push	75					; 0000004bH
	push	OFFSET ??_C@_1HM@PJLEMLGA@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	2
	call	__CrtDbgReportW
	add	esp, 20					; 00000014H
	cmp	eax, 1
	jne	SHORT $LN5@String_con
	int	3
$LN5@String_con:

; 73   : 			_Pstring == NULL || 
; 74   : 			_Ptr != NULL && 
; 75   : 			((_Mystring *)_Pstring)->_Myptr() <= _Ptr && _Ptr <= (((_Mystring *)_Pstring)->_Myptr() + ((_Mystring *)_Pstring)->_Mysize));

	push	0
	push	75					; 0000004bH
	push	OFFSET ??_C@_1HM@PJLEMLGA@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1OI@PNIDODDN@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo?$AAn?$AAs?$AAt?$AA_?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?$DM?$AAc?$AAh?$AAa?$AAr@
	push	OFFSET ??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe?$AAn?$AAt?$AA?$CC?$AA?$AA@
	call	__invalid_parameter
	add	esp, 20					; 00000014H
$LN2@String_con:

; 76   : 		this->_Adopt(_Pstring);

	push	esi
	mov	ecx, edi
	call	?_Adopt@_Iterator_base@std@@QAEXPBV_Container_base@2@@Z ; std::_Iterator_base::_Adopt

; 77   : 		_Myptr = _Ptr;
; 78   : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	DWORD PTR [edi+8], ebx
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$_Ranit_base@DHPBDABDV_Iterator_base@std@@@std@@QAE@XZ
__ehhandler$??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z ENDP ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >
PUBLIC	??$_DebugHeapDelete@Vlocale@std@@@std@@YAXPAVlocale@0@@Z ; std::_DebugHeapDelete<std::locale>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
;	COMDAT ??$_DebugHeapDelete@Vlocale@std@@@std@@YAXPAVlocale@0@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??$_DebugHeapDelete@Vlocale@std@@@std@@YAXPAVlocale@0@@Z PROC ; std::_DebugHeapDelete<std::locale>, COMDAT

; 55   : 	{	// delete from the debug CRT heap even if operator delete exists

	push	esi

; 56   : 	if (_Ptr != 0)

	mov	esi, DWORD PTR __Ptr$[esp]
	test	esi, esi
	je	SHORT $LN1@DebugHeapD@3

; 57   : 		{	// worth deleting
; 58   : 		_Ptr->~_Ty();

	mov	ecx, esi
	call	??1locale@std@@QAE@XZ			; std::locale::~locale

; 59   : 		// delete as _NORMAL_BLOCK, not _CRT_BLOCK, since we might have
; 60   : 		// facets allocated by normal new.
; 61   : 		free(_Ptr);

	push	esi
	call	_free
	add	esp, 4
$LN1@DebugHeapD@3:
	pop	esi

; 62   : 		}
; 63   : 	}

	ret	0
??$_DebugHeapDelete@Vlocale@std@@@std@@YAXPAVlocale@0@@Z ENDP ; std::_DebugHeapDelete<std::locale>
_TEXT	ENDS
PUBLIC	??_C@_0DI@PDCHFMAB@FileVerificationController?3?3?$HOFil@ ; `string'
PUBLIC	??1FileVerificationController@@QAE@XZ		; FileVerificationController::~FileVerificationController
EXTRN	?Release_INI@@YAXPAVINIClass@@@Z:PROC		; Release_INI
;	COMDAT ??_C@_0DI@PDCHFMAB@FileVerificationController?3?3?$HOFil@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0DI@PDCHFMAB@FileVerificationController?3?3?$HOFil@ DB 'FileVerific'
	DB	'ationController::~FileVerificationController', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ??1FileVerificationController@@QAE@XZ
_TEXT	SEGMENT
??1FileVerificationController@@QAE@XZ PROC		; FileVerificationController::~FileVerificationController, COMDAT
; _this$ = ecx

; 134  : {

	push	esi
	mov	esi, ecx

; 135  : 	for (int i = 0; i < Players->Count(); ++i)

	mov	eax, DWORD PTR [esi+16]
	push	edi
	xor	edi, edi
	cmp	DWORD PTR [eax+12], edi
	jle	SHORT $LN2@FileVerifi
	push	ebx
	npad	1
$LL4@FileVerifi:

; 136  : 	{
; 137  : 		SAFE_DELETE((*Players)[i]);

	mov	eax, DWORD PTR [eax+4]
	cmp	DWORD PTR [eax+edi*4], 0
	je	SHORT $LN3@FileVerifi
	push	OFFSET ??_C@_0DI@PDCHFMAB@FileVerificationController?3?3?$HOFil@
	push	137					; 00000089H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+16]
	mov	edx, DWORD PTR [ecx+4]
	mov	ebx, DWORD PTR [edx+edi*4]
	add	esp, 12					; 0000000cH
	test	ebx, ebx
	je	SHORT $LN7@FileVerifi
	mov	ecx, ebx
	call	??1PlayerInfoStruct@FileVerificationController@@QAE@XZ ; FileVerificationController::PlayerInfoStruct::~PlayerInfoStruct
	push	ebx
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@FileVerifi:
	mov	eax, DWORD PTR [esi+16]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [ecx+edi*4], 0
$LN3@FileVerifi:
	mov	eax, DWORD PTR [esi+16]
	add	edi, 1
	cmp	edi, DWORD PTR [eax+12]
	jl	SHORT $LL4@FileVerifi
	pop	ebx
$LN2@FileVerifi:

; 138  : 	}
; 139  : 	Release_INI(FileINI);

	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	?Release_INI@@YAXPAVINIClass@@@Z	; Release_INI

; 140  : 	delete Files;

	push	OFFSET ??_C@_0DI@PDCHFMAB@FileVerificationController?3?3?$HOFil@
	push	140					; 0000008cH
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+12]
	add	esp, 16					; 00000010H
	test	ecx, ecx
	je	SHORT $LN11@FileVerifi
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	push	1
	call	edx
$LN11@FileVerifi:

; 141  : 	delete Players;

	push	OFFSET ??_C@_0DI@PDCHFMAB@FileVerificationController?3?3?$HOFil@
	push	141					; 0000008dH
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+16]
	add	esp, 12					; 0000000cH
	test	ecx, ecx
	pop	edi
	pop	esi
	je	SHORT $LN15@FileVerifi
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	push	1
	call	edx
$LN15@FileVerifi:

; 142  : 	/*
; 143  : 	//Reserved for possible future hook code update
; 144  : 	RemoveLoadLevelHook(MapLoadHookNumber);
; 145  : 	RemoveGameOverHook(MapUnloadHookNumber);
; 146  : 	RemovePlayerJoinHook(PlayerJoinedHookNumber);
; 147  : 	RemovePlayerLeaveHook(PlayerLeftHookNumber);
; 148  : 	*/
; 149  : }

	ret	0
??1FileVerificationController@@QAE@XZ ENDP		; FileVerificationController::~FileVerificationController
_TEXT	ENDS
PUBLIC	??_C@_0DP@PJJOJMKK@FileVerificationController?3?3Play@ ; `string'
PUBLIC	??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z ; FileVerificationController::PlayerInfoStruct::PlayerInfoStruct
EXTRN	?AddShaderNotify@@3P6AHPAUShaderNotifyStruct@@@ZA:DWORD ; AddShaderNotify
;	COMDAT ??_C@_0DP@PJJOJMKK@FileVerificationController?3?3Play@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0DP@PJJOJMKK@FileVerificationController?3?3Play@ DB 'FileVerificati'
	DB	'onController::PlayerInfoStruct::PlayerInfoStruct', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z$1
__ehfuncinfo$??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
xdata$x	ENDS
;	COMDAT ??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z
_TEXT	SEGMENT
$T65637 = -16						; size = 4
$T65631 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_playerid$ = 8						; size = 4
_notifystructnum$ = 12					; size = 4
_filecount$ = 12					; size = 4
??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z PROC ; FileVerificationController::PlayerInfoStruct::PlayerInfoStruct, COMDAT
; _this$ = ecx

; 152  : {

	push	-1
	push	__ehhandler$??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	ebp
	push	esi
	push	edi

; 153  : 	FilesVerificationStatus = new SimpleDynVecClass<bool>(filecount);

	push	OFFSET ??_C@_0DP@PJJOJMKK@FileVerificationController?3?3Play@
	push	153					; 00000099H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	mov	ebp, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T65631[esp+32], esi
	mov	ebx, DWORD PTR _filecount$[esp+28]
	xor	edi, edi
	cmp	esi, edi
	mov	DWORD PTR __$EHRec$[esp+40], edi
	je	SHORT $LN6@PlayerInfo@10
	cmp	ebx, edi
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@_N@@6B@
	mov	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi+8], edi
	jbe	SHORT $LN31@PlayerInfo@10
	push	ebx
	mov	ecx, esi
	call	?Resize@?$SimpleVecClass@_N@@UAE_NH@Z	; SimpleVecClass<bool>::Resize
$LN31@PlayerInfo@10:
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleDynVecClass@_N@@6B@
	mov	DWORD PTR [esi+12], ebx
	jmp	SHORT $LN7@PlayerInfo@10
$LN6@PlayerInfo@10:
	xor	esi, esi
$LN7@PlayerInfo@10:

; 154  : 	CallbackHooks = new SimpleDynVecClass<int>(filecount);

	push	OFFSET ??_C@_0DP@PJJOJMKK@FileVerificationController?3?3Play@
	push	154					; 0000009aH
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	mov	DWORD PTR __$EHRec$[esp+52], -1
	mov	DWORD PTR [ebp+4], esi
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T65637[esp+32], esi
	cmp	esi, edi
	mov	DWORD PTR __$EHRec$[esp+40], 1
	je	SHORT $LN10@PlayerInfo@10
	cmp	ebx, edi
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@H@@6B@
	mov	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi+8], edi
	jbe	SHORT $LN37@PlayerInfo@10
	push	ebx
	mov	ecx, esi
	call	?Resize@?$SimpleVecClass@H@@UAE_NH@Z	; SimpleVecClass<int>::Resize
$LN37@PlayerInfo@10:
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleDynVecClass@H@@6B@
	mov	DWORD PTR [esi+12], ebx
	jmp	SHORT $LN11@PlayerInfo@10
$LN10@PlayerInfo@10:
	xor	esi, esi
$LN11@PlayerInfo@10:

; 155  : 	FilesVerificationStatus->ClearAll();

	mov	eax, DWORD PTR [ebp+4]
	mov	DWORD PTR [ebp+8], esi
	mov	ecx, DWORD PTR [eax+8]
	mov	edx, DWORD PTR [eax+4]
	push	ecx
	push	edi
	push	edx
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	_memset
	add	esp, 12					; 0000000cH

; 156  : 	for (int i = 0; i < filecount; ++i)

	xor	esi, esi
	cmp	ebx, edi
	mov	ebx, DWORD PTR _playerid$[esp+28]
	jle	$LN1@PlayerInfo@10
$LL3@PlayerInfo@10:

; 157  : 	{
; 158  : 		NotifyCallbackData *callbackData = new NotifyCallbackData();

	push	OFFSET ??_C@_0DP@PJJOJMKK@FileVerificationController?3?3Play@
	push	158					; 0000009eH
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	cmp	eax, edi
	je	SHORT $LN14@PlayerInfo@10
	xor	ecx, ecx
	mov	DWORD PTR [eax], ecx
	mov	DWORD PTR [eax+4], ecx
	mov	edi, eax
$LN14@PlayerInfo@10:

; 159  : 		callbackData->FileID = i;
; 160  : 		callbackData->PlayerID = playerid;
; 161  : 
; 162  : 		ShaderNotifyStruct *notifystruct = new ShaderNotifyStruct();

	push	OFFSET ??_C@_0DP@PJJOJMKK@FileVerificationController?3?3Play@
	push	162					; 000000a2H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	mov	DWORD PTR [edi], esi
	mov	DWORD PTR [edi+4], ebx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN18@PlayerInfo@10
	xor	ecx, ecx
	mov	DWORD PTR [eax], ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	jmp	SHORT $LN19@PlayerInfo@10
$LN18@PlayerInfo@10:
	xor	eax, eax
$LN19@PlayerInfo@10:

; 163  : 		notifystruct->PlayerID = playerid;
; 164  : 		notifystruct->data = callbackData;

	mov	DWORD PTR [eax+12], edi

; 165  : 		notifystruct->ID = i + FILEIDBIAS;

	lea	ecx, DWORD PTR [esi+9000]
	mov	DWORD PTR [eax+8], ebx
	mov	DWORD PTR [eax+4], ecx

; 166  : 		notifystruct->hook = &FileVerificationController::NotifyHook;

	mov	DWORD PTR [eax], OFFSET ?NotifyHook@FileVerificationController@@KAXPAXH@Z ; FileVerificationController::NotifyHook
	mov	edx, DWORD PTR [ebp+8]
	mov	ecx, DWORD PTR [edx+4]

; 167  : 		(*CallbackHooks)[i] = AddShaderNotify(notifystruct);

	push	eax
	lea	edi, DWORD PTR [ecx+esi*4]
	call	DWORD PTR ?AddShaderNotify@@3P6AHPAUShaderNotifyStruct@@@ZA ; AddShaderNotify
	mov	DWORD PTR [edi], eax
	add	esi, 1
	add	esp, 4
	xor	edi, edi
	cmp	esi, DWORD PTR _filecount$[esp+28]
	jl	$LL3@PlayerInfo@10
$LN1@PlayerInfo@10:

; 168  : 	}
; 169  : 	ShaderNotifyStruct *notifystruct = new ShaderNotifyStruct();

	push	OFFSET ??_C@_0DP@PJJOJMKK@FileVerificationController?3?3Play@
	push	169					; 000000a9H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	cmp	eax, edi
	je	SHORT $LN22@PlayerInfo@10
	xor	ecx, ecx
	mov	DWORD PTR [eax], ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	jmp	SHORT $LN23@PlayerInfo@10
$LN22@PlayerInfo@10:
	xor	eax, eax
$LN23@PlayerInfo@10:

; 170  : 	notifystruct->PlayerID = playerid;
; 171  : 	notifystruct->data = (void *)playerid;
; 172  : 	notifystruct->ID = SCRIPTEVENT_VERIFYDONE;
; 173  : 	notifystruct->hook = &FileVerificationController::VerifyDoneNotifyHook;
; 174  : 	int notifystructnum = AddShaderNotify(notifystruct);

	push	eax
	mov	DWORD PTR [eax+8], ebx
	mov	DWORD PTR [eax+12], ebx
	mov	DWORD PTR [eax+4], 8003			; 00001f43H
	mov	DWORD PTR [eax], OFFSET ?VerifyDoneNotifyHook@FileVerificationController@@KAXPAXH@Z ; FileVerificationController::VerifyDoneNotifyHook
	call	DWORD PTR ?AddShaderNotify@@3P6AHPAUShaderNotifyStruct@@@ZA ; AddShaderNotify

; 175  : 	CallbackHooks->Add(notifystructnum);

	mov	ecx, DWORD PTR [ebp+8]
	add	esp, 4
	lea	edx, DWORD PTR _notifystructnum$[esp+28]
	push	edx
	mov	DWORD PTR _notifystructnum$[esp+32], eax
	call	?Add@?$SimpleDynVecClass@H@@QAEHAAH@Z	; SimpleDynVecClass<int>::Add

; 176  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	pop	edi
	pop	esi
	mov	eax, ebp
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z$0:
	mov	eax, DWORD PTR $T65631[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z$1:
	mov	eax, DWORD PTR $T65637[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z:
	mov	eax, OFFSET __ehfuncinfo$??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z ENDP ; FileVerificationController::PlayerInfoStruct::PlayerInfoStruct
PUBLIC	?MapUnloadHook@FileVerificationController@@KAXXZ ; FileVerificationController::MapUnloadHook
; Function compile flags: /Ogtpy
;	COMDAT ?MapUnloadHook@FileVerificationController@@KAXXZ
_TEXT	SEGMENT
?MapUnloadHook@FileVerificationController@@KAXXZ PROC	; FileVerificationController::MapUnloadHook, COMDAT

; 200  : 	VerifyController->MapUnloaded();

	mov	ecx, DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A ; VerifyController
	jmp	?MapUnloaded@FileVerificationController@@QAEXXZ ; FileVerificationController::MapUnloaded
?MapUnloadHook@FileVerificationController@@KAXXZ ENDP	; FileVerificationController::MapUnloadHook
_TEXT	ENDS
PUBLIC	?PlayerLeftHook@FileVerificationController@@KAXH@Z ; FileVerificationController::PlayerLeftHook
; Function compile flags: /Ogtpy
;	COMDAT ?PlayerLeftHook@FileVerificationController@@KAXH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?PlayerLeftHook@FileVerificationController@@KAXH@Z PROC	; FileVerificationController::PlayerLeftHook, COMDAT

; 208  : 	VerifyController->PlayerLeft(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	mov	ecx, DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A ; VerifyController
	push	eax
	call	?PlayerLeft@FileVerificationController@@QAEXH@Z ; FileVerificationController::PlayerLeft

; 209  : }

	ret	0
?PlayerLeftHook@FileVerificationController@@KAXH@Z ENDP	; FileVerificationController::PlayerLeftHook
_TEXT	ENDS
PUBLIC	??_C@_0CG@INGJHOOD@FileVerificationController?3?3MapL@ ; `string'
PUBLIC	??_C@_0BO@LDFALLDO@SH_FileVerificationController?$AA@ ; `string'
PUBLIC	?MapLoaded@FileVerificationController@@QAEXXZ	; FileVerificationController::MapLoaded
EXTRN	?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A:DWORD	; PlayerList
EXTRN	?Find_Object_With_Script@@YAPAEPBD@Z:PROC	; Find_Object_With_Script
;	COMDAT ??_C@_0CG@INGJHOOD@FileVerificationController?3?3MapL@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0CG@INGJHOOD@FileVerificationController?3?3MapL@ DB 'FileVerificati'
	DB	'onController::MapLoaded', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@LDFALLDO@SH_FileVerificationController?$AA@
CONST	SEGMENT
??_C@_0BO@LDFALLDO@SH_FileVerificationController?$AA@ DB 'SH_FileVerifica'
	DB	'tionController', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?MapLoaded@FileVerificationController@@QAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?MapLoaded@FileVerificationController@@QAEXXZ$0
__ehfuncinfo$?MapLoaded@FileVerificationController@@QAEXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?MapLoaded@FileVerificationController@@QAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
xdata$x	ENDS
;	COMDAT ?MapLoaded@FileVerificationController@@QAEXXZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T65712 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?MapLoaded@FileVerificationController@@QAEXXZ PROC	; FileVerificationController::MapLoaded, COMDAT
; _this$ = ecx

; 254  : {

	push	-1
	push	__ehhandler$?MapLoaded@FileVerificationController@@QAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	push	ebx
	push	esi
	mov	esi, ecx

; 255  : 	GameObject *obj = Find_Object_With_Script("SH_FileVerificationController");

	push	OFFSET ??_C@_0BO@LDFALLDO@SH_FileVerificationController?$AA@
	mov	DWORD PTR _this$[esp+32], esi
	call	?Find_Object_With_Script@@YAPAEPBD@Z	; Find_Object_With_Script
	mov	ebx, eax
	add	esp, 4

; 256  : 	if (obj) 

	test	ebx, ebx
	je	$LN5@MapLoaded

; 257  : 	{
; 258  : 		UseVerification = true;

	mov	BYTE PTR [esi], 1

; 259  : 	}
; 260  : 	else
; 261  : 	{	
; 262  : 		UseVerification = false;
; 263  : 		return;
; 264  : 	}
; 265  : 	for (GenericSLNode* PlayerIter = PlayerList->HeadNode; (PlayerIter != NULL); PlayerIter = PlayerIter->NodeNext)

	mov	eax, DWORD PTR ?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A ; PlayerList
	push	ebp
	mov	ebp, DWORD PTR [eax+4]
	test	ebp, ebp
	je	$LN21@MapLoaded
	push	edi
	jmp	SHORT $LN3@MapLoaded
	npad	2
$LL19@MapLoaded:
	mov	esi, DWORD PTR _this$[esp+36]
$LN3@MapLoaded:

; 266  : 	{
; 267  : 		cPlayer *p = (cPlayer *)PlayerIter->NodeData;

	mov	eax, DWORD PTR [ebp+4]

; 268  : 		int id = p->PlayerId;

	mov	edi, DWORD PTR [eax+1884]

; 269  : 		(*Players)[id] = new PlayerInfoStruct(id,FileCount);

	push	OFFSET ??_C@_0CG@INGJHOOD@FileVerificationController?3?3MapL@
	push	269					; 0000010dH
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	12					; 0000000cH
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T65712[esp+36], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+44], 0
	je	SHORT $LN8@MapLoaded
	mov	ecx, DWORD PTR [esi+8]
	push	ecx
	push	edi
	mov	ecx, eax
	call	??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z ; FileVerificationController::PlayerInfoStruct::PlayerInfoStruct
	jmp	SHORT $LN9@MapLoaded
$LN8@MapLoaded:
	xor	eax, eax
$LN9@MapLoaded:
	mov	edx, DWORD PTR [esi+16]
	mov	edx, DWORD PTR [edx+4]
	lea	ecx, DWORD PTR [edi*4]
	mov	DWORD PTR [ecx+edx], eax

; 270  : 		(*Players)[id]->CRCSalt = Commands->Get_Random_Int(0, 65535);

	mov	eax, DWORD PTR [esi+16]
	mov	esi, DWORD PTR [eax+4]
	add	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+152]
	push	65535					; 0000ffffH
	push	0
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	edx

; 271  : 		Commands->Send_Custom_Event(obj,obj,CUSTOM_PLAYERLOAD,id,0.0f);

	fldz
	mov	ecx, DWORD PTR [esi]
	fstp	DWORD PTR [esp+4]
	add	esp, 4
	push	edi
	mov	DWORD PTR [ecx], eax
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+140]
	push	-2063400960				; 85030000H
	push	ebx
	push	ebx
	call	eax

; 272  : 		Commands->Send_Custom_Event(obj,obj,CUSTOM_STARTTIMEOUT,id,0.0f);

	fldz
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp+16]
	mov	edx, DWORD PTR [ecx+140]
	add	esp, 16					; 00000010H
	push	edi
	push	-2063269888				; 85050000H
	push	ebx
	push	ebx
	call	edx
	mov	ebp, DWORD PTR [ebp]
	add	esp, 20					; 00000014H
	test	ebp, ebp
	jne	$LL19@MapLoaded
	pop	edi
$LN21@MapLoaded:
	pop	ebp
	pop	esi
	pop	ebx

; 273  : 	}
; 274  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	0
$LN5@MapLoaded:
	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	BYTE PTR [esi], 0
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?MapLoaded@FileVerificationController@@QAEXXZ$0:
	mov	eax, DWORD PTR $T65712[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?MapLoaded@FileVerificationController@@QAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?MapLoaded@FileVerificationController@@QAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?MapLoaded@FileVerificationController@@QAEXXZ ENDP	; FileVerificationController::MapLoaded
PUBLIC	??_C@_0CJ@JHLHEINF@FileVerificationController?3?3Play@ ; `string'
PUBLIC	?PlayerJoined@FileVerificationController@@QAEXH@Z ; FileVerificationController::PlayerJoined
;	COMDAT ??_C@_0CJ@JHLHEINF@FileVerificationController?3?3Play@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0CJ@JHLHEINF@FileVerificationController?3?3Play@ DB 'FileVerificati'
	DB	'onController::PlayerJoined', 00H		; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?PlayerJoined@FileVerificationController@@QAEXH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?PlayerJoined@FileVerificationController@@QAEXH@Z$0
__ehfuncinfo$?PlayerJoined@FileVerificationController@@QAEXH@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?PlayerJoined@FileVerificationController@@QAEXH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
xdata$x	ENDS
;	COMDAT ?PlayerJoined@FileVerificationController@@QAEXH@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
$T65745 = 8						; size = 4
_PlayerID$ = 8						; size = 4
?PlayerJoined@FileVerificationController@@QAEXH@Z PROC	; FileVerificationController::PlayerJoined, COMDAT
; _this$ = ecx

; 286  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?PlayerJoined@FileVerificationController@@QAEXH@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx

; 287  : 	if (!UseVerification)

	cmp	BYTE PTR [edi], 0
	je	$LN1@PlayerJoin

; 288  : 	{
; 289  : 		return;
; 290  : 	}
; 291  : 	if ((*Players)[PlayerID])

	mov	eax, DWORD PTR [edi+16]
	mov	esi, DWORD PTR _PlayerID$[esp+20]
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+esi*4], 0
	je	SHORT $LN6@PlayerJoin

; 292  : 	{
; 293  : 		delete (*Players)[PlayerID];

	push	OFFSET ??_C@_0CJ@JHLHEINF@FileVerificationController?3?3Play@
	push	293					; 00000125H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [edi+16]
	mov	eax, DWORD PTR [edx+4]
	mov	ebx, DWORD PTR [eax+esi*4]
	add	esp, 12					; 0000000cH
	test	ebx, ebx
	je	SHORT $LN6@PlayerJoin
	mov	ecx, ebx
	call	??1PlayerInfoStruct@FileVerificationController@@QAE@XZ ; FileVerificationController::PlayerInfoStruct::~PlayerInfoStruct
	push	ebx
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN6@PlayerJoin:

; 294  : 	}
; 295  : 	PlayerInfoStruct *temp = new PlayerInfoStruct(PlayerID, FileCount);

	push	OFFSET ??_C@_0CJ@JHLHEINF@FileVerificationController?3?3Play@
	push	295					; 00000127H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	12					; 0000000cH
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T65745[esp+20], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN10@PlayerJoin
	mov	ecx, DWORD PTR [edi+8]
	push	ecx
	push	esi
	mov	ecx, eax
	call	??0PlayerInfoStruct@FileVerificationController@@QAE@HH@Z ; FileVerificationController::PlayerInfoStruct::PlayerInfoStruct
	mov	ebx, eax
	jmp	SHORT $LN11@PlayerJoin
$LN10@PlayerJoin:
	xor	ebx, ebx
$LN11@PlayerJoin:

; 296  : 	temp->CRCSalt = Commands->Get_Random_Int(0,65535);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+152]
	push	65535					; 0000ffffH
	push	0
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	eax
	mov	DWORD PTR [ebx], eax

; 297  : 	(*Players)[PlayerID] = temp;

	mov	ecx, DWORD PTR [edi+16]
	mov	edx, DWORD PTR [ecx+4]

; 298  : 	GameObject *obj = Find_Object_With_Script("SH_FileVerificationController");

	push	OFFSET ??_C@_0BO@LDFALLDO@SH_FileVerificationController?$AA@
	mov	DWORD PTR [edx+esi*4], ebx
	call	?Find_Object_With_Script@@YAPAEPBD@Z	; Find_Object_With_Script
	mov	edi, eax
	add	esp, 12					; 0000000cH

; 299  : 	if (obj)

	test	edi, edi
	je	SHORT $LN1@PlayerJoin

; 300  : 	{
; 301  : 		Commands->Send_Custom_Event(obj,obj,CUSTOM_PLAYERLOAD,PlayerID,0.0f);

	fldz
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR [eax+140]
	push	esi
	push	-2063400960				; 85030000H
	push	edi
	push	edi
	call	ecx

; 302  : 		Commands->Send_Custom_Event(obj,obj,CUSTOM_STARTTIMEOUT,PlayerID,0.0f);

	fldz
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp+16]
	mov	eax, DWORD PTR [edx+140]
	add	esp, 16					; 00000010H
	push	esi
	push	-2063269888				; 85050000H
	push	edi
	push	edi
	call	eax
	add	esp, 20					; 00000014H
$LN1@PlayerJoin:

; 303  : 	}
; 304  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 12					; 0000000cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?PlayerJoined@FileVerificationController@@QAEXH@Z$0:
	mov	eax, DWORD PTR $T65745[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?PlayerJoined@FileVerificationController@@QAEXH@Z:
	mov	eax, OFFSET __ehfuncinfo$?PlayerJoined@FileVerificationController@@QAEXH@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?PlayerJoined@FileVerificationController@@QAEXH@Z ENDP	; FileVerificationController::PlayerJoined
PUBLIC	??_GFileVerificationController@@QAEPAXI@Z	; FileVerificationController::`scalar deleting destructor'
; Function compile flags: /Ogtpy
;	COMDAT ??_GFileVerificationController@@QAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GFileVerificationController@@QAEPAXI@Z PROC		; FileVerificationController::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1FileVerificationController@@QAE@XZ	; FileVerificationController::~FileVerificationController
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@28
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@28:
	mov	eax, esi
	pop	esi
	ret	4
??_GFileVerificationController@@QAEPAXI@Z ENDP		; FileVerificationController::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
;	COMDAT ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
_TEXT	SEGMENT
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx

; 564  : 		{	// construct empty string

	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax], ecx

; 565  : 		_Tidy();

	mov	DWORD PTR [eax+28], 15			; 0000000fH
	mov	DWORD PTR [eax+24], ecx
	mov	BYTE PTR [eax+8], cl

; 566  : 		}

	ret	0
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx

; 904  : 		{	// destroy the string

	push	esi
	mov	esi, ecx

; 905  : 		_Tidy(true);

	cmp	DWORD PTR [esi+28], 16			; 00000010H
	jb	SHORT $LN18@basic_stri
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN18@basic_stri:
	xor	eax, eax
	mov	DWORD PTR [esi+28], 15			; 0000000fH
	mov	DWORD PTR [esi+24], eax
	mov	BYTE PTR [esi+8], al

; 906  : 		}

	mov	ecx, esi
	pop	esi
	jmp	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_streambuf<char,std::char_traits<char> >::~basic_streambuf<char,std::char_traits<char> >
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
;	COMDAT ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ
_TEXT	SEGMENT
??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::~basic_streambuf<char,std::char_traits<char> >, COMDAT
; _this$ = ecx

; 43   : 		{	// destroy the object

	push	esi
	mov	esi, ecx
	push	edi

; 44   : 		_DELETE_CRT(_Plocale);

	mov	edi, DWORD PTR [esi+56]
	test	edi, edi
	mov	DWORD PTR [esi], OFFSET ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@
	je	SHORT $LN4@basic_stre@2
	mov	ecx, edi
	call	??1locale@std@@QAE@XZ			; std::locale::~locale
	push	edi
	call	_free
	add	esp, 4
$LN4@basic_stre@2:
	pop	edi

; 45   : 		}

	lea	ecx, DWORD PTR [esi+4]
	pop	esi
	jmp	??1_Mutex@std@@QAE@XZ			; std::_Mutex::~_Mutex
??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::~basic_streambuf<char,std::char_traits<char> >
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z PROC ; std::basic_streambuf<char,std::char_traits<char> >::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	edi, DWORD PTR [esi+56]
	test	edi, edi
	mov	DWORD PTR [esi], OFFSET ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@
	je	SHORT $LN7@scalar@29
	mov	ecx, edi
	call	??1locale@std@@QAE@XZ			; std::locale::~locale
	push	edi
	call	_free
	add	esp, 4
$LN7@scalar@29:
	lea	ecx, DWORD PTR [esi+4]
	call	??1_Mutex@std@@QAE@XZ			; std::_Mutex::~_Mutex
	test	BYTE PTR ___flags$[esp+4], 1
	je	SHORT $LN13@scalar@29
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN13@scalar@29:
	pop	edi
	mov	eax, esi
	pop	esi
	ret	4
??_G?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z ENDP ; std::basic_streambuf<char,std::char_traits<char> >::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::_String_iterator<char,std::char_traits<char>,std::allocator<char> >::~_String_iterator<char,std::char_traits<char>,std::allocator<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ PROC ; std::_String_iterator<char,std::char_traits<char>,std::allocator<char> >::~_String_iterator<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx
	jmp	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base
??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ENDP ; std::_String_iterator<char,std::char_traits<char>,std::allocator<char> >::~_String_iterator<char,std::char_traits<char>,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_filebuf<char,std::char_traits<char> >::`vftable'
PUBLIC	??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z ; std::basic_filebuf<char,std::char_traits<char> >::basic_filebuf<char,std::char_traits<char> >
PUBLIC	??_R4?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_filebuf<char,std::char_traits<char> >::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@@8 ; std::basic_filebuf<char,std::char_traits<char> > `RTTI Type Descriptor'
PUBLIC	??_R3?$basic_filebuf@DU?$char_traits@D@std@@@std@@8 ; std::basic_filebuf<char,std::char_traits<char> >::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$basic_filebuf@DU?$char_traits@D@std@@@std@@8 ; std::basic_filebuf<char,std::char_traits<char> >::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$basic_filebuf@DU?$char_traits@D@std@@@std@@8 ; std::basic_filebuf<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z ; std::basic_filebuf<char,std::char_traits<char> >::overflow
PUBLIC	?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z ; std::basic_filebuf<char,std::char_traits<char> >::pbackfail
PUBLIC	?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ ; std::basic_filebuf<char,std::char_traits<char> >::underflow
PUBLIC	?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ ; std::basic_filebuf<char,std::char_traits<char> >::uflow
PUBLIC	?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z ; std::basic_filebuf<char,std::char_traits<char> >::seekoff
PUBLIC	?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z ; std::basic_filebuf<char,std::char_traits<char> >::seekpos
PUBLIC	?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z ; std::basic_filebuf<char,std::char_traits<char> >::setbuf
PUBLIC	?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ ; std::basic_filebuf<char,std::char_traits<char> >::sync
PUBLIC	?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z ; std::basic_filebuf<char,std::char_traits<char> >::imbue
EXTRN	??_E?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z:PROC ; std::basic_filebuf<char,std::char_traits<char> >::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$basic_filebuf@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$basic_filebuf@DU?$char_traits@D@std@@@std@@8 DD FLAT:??_R0?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@@8 ; std::basic_filebuf<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$basic_filebuf@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R2?$basic_filebuf@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R2?$basic_filebuf@DU?$char_traits@D@std@@@std@@8 DD FLAT:??_R1A@?0A@EA@?$basic_filebuf@DU?$char_traits@D@std@@@std@@8 ; std::basic_filebuf<char,std::char_traits<char> >::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$basic_streambuf@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R3?$basic_filebuf@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R3?$basic_filebuf@DU?$char_traits@D@std@@@std@@8 DD 00H ; std::basic_filebuf<char,std::char_traits<char> >::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$basic_filebuf@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@@8
_DATA	SEGMENT
??_R0?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::basic_filebuf<char,std::char_traits<char> > `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@
rdata$r	SEGMENT
??_R4?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ DD 00H ; std::basic_filebuf<char,std::char_traits<char> >::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@@8
	DD	FLAT:??_R3?$basic_filebuf@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@
CONST	SEGMENT
??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ DD FLAT:??_R4?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_filebuf<char,std::char_traits<char> >::`vftable'
	DD	FLAT:??_E?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z
	DD	FLAT:?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
	DD	FLAT:?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
	DD	FLAT:?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
	DD	FLAT:?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
	DD	FLAT:?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
	DD	FLAT:?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z
	DD	FLAT:?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z
	DD	FLAT:?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z
	DD	FLAT:?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z
	DD	FLAT:?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
	DD	FLAT:?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z
	DD	FLAT:?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
	DD	FLAT:?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
CONST	ENDS
;	COMDAT ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z
_TEXT	SEGMENT
__File$ = 8						; size = 4
??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z PROC ; std::basic_filebuf<char,std::char_traits<char> >::basic_filebuf<char,std::char_traits<char> >, COMDAT
; _this$ = ecx

; 125  : 		{	// construct from pointer to C stream

	push	esi
	mov	esi, ecx
	call	??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ ; std::basic_streambuf<char,std::char_traits<char> >::basic_streambuf<char,std::char_traits<char> >

; 126  : 		_Init(_File, _Newfl);

	mov	ecx, esi
	mov	DWORD PTR [esi], OFFSET ??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@
	mov	BYTE PTR [esi+72], 0
	mov	BYTE PTR [esi+65], 0
	call	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Init
	mov	eax, DWORD PTR __File$[esp]
	test	eax, eax
	je	SHORT $LN7@basic_file
	lea	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR [esi+16], ecx
	mov	DWORD PTR [esi+20], ecx
	lea	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [esi+32], eax
	mov	DWORD PTR [esi+36], eax
	mov	DWORD PTR [esi+48], ecx
	mov	DWORD PTR [esi+52], ecx
$LN7@basic_file:
	mov	DWORD PTR [esi+76], eax
	mov	eax, DWORD PTR ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA
	mov	DWORD PTR [esi+68], eax
	mov	DWORD PTR [esi+60], 0

; 127  : 		}

	mov	eax, esi
	pop	esi
	ret	4
??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z ENDP ; std::basic_filebuf<char,std::char_traits<char> >::basic_filebuf<char,std::char_traits<char> >
_TEXT	ENDS
PUBLIC	?not_eof@?$char_traits@D@std@@SAHABH@Z		; std::char_traits<char>::not_eof
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
;	COMDAT ?not_eof@?$char_traits@D@std@@SAHABH@Z
_TEXT	SEGMENT
__Meta$ = 8						; size = 4
?not_eof@?$char_traits@D@std@@SAHABH@Z PROC		; std::char_traits<char>::not_eof, COMDAT

; 515  : 		return (_Meta != eof() ? _Meta : !eof());

	mov	eax, DWORD PTR __Meta$[esp-4]
	mov	ecx, DWORD PTR [eax]
	mov	eax, ecx
	sub	eax, -1
	neg	eax
	sbb	eax, eax
	and	eax, ecx

; 516  : 		}

	ret	0
?not_eof@?$char_traits@D@std@@SAHABH@Z ENDP		; std::char_traits<char>::not_eof
_TEXT	ENDS
PUBLIC	??$_Fgetc@D@std@@YA_NAADPAU_iobuf@@@Z		; std::_Fgetc<char>
EXTRN	_fgetc:PROC
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
;	COMDAT ??$_Fgetc@D@std@@YA_NAADPAU_iobuf@@@Z
_TEXT	SEGMENT
__Byte$ = 8						; size = 4
__File$ = 12						; size = 4
??$_Fgetc@D@std@@YA_NAADPAU_iobuf@@@Z PROC		; std::_Fgetc<char>, COMDAT

; 36   : 	int _Meta;
; 37   : 	if ((_Meta = fgetc(_File)) == EOF)

	mov	eax, DWORD PTR __File$[esp-4]
	push	eax
	call	_fgetc
	add	esp, 4
	cmp	eax, -1
	jne	SHORT $LN2@Fgetc

; 38   : 		return (false);

	xor	al, al

; 43   : 		}
; 44   : 	}

	ret	0
$LN2@Fgetc:

; 39   : 	else
; 40   : 		{	// got one, convert to char
; 41   : 		_Byte = (char)_Meta;

	mov	ecx, DWORD PTR __Byte$[esp-4]
	mov	BYTE PTR [ecx], al

; 42   : 		return (true);

	mov	al, 1

; 43   : 		}
; 44   : 	}

	ret	0
??$_Fgetc@D@std@@YA_NAADPAU_iobuf@@@Z ENDP		; std::_Fgetc<char>
_TEXT	ENDS
PUBLIC	??$_Fputc@D@std@@YA_NDPAU_iobuf@@@Z		; std::_Fputc<char>
EXTRN	_fputc:PROC
; Function compile flags: /Ogtpy
;	COMDAT ??$_Fputc@D@std@@YA_NDPAU_iobuf@@@Z
_TEXT	SEGMENT
__Byte$ = 8						; size = 1
__File$ = 12						; size = 4
??$_Fputc@D@std@@YA_NDPAU_iobuf@@@Z PROC		; std::_Fputc<char>, COMDAT

; 68   : 	return (fputc(_Byte, _File) != EOF);

	mov	eax, DWORD PTR __File$[esp-4]
	movsx	ecx, BYTE PTR __Byte$[esp-4]
	push	eax
	push	ecx
	call	_fputc
	xor	edx, edx
	add	esp, 8
	cmp	eax, -1
	setne	dl
	mov	al, dl

; 69   : 	}

	ret	0
??$_Fputc@D@std@@YA_NDPAU_iobuf@@@Z ENDP		; std::_Fputc<char>
_TEXT	ENDS
PUBLIC	??$_Ungetc@D@std@@YA_NABDPAU_iobuf@@@Z		; std::_Ungetc<char>
EXTRN	_ungetc:PROC
; Function compile flags: /Ogtpy
;	COMDAT ??$_Ungetc@D@std@@YA_NABDPAU_iobuf@@@Z
_TEXT	SEGMENT
__Byte$ = 8						; size = 4
__File$ = 12						; size = 4
??$_Ungetc@D@std@@YA_NABDPAU_iobuf@@@Z PROC		; std::_Ungetc<char>, COMDAT

; 86   : 	return (ungetc((unsigned char)_Byte, _File) != EOF);

	mov	ecx, DWORD PTR __Byte$[esp-4]
	mov	eax, DWORD PTR __File$[esp-4]
	movzx	edx, BYTE PTR [ecx]
	push	eax
	push	edx
	call	_ungetc
	xor	ecx, ecx
	add	esp, 8
	cmp	eax, -1
	setne	cl
	mov	al, cl

; 87   : 	}

	ret	0
??$_Ungetc@D@std@@YA_NABDPAU_iobuf@@@Z ENDP		; std::_Ungetc<char>
_TEXT	ENDS
EXTRN	_fflush:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
_TEXT	SEGMENT
?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ PROC ; std::basic_filebuf<char,std::char_traits<char> >::sync, COMDAT
; _this$ = ecx

; 448  : 		{	// synchronize C stream with external file

	push	esi
	mov	esi, ecx

; 449  : 		return (_Myfile == 0
; 450  : 			|| _Traits::eq_int_type(_Traits::eof(), overflow())
; 451  : 			|| 0 <= fflush(_Myfile) ? 0 : -1);

	cmp	DWORD PTR [esi+76], 0
	je	SHORT $LN3@sync
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	push	-1
	call	edx
	cmp	eax, -1
	je	SHORT $LN3@sync
	mov	eax, DWORD PTR [esi+76]
	push	eax
	call	_fflush
	add	esp, 4
	test	eax, eax
	jge	SHORT $LN3@sync
	or	eax, -1
	pop	esi

; 452  : 		}

	ret	0
$LN3@sync:

; 449  : 		return (_Myfile == 0
; 450  : 			|| _Traits::eq_int_type(_Traits::eof(), overflow())
; 451  : 			|| 0 <= fflush(_Myfile) ? 0 : -1);

	xor	eax, eax
	pop	esi

; 452  : 		}

	ret	0
?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ ENDP ; std::basic_filebuf<char,std::char_traits<char> >::sync
_TEXT	ENDS
PUBLIC	?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ ; std::basic_streambuf<char,std::char_traits<char> >::eback
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
;	COMDAT ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
_TEXT	SEGMENT
?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::eback, COMDAT
; _this$ = ecx

; 186  : 		return (*_IGfirst);

	mov	eax, DWORD PTR [ecx+16]
	mov	eax, DWORD PTR [eax]

; 187  : 		}

	ret	0
?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::eback
_TEXT	ENDS
PUBLIC	?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ ; std::basic_streambuf<char,std::char_traits<char> >::egptr
; Function compile flags: /Ogtpy
;	COMDAT ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
_TEXT	SEGMENT
?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::egptr, COMDAT
; _this$ = ecx

; 206  : 		return (*_IGnext + *_IGcount);

	mov	eax, DWORD PTR [ecx+48]
	mov	ecx, DWORD PTR [ecx+32]
	mov	eax, DWORD PTR [eax]
	add	eax, DWORD PTR [ecx]

; 207  : 		}

	ret	0
?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::egptr
_TEXT	ENDS
PUBLIC	?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ ; std::basic_streambuf<char,std::char_traits<char> >::epptr
; Function compile flags: /Ogtpy
;	COMDAT ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
_TEXT	SEGMENT
?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::epptr, COMDAT
; _this$ = ecx

; 224  : 		return (*_IPnext + *_IPcount);

	mov	eax, DWORD PTR [ecx+52]
	mov	ecx, DWORD PTR [ecx+36]
	mov	eax, DWORD PTR [eax]
	add	eax, DWORD PTR [ecx]

; 225  : 		}

	ret	0
?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::epptr
_TEXT	ENDS
PUBLIC	?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Gndec
; Function compile flags: /Ogtpy
;	COMDAT ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
_TEXT	SEGMENT
?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Gndec, COMDAT
; _this$ = ecx

; 229  : 		++*_IGcount;

	mov	eax, DWORD PTR [ecx+48]
	add	DWORD PTR [eax], 1

; 230  : 		return (--*_IGnext);

	mov	eax, DWORD PTR [ecx+32]
	add	DWORD PTR [eax], -1
	mov	eax, DWORD PTR [ecx+32]
	mov	eax, DWORD PTR [eax]

; 231  : 		}

	ret	0
?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Gndec
_TEXT	ENDS
PUBLIC	?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Pninc
; Function compile flags: /Ogtpy
;	COMDAT ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
_TEXT	SEGMENT
?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Pninc, COMDAT
; _this$ = ecx

; 272  : 		--*_IPcount;

	mov	eax, DWORD PTR [ecx+52]
	add	DWORD PTR [eax], -1

; 273  : 		return ((*_IPnext)++);

	mov	ecx, DWORD PTR [ecx+36]
	mov	eax, DWORD PTR [ecx]
	lea	edx, DWORD PTR [eax+1]
	mov	DWORD PTR [ecx], edx

; 274  : 		}

	ret	0
?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Pninc
_TEXT	ENDS
PUBLIC	??0?$fpos@H@std@@QAE@H_J@Z			; std::fpos<int>::fpos<int>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
;	COMDAT ??0?$fpos@H@std@@QAE@H_J@Z
_TEXT	SEGMENT
__State$ = 8						; size = 4
__Fileposition$ = 12					; size = 8
??0?$fpos@H@std@@QAE@H_J@Z PROC				; std::fpos<int>::fpos<int>, COMDAT
; _this$ = ecx

; 52   : 		{	// construct with conversion state and C file position

	mov	edx, DWORD PTR __Fileposition$[esp]
	mov	eax, ecx
	mov	ecx, DWORD PTR __Fileposition$[esp-4]
	mov	DWORD PTR [eax+8], ecx
	mov	ecx, DWORD PTR __State$[esp-4]
	mov	DWORD PTR [eax], 0
	mov	DWORD PTR [eax+12], edx
	mov	DWORD PTR [eax+16], ecx

; 53   : 		}

	ret	12					; 0000000cH
??0?$fpos@H@std@@QAE@H_J@Z ENDP				; std::fpos<int>::fpos<int>
_TEXT	ENDS
PUBLIC	?state@?$fpos@H@std@@QBEHXZ			; std::fpos<int>::state
; Function compile flags: /Ogtpy
;	COMDAT ?state@?$fpos@H@std@@QBEHXZ
_TEXT	SEGMENT
?state@?$fpos@H@std@@QBEHXZ PROC			; std::fpos<int>::state, COMDAT
; _this$ = ecx

; 57   : 		return (_Mystate);

	mov	eax, DWORD PTR [ecx+16]

; 58   : 		}

	ret	0
?state@?$fpos@H@std@@QBEHXZ ENDP			; std::fpos<int>::state
_TEXT	ENDS
PUBLIC	?seekpos@?$fpos@H@std@@QBE_JXZ			; std::fpos<int>::seekpos
; Function compile flags: /Ogtpy
;	COMDAT ?seekpos@?$fpos@H@std@@QBE_JXZ
_TEXT	SEGMENT
?seekpos@?$fpos@H@std@@QBE_JXZ PROC			; std::fpos<int>::seekpos, COMDAT
; _this$ = ecx

; 67   : 		return (_Fpos);

	mov	eax, DWORD PTR [ecx+8]
	mov	edx, DWORD PTR [ecx+12]

; 68   : 		}

	ret	0
?seekpos@?$fpos@H@std@@QBE_JXZ ENDP			; std::fpos<int>::seekpos
_TEXT	ENDS
PUBLIC	??B?$fpos@H@std@@QBEJXZ				; std::fpos<int>::operator long
; Function compile flags: /Ogtpy
;	COMDAT ??B?$fpos@H@std@@QBEJXZ
_TEXT	SEGMENT
??B?$fpos@H@std@@QBEJXZ PROC				; std::fpos<int>::operator long, COMDAT
; _this$ = ecx

; 72   : 		return (_Myoff + _FPOSOFF(_Fpos));

	mov	eax, DWORD PTR [ecx+8]
	add	eax, DWORD PTR [ecx]

; 73   : 		}

	ret	0
??B?$fpos@H@std@@QBEJXZ ENDP				; std::fpos<int>::operator long
_TEXT	ENDS
PUBLIC	?in@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z ; std::codecvt<char,char,int>::in
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
;	COMDAT ?in@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z
_TEXT	SEGMENT
__State$ = 8						; size = 4
__First1$ = 12						; size = 4
__Last1$ = 16						; size = 4
__Mid1$ = 20						; size = 4
__First2$ = 24						; size = 4
__Last2$ = 28						; size = 4
__Mid2$ = 32						; size = 4
?in@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z PROC	; std::codecvt<char,char,int>::in, COMDAT
; _this$ = ecx

; 718  : 		return (do_in(_State,
; 719  : 			_First1, _Last1, _Mid1, _First2, _Last2, _Mid2));

	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+16]
	jmp	eax
?in@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z ENDP	; std::codecvt<char,char,int>::in
_TEXT	ENDS
PUBLIC	?out@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z ; std::codecvt<char,char,int>::out
; Function compile flags: /Ogtpy
;	COMDAT ?out@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z
_TEXT	SEGMENT
__State$ = 8						; size = 4
__First1$ = 12						; size = 4
__Last1$ = 16						; size = 4
__Mid1$ = 20						; size = 4
__First2$ = 24						; size = 4
__Last2$ = 28						; size = 4
__Mid2$ = 32						; size = 4
?out@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z PROC ; std::codecvt<char,char,int>::out, COMDAT
; _this$ = ecx

; 726  : 		return (do_out(_State,
; 727  : 			_First1, _Last1, _Mid1, _First2, _Last2, _Mid2));

	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+20]
	jmp	eax
?out@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z ENDP ; std::codecvt<char,char,int>::out
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
_TEXT	ENDS
;	COMDAT ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
_TEXT	SEGMENT
__Meta$ = 8						; size = 4
?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z PROC ; std::basic_filebuf<char,std::char_traits<char> >::pbackfail, COMDAT
; _this$ = ecx

; 283  : 		if (_Mysb::gptr() != 0
; 284  : 			&& _Mysb::eback() < _Mysb::gptr()
; 285  : 			&& (_Traits::eq_int_type(_Traits::eof(), _Meta)
; 286  : 			|| _Traits::eq_int_type(_Traits::to_int_type(_Mysb::gptr()[-1]),
; 287  : 				_Meta)))

	mov	eax, DWORD PTR [ecx+32]
	mov	eax, DWORD PTR [eax]
	test	eax, eax
	push	ebx
	mov	ebx, DWORD PTR __Meta$[esp]
	je	SHORT $LN10@pbackfail
	mov	edx, DWORD PTR [ecx+16]
	cmp	DWORD PTR [edx], eax
	jae	SHORT $LN10@pbackfail
	cmp	ebx, -1
	je	SHORT $LN9@pbackfail
	movzx	eax, BYTE PTR [eax-1]
	cmp	eax, ebx
	jne	SHORT $LN10@pbackfail
$LN9@pbackfail:

; 288  : 			{	// just back up position
; 289  : 			_Mysb::_Gndec();

	mov	eax, DWORD PTR [ecx+48]
	add	DWORD PTR [eax], 1
	mov	ecx, DWORD PTR [ecx+32]
	add	DWORD PTR [ecx], -1

; 290  : 			return (_Traits::not_eof(_Meta));

	mov	eax, ebx
	sub	eax, -1
	neg	eax
	sbb	eax, eax
	and	eax, ebx
	pop	ebx

; 296  : #pragma warning(push)
; 297  : #pragma warning(disable: 6237 6239)
; 298  : 		/* prefast noise VSW 489858 */
; 299  : 		else if (1 < sizeof (_Elem) && _Mysb::gptr() != &_Mychar)
; 300  : #pragma warning(pop)
; 301  : 			{	// putback to _Mychar
; 302  : 			_Mychar = _Traits::to_char_type(_Meta);
; 303  : 			_Mysb::setg(&_Mychar, &_Mychar, &_Mychar + 1);
; 304  : 			return (_Meta);
; 305  : 			}
; 306  : 		else
; 307  : 			return (_Traits::eof());	// nowhere to put back
; 308  : 		}

	ret	4
$LN10@pbackfail:

; 291  : 			}
; 292  : 		else if (_Myfile == 0 || _Traits::eq_int_type(_Traits::eof(), _Meta))

	mov	eax, DWORD PTR [ecx+76]
	test	eax, eax
	je	SHORT $LN6@pbackfail
	cmp	ebx, -1
	je	SHORT $LN6@pbackfail

; 294  : 		else if (_Pcvt == 0 && _Ungetc(_Traits::to_char_type(_Meta), _Myfile))

	cmp	DWORD PTR [ecx+60], 0
	jne	SHORT $LN6@pbackfail
	movzx	ecx, bl
	push	eax
	push	ecx
	call	_ungetc
	add	esp, 8
	cmp	eax, -1
	je	SHORT $LN6@pbackfail

; 295  : 			return (_Meta);	// no facet and unget succeeded, return

	mov	eax, ebx
	pop	ebx

; 296  : #pragma warning(push)
; 297  : #pragma warning(disable: 6237 6239)
; 298  : 		/* prefast noise VSW 489858 */
; 299  : 		else if (1 < sizeof (_Elem) && _Mysb::gptr() != &_Mychar)
; 300  : #pragma warning(pop)
; 301  : 			{	// putback to _Mychar
; 302  : 			_Mychar = _Traits::to_char_type(_Meta);
; 303  : 			_Mysb::setg(&_Mychar, &_Mychar, &_Mychar + 1);
; 304  : 			return (_Meta);
; 305  : 			}
; 306  : 		else
; 307  : 			return (_Traits::eof());	// nowhere to put back
; 308  : 		}

	ret	4
$LN6@pbackfail:

; 293  : 			return (_Traits::eof());	// no open C stream or EOF, fail

	or	eax, -1
	pop	ebx

; 296  : #pragma warning(push)
; 297  : #pragma warning(disable: 6237 6239)
; 298  : 		/* prefast noise VSW 489858 */
; 299  : 		else if (1 < sizeof (_Elem) && _Mysb::gptr() != &_Mychar)
; 300  : #pragma warning(pop)
; 301  : 			{	// putback to _Mychar
; 302  : 			_Mychar = _Traits::to_char_type(_Meta);
; 303  : 			_Mysb::setg(&_Mychar, &_Mychar, &_Mychar + 1);
; 304  : 			return (_Meta);
; 305  : 			}
; 306  : 		else
; 307  : 			return (_Traits::eof());	// nowhere to put back
; 308  : 		}

	ret	4
?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z ENDP ; std::basic_filebuf<char,std::char_traits<char> >::pbackfail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
_TEXT	SEGMENT
?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ PROC ; std::basic_filebuf<char,std::char_traits<char> >::underflow, COMDAT
; _this$ = ecx

; 311  : 		{	// get an element from stream, but don't point past it

	push	esi
	mov	esi, ecx

; 312  : 		int_type _Meta;
; 313  : 		if (_Mysb::gptr() != 0
; 314  : 			&& _Mysb::gptr() < _Mysb::egptr())

	mov	eax, DWORD PTR [esi+32]
	mov	ecx, DWORD PTR [eax]
	test	ecx, ecx
	je	SHORT $LN4@underflow
	mov	edx, eax
	mov	eax, DWORD PTR [edx]
	mov	edx, DWORD PTR [esi+48]
	mov	edx, DWORD PTR [edx]
	add	edx, eax
	cmp	eax, edx
	jae	SHORT $LN4@underflow

; 315  : 			return (_Traits::to_int_type(*_Mysb::gptr()));	// return buffered

	movzx	eax, BYTE PTR [ecx]
	pop	esi

; 322  : 			}
; 323  : 		}

	ret	0
$LN4@underflow:

; 316  : 		else if (_Traits::eq_int_type(_Traits::eof(), _Meta = uflow()))

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+20]
	push	edi
	mov	ecx, esi
	call	edx
	mov	edi, eax
	cmp	edi, -1
	jne	SHORT $LN2@underflow
	pop	edi

; 317  : 			return (_Meta);	// uflow failed, return EOF

	or	eax, eax
	pop	esi

; 322  : 			}
; 323  : 		}

	ret	0
$LN2@underflow:

; 318  : 		else
; 319  : 			{	// get a char, don't point past it
; 320  : 			pbackfail(_Meta);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	push	edi
	mov	ecx, esi
	call	edx

; 321  : 			return (_Meta);

	mov	eax, edi
	pop	edi
	pop	esi

; 322  : 			}
; 323  : 		}

	ret	0
?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ ENDP ; std::basic_filebuf<char,std::char_traits<char> >::underflow
_TEXT	ENDS
EXTRN	_setvbuf:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z
_TEXT	SEGMENT
__Buffer$ = 8						; size = 4
__Count$ = 12						; size = 4
?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z PROC ; std::basic_filebuf<char,std::char_traits<char> >::setbuf, COMDAT
; _this$ = ecx

; 435  : 		{	// offer _Buffer to C stream

	push	esi
	mov	esi, ecx

; 436  : 		if (_Myfile == 0 || setvbuf(_Myfile, (char *)_Buffer,
; 437  : 			_Buffer == 0 && _Count == 0 ? _IONBF : _IOFBF,
; 438  : 			_Count * sizeof (_Elem)) != 0)

	mov	ecx, DWORD PTR [esi+76]
	test	ecx, ecx
	push	edi
	je	SHORT $LN2@setbuf
	mov	edx, DWORD PTR __Buffer$[esp+4]
	test	edx, edx
	mov	edi, DWORD PTR __Count$[esp+4]
	jne	SHORT $LN6@setbuf
	test	edi, edi
	jne	SHORT $LN6@setbuf
	lea	eax, DWORD PTR [edi+4]
	jmp	SHORT $LN7@setbuf
$LN6@setbuf:
	xor	eax, eax
$LN7@setbuf:
	push	edi
	push	eax
	push	edx
	push	ecx
	call	_setvbuf
	add	esp, 16					; 00000010H
	test	eax, eax
	jne	SHORT $LN2@setbuf

; 440  : 		else
; 441  : 			{	// new buffer, reinitialize pointers
; 442  : 			_Init(_Myfile, _Openfl);

	mov	edi, DWORD PTR [esi+76]
	mov	ecx, esi
	mov	BYTE PTR [esi+72], 1
	mov	BYTE PTR [esi+65], al
	call	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Init
	test	edi, edi
	je	SHORT $LN11@setbuf
	lea	eax, DWORD PTR [edi+8]
	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+20], eax
	lea	eax, DWORD PTR [edi+4]
	mov	DWORD PTR [esi+32], edi
	mov	DWORD PTR [esi+36], edi
	mov	DWORD PTR [esi+48], eax
	mov	DWORD PTR [esi+52], eax
$LN11@setbuf:
	mov	DWORD PTR [esi+76], edi
	mov	eax, DWORD PTR ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA
	mov	DWORD PTR [esi+68], eax
	pop	edi
	mov	DWORD PTR [esi+60], 0

; 443  : 			return (this);

	mov	eax, esi
	pop	esi

; 444  : 			}
; 445  : 		}

	ret	8
$LN2@setbuf:
	pop	edi

; 439  : 			return (0);	// failed

	xor	eax, eax
	pop	esi

; 444  : 			}
; 445  : 		}

	ret	8
?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z ENDP ; std::basic_filebuf<char,std::char_traits<char> >::setbuf
_TEXT	ENDS
PUBLIC	?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow
EXTRN	?_Xlen@_String_base@std@@SAXXZ:PROC		; std::_String_base::_Xlen
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
;	COMDAT ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z
_TEXT	SEGMENT
__Newsize$ = 8						; size = 4
__Trim$ = 12						; size = 1
?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow, COMDAT
; _this$ = ecx

; 2036 : 		{	// ensure buffer is big enough, trim to size if _Trim is true

	push	ebx

; 2037 : 			if (max_size() < _Newsize)

	mov	ebx, DWORD PTR __Newsize$[esp]
	cmp	ebx, -2					; fffffffeH
	push	esi
	mov	esi, ecx
	jbe	SHORT $LN6@Grow

; 2038 : 			_String_base::_Xlen();	// result too long

	call	?_Xlen@_String_base@std@@SAXXZ		; std::_String_base::_Xlen
$LN6@Grow:

; 2039 : 		if (_Myres < _Newsize)

	mov	eax, DWORD PTR [esi+28]
	cmp	eax, ebx
	jae	SHORT $LN5@Grow

; 2040 : 			_Copy(_Newsize, _Mysize);	// reallocate to grow

	mov	eax, DWORD PTR [esi+24]
	push	eax
	push	ebx
	mov	ecx, esi
	call	?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy

; 2046 : 		return (0 < _Newsize);	// return true only if more work to do

	xor	ecx, ecx
	cmp	ecx, ebx
	sbb	eax, eax
	pop	esi
	neg	eax
	pop	ebx

; 2047 : 		}

	ret	8
$LN5@Grow:

; 2041 : 		else if (_Trim && _Newsize < _BUF_SIZE)

	cmp	BYTE PTR __Trim$[esp+4], 0
	je	SHORT $LN3@Grow
	cmp	ebx, 16					; 00000010H
	jae	SHORT $LN3@Grow
	push	edi

; 2042 : 			_Tidy(true,	// copy and deallocate if trimming to small string
; 2043 : 				_Newsize < _Mysize ? _Newsize : _Mysize);

	mov	edi, DWORD PTR [esi+24]
	cmp	ebx, edi
	jae	SHORT $LN9@Grow
	mov	edi, ebx
$LN9@Grow:
	cmp	eax, 16					; 00000010H
	jb	SHORT $LN33@Grow
	test	edi, edi
	lea	eax, DWORD PTR [esi+8]
	push	ebp
	mov	ebp, DWORD PTR [eax]
	jbe	SHORT $LN31@Grow
	push	edi
	push	ebp
	push	16					; 00000010H
	push	eax
	call	_memcpy_s
	add	esp, 16					; 00000010H
$LN31@Grow:
	push	ebp
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
	pop	ebp
$LN33@Grow:
	mov	DWORD PTR [esi+24], edi
	mov	DWORD PTR [esi+28], 15			; 0000000fH

; 2046 : 		return (0 < _Newsize);	// return true only if more work to do

	xor	ecx, ecx
	mov	BYTE PTR [esi+edi+8], 0
	cmp	ecx, ebx
	pop	edi
	sbb	eax, eax
	pop	esi
	neg	eax
	pop	ebx

; 2047 : 		}

	ret	8
$LN3@Grow:

; 2044 : 		else if (_Newsize == 0)

	test	ebx, ebx
	jne	SHORT $LN49@Grow

; 2045 : 			_Eos(0);	// new size is zero, just null terminate

	cmp	eax, 16					; 00000010H
	mov	DWORD PTR [esi+24], ebx
	jb	SHORT $LN47@Grow
	mov	esi, DWORD PTR [esi+8]

; 2046 : 		return (0 < _Newsize);	// return true only if more work to do

	xor	ecx, ecx
	cmp	ecx, ebx
	mov	BYTE PTR [esi], bl
	sbb	eax, eax
	pop	esi
	neg	eax
	pop	ebx

; 2047 : 		}

	ret	8

; 2045 : 			_Eos(0);	// new size is zero, just null terminate

$LN47@Grow:
	add	esi, 8
	mov	BYTE PTR [esi], 0
$LN49@Grow:

; 2046 : 		return (0 < _Newsize);	// return true only if more work to do

	xor	ecx, ecx
	cmp	ecx, ebx
	sbb	eax, eax
	pop	esi
	neg	eax
	pop	ebx

; 2047 : 		}

	ret	8
?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow
_TEXT	ENDS
PUBLIC	??0?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PADPBV_Container_base@1@@Z ; std::_String_iterator<char,std::char_traits<char>,std::allocator<char> >::_String_iterator<char,std::char_traits<char>,std::allocator<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PADPBV_Container_base@1@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Pstring$ = 12						; size = 4
??0?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PADPBV_Container_base@1@@Z PROC ; std::_String_iterator<char,std::char_traits<char>,std::allocator<char> >::_String_iterator<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx

; 333  : 		{	// construct with pointer _Ptr

	mov	eax, DWORD PTR __Pstring$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR __Ptr$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >

; 334  : 		}

	mov	eax, esi
	pop	esi
	ret	8
??0?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PADPBV_Container_base@1@@Z ENDP ; std::_String_iterator<char,std::char_traits<char>,std::allocator<char> >::_String_iterator<char,std::char_traits<char>,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??_7runtime_error@std@@6B@			; std::runtime_error::`vftable'
PUBLIC	??1runtime_error@std@@UAE@XZ			; std::runtime_error::~runtime_error
PUBLIC	??_R4runtime_error@std@@6B@			; std::runtime_error::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVruntime_error@std@@@8			; std::runtime_error `RTTI Type Descriptor'
PUBLIC	??_R3runtime_error@std@@8			; std::runtime_error::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2runtime_error@std@@8			; std::runtime_error::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@runtime_error@std@@8		; std::runtime_error::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?what@runtime_error@std@@UBEPBDXZ		; std::runtime_error::what
EXTRN	??_Eruntime_error@std@@UAEPAXI@Z:PROC		; std::runtime_error::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@runtime_error@std@@8
; File c:\program files\microsoft visual studio 8\vc\include\xutility
rdata$r	SEGMENT
??_R1A@?0A@EA@runtime_error@std@@8 DD FLAT:??_R0?AVruntime_error@std@@@8 ; std::runtime_error::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3runtime_error@std@@8
rdata$r	ENDS
;	COMDAT ??_R2runtime_error@std@@8
rdata$r	SEGMENT
??_R2runtime_error@std@@8 DD FLAT:??_R1A@?0A@EA@runtime_error@std@@8 ; std::runtime_error::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R3runtime_error@std@@8
rdata$r	SEGMENT
??_R3runtime_error@std@@8 DD 00H			; std::runtime_error::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2runtime_error@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVruntime_error@std@@@8
_DATA	SEGMENT
??_R0?AVruntime_error@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::runtime_error `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVruntime_error@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4runtime_error@std@@6B@
rdata$r	SEGMENT
??_R4runtime_error@std@@6B@ DD 00H			; std::runtime_error::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVruntime_error@std@@@8
	DD	FLAT:??_R3runtime_error@std@@8
rdata$r	ENDS
;	COMDAT ??_7runtime_error@std@@6B@
CONST	SEGMENT
??_7runtime_error@std@@6B@ DD FLAT:??_R4runtime_error@std@@6B@ ; std::runtime_error::`vftable'
	DD	FLAT:??_Eruntime_error@std@@UAEPAXI@Z
	DD	FLAT:?what@runtime_error@std@@UBEPBDXZ
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\stdexcept
CONST	ENDS
;	COMDAT ??1runtime_error@std@@UAE@XZ
_TEXT	SEGMENT
??1runtime_error@std@@UAE@XZ PROC			; std::runtime_error::~runtime_error, COMDAT
; _this$ = ecx

; 158  : 		{	// destroy the object

	push	esi
	push	edi
	mov	edi, ecx

; 159  : 		}

	lea	esi, DWORD PTR [edi+12]
	mov	DWORD PTR [edi], OFFSET ??_7runtime_error@std@@6B@
	cmp	DWORD PTR [esi+28], 16			; 00000010H
	jb	SHORT $LN19@runtime_er
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN19@runtime_er:
	xor	eax, eax
	mov	DWORD PTR [esi+28], 15			; 0000000fH
	mov	DWORD PTR [esi+24], eax
	mov	ecx, esi
	mov	BYTE PTR [esi+8], al
	call	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
	mov	ecx, edi
	pop	edi
	pop	esi
	jmp	??1exception@std@@UAE@XZ		; std::exception::~exception
??1runtime_error@std@@UAE@XZ ENDP			; std::runtime_error::~runtime_error
_TEXT	ENDS
PUBLIC	?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
;	COMDAT ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
_TEXT	SEGMENT
?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str, COMDAT
; _this$ = ecx

; 1622 : 		return (_Myptr());

	cmp	DWORD PTR [ecx+28], 16			; 00000010H
	jb	SHORT $LN5@c_str
	mov	eax, DWORD PTR [ecx+8]

; 1623 : 		}

	ret	0

; 1622 : 		return (_Myptr());

$LN5@c_str:
	lea	eax, DWORD PTR [ecx+8]

; 1623 : 		}

	ret	0
?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\stdexcept
_TEXT	ENDS
;	COMDAT ?what@runtime_error@std@@UBEPBDXZ
_TEXT	SEGMENT
?what@runtime_error@std@@UBEPBDXZ PROC			; std::runtime_error::what, COMDAT
; _this$ = ecx

; 163  : 		return (_Str.c_str());

	cmp	DWORD PTR [ecx+40], 16			; 00000010H
	jb	SHORT $LN7@what
	mov	eax, DWORD PTR [ecx+20]

; 164  : 		}

	ret	0

; 163  : 		return (_Str.c_str());

$LN7@what:
	lea	eax, DWORD PTR [ecx+20]

; 164  : 		}

	ret	0
?what@runtime_error@std@@UBEPBDXZ ENDP			; std::runtime_error::what
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_Gruntime_error@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Gruntime_error@std@@UAEPAXI@Z PROC			; std::runtime_error::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	push	edi
	mov	edi, ecx
	lea	esi, DWORD PTR [edi+12]
	mov	DWORD PTR [edi], OFFSET ??_7runtime_error@std@@6B@
	cmp	DWORD PTR [esi+28], 16			; 00000010H
	jb	SHORT $LN22@scalar@30
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN22@scalar@30:
	xor	eax, eax
	mov	DWORD PTR [esi+28], 15			; 0000000fH
	mov	DWORD PTR [esi+24], eax
	mov	ecx, esi
	mov	BYTE PTR [esi+8], al
	call	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
	mov	ecx, edi
	call	??1exception@std@@UAE@XZ		; std::exception::~exception
	test	BYTE PTR ___flags$[esp+4], 1
	je	SHORT $LN38@scalar@30
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN38@scalar@30:
	mov	eax, edi
	pop	edi
	pop	esi
	ret	4
??_Gruntime_error@std@@UAEPAXI@Z ENDP			; std::runtime_error::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1_Locinfo@std@@QAE@XZ				; std::_Locinfo::~_Locinfo
EXTRN	?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z:PROC	; std::_Locinfo::_Locinfo_dtor
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\xutility
xdata$x	SEGMENT
__ehfuncinfo$??1_Locinfo@std@@QAE@XZ DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$??1_Locinfo@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??1_Locinfo@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1_Locinfo@std@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1_Locinfo@std@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??1_Locinfo@std@@QAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??1_Locinfo@std@@QAE@XZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$??1_Locinfo@std@@QAE@XZ$4
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocinfo
xdata$x	ENDS
;	COMDAT ??1_Locinfo@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1_Locinfo@std@@QAE@XZ PROC				; std::_Locinfo::~_Locinfo, COMDAT
; _this$ = ecx

; 92   :         {

	push	-1
	push	__ehhandler$??1_Locinfo@std@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+32], edi

; 93   :         _Locinfo_dtor(this);

	push	edi
	mov	DWORD PTR __$EHRec$[esp+44], 4
	call	?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z ; std::_Locinfo::_Locinfo_dtor

; 94   :         }

	lea	esi, DWORD PTR [edi+100]
	add	esp, 4
	cmp	DWORD PTR [esi+28], 16			; 00000010H
	mov	BYTE PTR __$EHRec$[esp+40], 3
	jb	SHORT $LN25@Locinfo
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN25@Locinfo:
	xor	ebx, ebx
	mov	ebp, 15					; 0000000fH
	mov	DWORD PTR [esi+28], ebp
	mov	DWORD PTR [esi+24], ebx
	mov	ecx, esi
	mov	BYTE PTR [esi+8], bl
	call	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
	cmp	DWORD PTR [edi+96], 16			; 00000010H
	lea	esi, DWORD PTR [edi+68]
	mov	BYTE PTR __$EHRec$[esp+40], 2
	jb	SHORT $LN60@Locinfo
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN60@Locinfo:
	mov	DWORD PTR [esi+28], ebp
	mov	DWORD PTR [esi+24], ebx
	mov	ecx, esi
	mov	BYTE PTR [esi+8], bl
	call	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
	cmp	DWORD PTR [edi+64], 16			; 00000010H
	lea	esi, DWORD PTR [edi+36]
	mov	BYTE PTR __$EHRec$[esp+40], 1
	jb	SHORT $LN95@Locinfo
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN95@Locinfo:
	mov	DWORD PTR [esi+28], ebp
	mov	DWORD PTR [esi+24], ebx
	mov	ecx, esi
	mov	BYTE PTR [esi+8], bl
	call	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
	cmp	DWORD PTR [edi+32], 16			; 00000010H
	lea	esi, DWORD PTR [edi+4]
	mov	BYTE PTR __$EHRec$[esp+40], bl
	jb	SHORT $LN130@Locinfo
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN130@Locinfo:
	mov	DWORD PTR [esi+28], ebp
	mov	DWORD PTR [esi+24], ebx
	mov	ecx, esi
	mov	BYTE PTR [esi+8], bl
	call	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
	mov	ecx, edi
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1_Locinfo@std@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
__unwindfunclet$??1_Locinfo@std@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 4
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??1_Locinfo@std@@QAE@XZ$2:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 36					; 00000024H
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??1_Locinfo@std@@QAE@XZ$3:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 68					; 00000044H
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??1_Locinfo@std@@QAE@XZ$4:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 100				; 00000064H
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$??1_Locinfo@std@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1_Locinfo@std@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1_Locinfo@std@@QAE@XZ ENDP				; std::_Locinfo::~_Locinfo
PUBLIC	?CreateFileVerifyController@@YAXXZ		; CreateFileVerifyController
PUBLIC	?MapLoadHook@FileVerificationController@@KAXXZ	; FileVerificationController::MapLoadHook
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
;	COMDAT ?MapLoadHook@FileVerificationController@@KAXXZ
_TEXT	SEGMENT
?MapLoadHook@FileVerificationController@@KAXXZ PROC	; FileVerificationController::MapLoadHook, COMDAT

; 191  : 	if (!VerifyController)

	cmp	DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A, 0 ; VerifyController
	jne	SHORT $LN1@MapLoadHoo

; 192  : 	{
; 193  : 		CreateFileVerifyController();

	call	?CreateFileVerifyController@@YAXXZ	; CreateFileVerifyController
$LN1@MapLoadHoo:

; 194  : 	}
; 195  : 	VerifyController->MapLoaded();

	mov	ecx, DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A ; VerifyController
	jmp	?MapLoaded@FileVerificationController@@QAEXXZ ; FileVerificationController::MapLoaded
?MapLoadHook@FileVerificationController@@KAXXZ ENDP	; FileVerificationController::MapLoadHook
_TEXT	ENDS
PUBLIC	?PlayerJoinedHook@FileVerificationController@@KAXHPBD@Z ; FileVerificationController::PlayerJoinedHook
; Function compile flags: /Ogtpy
;	COMDAT ?PlayerJoinedHook@FileVerificationController@@KAXHPBD@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
___formal$ = 12						; size = 4
?PlayerJoinedHook@FileVerificationController@@KAXHPBD@Z PROC ; FileVerificationController::PlayerJoinedHook, COMDAT

; 204  : 	VerifyController->PlayerJoined(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	mov	ecx, DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A ; VerifyController
	push	eax
	call	?PlayerJoined@FileVerificationController@@QAEXH@Z ; FileVerificationController::PlayerJoined

; 205  : }

	ret	0
?PlayerJoinedHook@FileVerificationController@@KAXHPBD@Z ENDP ; FileVerificationController::PlayerJoinedHook
_TEXT	ENDS
PUBLIC	??_C@_0BM@LNEOABNA@DestroyVerifyFileController?$AA@ ; `string'
PUBLIC	?DestroyVerifyFileController@@YAXXZ		; DestroyVerifyFileController
;	COMDAT ??_C@_0BM@LNEOABNA@DestroyVerifyFileController?$AA@
CONST	SEGMENT
??_C@_0BM@LNEOABNA@DestroyVerifyFileController?$AA@ DB 'DestroyVerifyFile'
	DB	'Controller', 00H				; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?DestroyVerifyFileController@@YAXXZ
_TEXT	SEGMENT
?DestroyVerifyFileController@@YAXXZ PROC		; DestroyVerifyFileController, COMDAT

; 406  : 	SAFE_DELETE(VerifyController);

	cmp	DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A, 0 ; VerifyController
	je	SHORT $LN1@DestroyVer
	push	esi
	push	OFFSET ??_C@_0BM@LNEOABNA@DestroyVerifyFileController?$AA@
	push	406					; 00000196H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A ; VerifyController
	add	esp, 12					; 0000000cH
	test	ecx, ecx
	mov	esi, ecx
	je	SHORT $LN4@DestroyVer
	call	??1FileVerificationController@@QAE@XZ	; FileVerificationController::~FileVerificationController
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@DestroyVer:
	mov	DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A, 0 ; VerifyController
	pop	esi
$LN1@DestroyVer:

; 407  : }

	ret	0
?DestroyVerifyFileController@@YAXXZ ENDP		; DestroyVerifyFileController
_TEXT	ENDS
PUBLIC	?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
;	COMDAT ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
__Ch$ = 12						; size = 1
?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append, COMDAT
; _this$ = ecx

; 990  : 		{	// append _Count * _Ch

	push	ebx

; 991  : 			if (npos - _Mysize <= _Count)

	mov	ebx, DWORD PTR __Count$[esp]
	push	esi
	or	eax, -1
	mov	esi, ecx
	sub	eax, DWORD PTR [esi+24]
	cmp	eax, ebx
	ja	SHORT $LN2@append

; 992  : 			_String_base::_Xlen();	// result too long

	call	?_Xlen@_String_base@std@@SAXXZ		; std::_String_base::_Xlen
$LN2@append:

; 993  : 
; 994  : 		size_type _Num;
; 995  : 		if (0 < _Count && _Grow(_Num = _Mysize + _Count))

	test	ebx, ebx
	jbe	$LN63@append
	push	edi
	mov	edi, DWORD PTR [esi+24]
	add	edi, ebx
	cmp	edi, -2					; fffffffeH
	jbe	SHORT $LN10@append
	call	?_Xlen@_String_base@std@@SAXXZ		; std::_String_base::_Xlen
$LN10@append:
	mov	eax, DWORD PTR [esi+28]
	cmp	eax, edi
	jae	SHORT $LN9@append
	mov	ecx, DWORD PTR [esi+24]
	push	ecx
	push	edi
	mov	ecx, esi
	call	?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy
	test	edi, edi
$LN66@append:
	jbe	SHORT $LN64@append

; 996  : 			{	// make room and append new stuff using assign
; 997  : 			_Chassign(_Mysize, _Count, _Ch);

	mov	edx, DWORD PTR __Ch$[esp+8]
	mov	eax, DWORD PTR [esi+24]
	push	edx
	push	ebx
	push	eax
	mov	ecx, esi
	call	?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign

; 998  : 			_Eos(_Num);

	cmp	DWORD PTR [esi+28], 16			; 00000010H
	mov	DWORD PTR [esi+24], edi
	jb	SHORT $LN59@append
	mov	eax, DWORD PTR [esi+8]
	mov	BYTE PTR [eax+edi], 0
	pop	edi

; 999  : 			}
; 1000 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebx

; 1001 : 		}

	ret	8

; 993  : 
; 994  : 		size_type _Num;
; 995  : 		if (0 < _Count && _Grow(_Num = _Mysize + _Count))

$LN9@append:
	test	edi, edi
	jne	SHORT $LN66@append
	cmp	eax, 16					; 00000010H
	mov	DWORD PTR [esi+24], edi
	jb	SHORT $LN51@append
	mov	eax, DWORD PTR [esi+8]
	pop	edi
	mov	BYTE PTR [eax], 0

; 999  : 			}
; 1000 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebx

; 1001 : 		}

	ret	8

; 993  : 
; 994  : 		size_type _Num;
; 995  : 		if (0 < _Count && _Grow(_Num = _Mysize + _Count))

$LN51@append:
	lea	eax, DWORD PTR [esi+8]
	pop	edi
	mov	BYTE PTR [eax], 0

; 999  : 			}
; 1000 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebx

; 1001 : 		}

	ret	8

; 998  : 			_Eos(_Num);

$LN59@append:
	lea	eax, DWORD PTR [esi+8]
	mov	BYTE PTR [eax+edi], 0
$LN64@append:
	pop	edi
$LN63@append:

; 999  : 			}
; 1000 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebx

; 1001 : 		}

	ret	8
?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
_TEXT	ENDS
PUBLIC	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
; Function compile flags: /Ogtpy
;	COMDAT ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
__Roff$ = 12						; size = 4
__Count$ = 16						; size = 4
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT
; _this$ = ecx

; 1038 : 		{	// assign _Right [_Roff, _Roff + _Count)

	push	ebx

; 1039 : 		if (_Right.size() < _Roff)

	mov	ebx, DWORD PTR __Right$[esp]
	push	ebp
	mov	ebp, DWORD PTR __Roff$[esp+4]
	cmp	DWORD PTR [ebx+24], ebp
	push	esi
	push	edi
	mov	esi, ecx
	jae	SHORT $LN5@assign

; 1040 : 			_String_base::_Xran();	// _Roff off end

	call	?_Xran@_String_base@std@@SAXXZ		; std::_String_base::_Xran
$LN5@assign:

; 1041 : 		size_type _Num = _Right.size() - _Roff;

	mov	edi, DWORD PTR [ebx+24]

; 1042 : 		if (_Count < _Num)

	mov	eax, DWORD PTR __Count$[esp+12]
	sub	edi, ebp
	cmp	eax, edi
	jae	SHORT $LN4@assign

; 1043 : 			_Num = _Count;	// trim _Num to size

	mov	edi, eax
$LN4@assign:

; 1044 : 
; 1045 : 		if (this == &_Right)

	cmp	esi, ebx
	jne	SHORT $LN3@assign

; 1046 : 			erase((size_type)(_Roff + _Num)), erase(0, _Roff);	// substring

	push	-1
	add	edi, ebp
	push	edi
	mov	ecx, esi
	call	?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase
	push	ebp
	push	0
	mov	ecx, esi
	call	?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase
	pop	edi

; 1051 : 			}
; 1052 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebp
	pop	ebx

; 1053 : 		}

	ret	12					; 0000000cH
$LN3@assign:

; 1047 : 		else if (_Grow(_Num))

	cmp	edi, -2					; fffffffeH
	jbe	SHORT $LN17@assign
	call	?_Xlen@_String_base@std@@SAXXZ		; std::_String_base::_Xlen
$LN17@assign:
	mov	eax, DWORD PTR [esi+28]
	cmp	eax, edi
	jae	SHORT $LN16@assign
	mov	eax, DWORD PTR [esi+24]
	push	eax
	push	edi
	mov	ecx, esi
	call	?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy
	test	edi, edi
$LN87@assign:
	jbe	SHORT $LN86@assign

; 1048 : 			{	// make room and assign new stuff
; 1049 : 			_Traits_helper::copy_s<_Traits>(_Myptr(), _Myres, _Right._Myptr() + _Roff, _Num);

	cmp	DWORD PTR [ebx+28], 16			; 00000010H
	jb	SHORT $LN64@assign
	mov	edx, DWORD PTR [ebx+8]
	jmp	SHORT $LN65@assign

; 1047 : 		else if (_Grow(_Num))

$LN16@assign:
	test	edi, edi
	jne	SHORT $LN87@assign
	cmp	eax, 16					; 00000010H
	mov	DWORD PTR [esi+24], edi
	jb	SHORT $LN58@assign
	mov	eax, DWORD PTR [esi+8]
	pop	edi
	mov	BYTE PTR [eax], 0

; 1051 : 			}
; 1052 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebp
	pop	ebx

; 1053 : 		}

	ret	12					; 0000000cH

; 1047 : 		else if (_Grow(_Num))

$LN58@assign:
	lea	eax, DWORD PTR [esi+8]
	pop	edi
	mov	BYTE PTR [eax], 0

; 1051 : 			}
; 1052 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebp
	pop	ebx

; 1053 : 		}

	ret	12					; 0000000cH

; 1048 : 			{	// make room and assign new stuff
; 1049 : 			_Traits_helper::copy_s<_Traits>(_Myptr(), _Myres, _Right._Myptr() + _Roff, _Num);

$LN64@assign:
	lea	edx, DWORD PTR [ebx+8]
$LN65@assign:
	mov	ecx, DWORD PTR [esi+28]
	cmp	ecx, 16					; 00000010H
	lea	ebx, DWORD PTR [esi+8]
	jb	SHORT $LN68@assign
	mov	eax, DWORD PTR [ebx]
	jmp	SHORT $LN69@assign
$LN68@assign:
	mov	eax, ebx
$LN69@assign:
	push	edi
	add	edx, ebp
	push	edx
	push	ecx
	push	eax
	call	_memcpy_s
	add	esp, 16					; 00000010H

; 1050 : 			_Eos(_Num);

	cmp	DWORD PTR [esi+28], 16			; 00000010H
	mov	DWORD PTR [esi+24], edi
	jb	SHORT $LN82@assign
	mov	ebx, DWORD PTR [ebx]
$LN82@assign:
	mov	BYTE PTR [ebx+edi], 0
$LN86@assign:
	pop	edi

; 1051 : 			}
; 1052 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebp
	pop	ebx

; 1053 : 		}

	ret	12					; 0000000cH
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
_TEXT	ENDS
PUBLIC	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
; Function compile flags: /Ogtpy
;	COMDAT ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
_TEXT	SEGMENT
$T67809 = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin, COMDAT
; _this$ = ecx

; 1472 : 		{	// return iterator for beginning of mutable sequence

	push	ecx

; 1473 : 		return (_STRING_ITERATOR(_Myptr()));

	cmp	DWORD PTR [ecx+28], 16			; 00000010H
	mov	DWORD PTR $T67809[esp+4], 0
	jb	SHORT $LN7@begin
	mov	eax, DWORD PTR [ecx+8]
	push	esi
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+4]
	push	ecx
	push	eax
	mov	ecx, esi
	call	??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >
	mov	eax, esi
	pop	esi

; 1474 : 		}

	pop	ecx
	ret	4

; 1473 : 		return (_STRING_ITERATOR(_Myptr()));

$LN7@begin:
	push	esi
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+4]
	lea	eax, DWORD PTR [ecx+8]
	push	ecx
	push	eax
	mov	ecx, esi
	call	??0?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDPBV_Container_base@1@@Z ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >
	mov	eax, esi
	pop	esi

; 1474 : 		}

	pop	ecx
	ret	4
?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
_TEXT	ENDS
PUBLIC	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
; Function compile flags: /Ogtpy
;	COMDAT ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Num$ = 12						; size = 4
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT
; _this$ = ecx

; 1056 : 		{	// assign [_Ptr, _Ptr + _Num)

	push	ebp

; 1057 : 		if (_Inside(_Ptr))

	mov	ebp, DWORD PTR __Ptr$[esp]
	push	esi
	push	ebp
	mov	esi, ecx
	call	?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside
	test	al, al
	je	SHORT $LN2@assign@2

; 1058 : 			return (assign(*this, _Ptr - _Myptr(), _Num));	// substring

	cmp	DWORD PTR [esi+28], 16			; 00000010H
	jb	SHORT $LN7@assign@2
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR __Num$[esp+4]
	push	ecx
	sub	ebp, eax
	push	ebp
	push	esi
	mov	ecx, esi
	call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
	pop	esi
	pop	ebp

; 1066 : 		}

	ret	8

; 1058 : 			return (assign(*this, _Ptr - _Myptr(), _Num));	// substring

$LN7@assign@2:
	mov	ecx, DWORD PTR __Num$[esp+4]
	lea	eax, DWORD PTR [esi+8]
	push	ecx
	sub	ebp, eax
	push	ebp
	push	esi
	mov	ecx, esi
	call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
	pop	esi
	pop	ebp

; 1066 : 		}

	ret	8
$LN2@assign@2:
	push	edi

; 1059 : 
; 1060 : 		if (_Grow(_Num))

	mov	edi, DWORD PTR __Num$[esp+8]
	cmp	edi, -2					; fffffffeH
	jbe	SHORT $LN14@assign@2
	call	?_Xlen@_String_base@std@@SAXXZ		; std::_String_base::_Xlen
$LN14@assign@2:
	mov	eax, DWORD PTR [esi+28]
	cmp	eax, edi
	jae	SHORT $LN13@assign@2
	mov	edx, DWORD PTR [esi+24]
	push	edx
	push	edi
	mov	ecx, esi
	call	?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy
	test	edi, edi
$LN79@assign@2:
	jbe	SHORT $LN77@assign@2

; 1061 : 			{	// make room and assign new stuff
; 1062 : 			_Traits_helper::copy_s<_Traits>(_Myptr(), _Myres, _Ptr, _Num);

	mov	ecx, DWORD PTR [esi+28]
	cmp	ecx, 16					; 00000010H
	push	ebx
	lea	ebx, DWORD PTR [esi+8]
	jb	SHORT $LN61@assign@2
	mov	eax, DWORD PTR [ebx]
	jmp	SHORT $LN62@assign@2

; 1059 : 
; 1060 : 		if (_Grow(_Num))

$LN13@assign@2:
	test	edi, edi
	jne	SHORT $LN79@assign@2
	cmp	eax, 16					; 00000010H
	mov	DWORD PTR [esi+24], edi
	jb	SHORT $LN55@assign@2
	mov	eax, DWORD PTR [esi+8]
	pop	edi
	mov	BYTE PTR [eax], 0

; 1064 : 			}
; 1065 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebp

; 1066 : 		}

	ret	8

; 1059 : 
; 1060 : 		if (_Grow(_Num))

$LN55@assign@2:
	lea	eax, DWORD PTR [esi+8]
	pop	edi
	mov	BYTE PTR [eax], 0

; 1064 : 			}
; 1065 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebp

; 1066 : 		}

	ret	8

; 1061 : 			{	// make room and assign new stuff
; 1062 : 			_Traits_helper::copy_s<_Traits>(_Myptr(), _Myres, _Ptr, _Num);

$LN61@assign@2:
	mov	eax, ebx
$LN62@assign@2:
	push	edi
	push	ebp
	push	ecx
	push	eax
	call	_memcpy_s
	add	esp, 16					; 00000010H

; 1063 : 			_Eos(_Num);

	cmp	DWORD PTR [esi+28], 16			; 00000010H
	mov	DWORD PTR [esi+24], edi
	jb	SHORT $LN75@assign@2
	mov	ebx, DWORD PTR [ebx]
$LN75@assign@2:
	mov	BYTE PTR [ebx+edi], 0
	pop	ebx
$LN77@assign@2:
	pop	edi

; 1064 : 			}
; 1065 : 		return (*this);

	mov	eax, esi
	pop	esi
	pop	ebp

; 1066 : 		}

	ret	8
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
_TEXT	ENDS
PUBLIC	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
; Function compile flags: /Ogtpy
;	COMDAT ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
__Ch$ = 12						; size = 1
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT
; _this$ = ecx

; 1074 : 		{	// assign _Count * _Ch

	push	esi
	push	edi

; 1075 : 		if (_Count == npos)

	mov	edi, DWORD PTR __Count$[esp+4]
	cmp	edi, -1
	mov	esi, ecx
	jne	SHORT $LN2@assign@3

; 1076 : 			_String_base::_Xlen();	// result too long

	call	?_Xlen@_String_base@std@@SAXXZ		; std::_String_base::_Xlen

; 1077 : 
; 1078 : 		if (_Grow(_Count))

	jmp	SHORT $LN63@assign@3
$LN2@assign@3:
	cmp	edi, -2					; fffffffeH
	jbe	SHORT $LN10@assign@3
$LN63@assign@3:
	call	?_Xlen@_String_base@std@@SAXXZ		; std::_String_base::_Xlen
$LN10@assign@3:
	mov	eax, DWORD PTR [esi+28]
	cmp	eax, edi
	jae	SHORT $LN9@assign@3
	mov	eax, DWORD PTR [esi+24]
	push	eax
	push	edi
	mov	ecx, esi
	call	?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy
	test	edi, edi
$LN65@assign@3:
	jbe	SHORT $LN64@assign@3

; 1079 : 			{	// make room and assign new stuff
; 1080 : 			_Chassign(0, _Count, _Ch);

	mov	ecx, DWORD PTR __Ch$[esp+4]
	push	ecx
	push	edi
	push	0
	mov	ecx, esi
	call	?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign

; 1081 : 			_Eos(_Count);

	cmp	DWORD PTR [esi+28], 16			; 00000010H
	mov	DWORD PTR [esi+24], edi
	jb	SHORT $LN59@assign@3
	mov	eax, DWORD PTR [esi+8]
	mov	BYTE PTR [eax+edi], 0
	pop	edi

; 1082 : 			}
; 1083 : 		return (*this);

	mov	eax, esi
	pop	esi

; 1084 : 		}

	ret	8

; 1077 : 
; 1078 : 		if (_Grow(_Count))

$LN9@assign@3:
	test	edi, edi
	jne	SHORT $LN65@assign@3
	cmp	eax, 16					; 00000010H
	mov	DWORD PTR [esi+24], edi
	jb	SHORT $LN51@assign@3
	mov	eax, DWORD PTR [esi+8]
	mov	BYTE PTR [eax], 0
	pop	edi

; 1082 : 			}
; 1083 : 		return (*this);

	mov	eax, esi
	pop	esi

; 1084 : 		}

	ret	8

; 1077 : 
; 1078 : 		if (_Grow(_Count))

$LN51@assign@3:
	lea	eax, DWORD PTR [esi+8]
	mov	BYTE PTR [eax], 0
	pop	edi

; 1082 : 			}
; 1083 : 		return (*this);

	mov	eax, esi
	pop	esi

; 1084 : 		}

	ret	8

; 1081 : 			_Eos(_Count);

$LN59@assign@3:
	lea	eax, DWORD PTR [esi+8]
	mov	BYTE PTR [eax+edi], 0
$LN64@assign@3:
	pop	edi

; 1082 : 			}
; 1083 : 		return (*this);

	mov	eax, esi
	pop	esi

; 1084 : 		}

	ret	8
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
_TEXT	ENDS
PUBLIC	??_C@_0DH@HMEPLKLH@FileVerificationController?3?3File@ ; `string'
PUBLIC	??_C@_09OGIOJDAP@FileCount?$AA@			; `string'
PUBLIC	??0FileVerificationController@@QAE@PBD@Z	; FileVerificationController::FileVerificationController
EXTRN	?AddPlayerLeaveHook@@3P6AXP6AXH@Z@ZA:DWORD	; AddPlayerLeaveHook
EXTRN	?AddPlayerJoinHook@@3P6AXP6AXHPBD@Z@ZA:DWORD	; AddPlayerJoinHook
EXTRN	?AddGameOverHook@@3P6AXP6AXXZ@ZA:DWORD		; AddGameOverHook
EXTRN	?AddLoadLevelHook@@3P6AXP6AXXZ@ZA:DWORD		; AddLoadLevelHook
EXTRN	?The_Game@@YAPAVcGameData@@XZ:PROC		; The_Game
EXTRN	?Get_Int@INIClass@@QAEHPBD0H@Z:PROC		; INIClass::Get_Int
EXTRN	?Get_INI@@YAPAVINIClass@@PBD@Z:PROC		; Get_INI
;	COMDAT ??_C@_0DH@HMEPLKLH@FileVerificationController?3?3File@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0DH@HMEPLKLH@FileVerificationController?3?3File@ DB 'FileVerificati'
	DB	'onController::FileVerificationController', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09OGIOJDAP@FileCount?$AA@
CONST	SEGMENT
??_C@_09OGIOJDAP@FileCount?$AA@ DB 'FileCount', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0FileVerificationController@@QAE@PBD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0FileVerificationController@@QAE@PBD@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0FileVerificationController@@QAE@PBD@Z$1
__ehfuncinfo$??0FileVerificationController@@QAE@PBD@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0FileVerificationController@@QAE@PBD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
xdata$x	ENDS
;	COMDAT ??0FileVerificationController@@QAE@PBD@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
$T68289 = 8						; size = 4
$T68283 = 8						; size = 4
_filename$ = 8						; size = 4
??0FileVerificationController@@QAE@PBD@Z PROC		; FileVerificationController::FileVerificationController, COMDAT
; _this$ = ecx

; 108  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$??0FileVerificationController@@QAE@PBD@Z
	push	eax
	mov	DWORD PTR fs:0, esp

; 109  : 	FileINI = Get_INI(filename);

	mov	eax, DWORD PTR _filename$[esp+8]
	push	esi
	push	edi
	push	eax
	mov	esi, ecx
	call	?Get_INI@@YAPAVINIClass@@PBD@Z		; Get_INI
	add	esp, 4

; 110  : 	if (!FileINI)

	test	eax, eax
	mov	DWORD PTR [esi+4], eax
	jne	SHORT $LN1@FileVerifi@2

; 111  : 	{
; 112  : 		UseVerification = false;

	mov	BYTE PTR [esi], al

; 124  : 	/*
; 125  : 	//Reserved for possible future hook code update
; 126  : 	MapLoadHookNumber		= AddLoadLevelHook(FileVerificationController::MapLoadHook);
; 127  : 	MapUnloadHookNumber	= AddGameOverHook(FileVerificationController::MapUnloadHook);
; 128  : 	PlayerJoinedHookNumber	= AddPlayerJoinHook(FileVerificationController::PlayerJoinedHook);
; 129  : 	PlayerLeftHookNumber	= AddPlayerLeaveHook(FileVerificatonController::PlayerLeftHook);
; 130  : 	*/
; 131  : }

	mov	eax, esi
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	add	esp, 12					; 0000000cH
	ret	4
$LN1@FileVerifi@2:

; 113  : 		return;
; 114  : 	}
; 115  : 	FileCount = FileINI->Get_Int("VerifyFiles", "FileCount", 0);

	push	0
	push	OFFSET ??_C@_09OGIOJDAP@FileCount?$AA@
	push	OFFSET ??_C@_0M@GNDKDFJA@VerifyFiles?$AA@
	mov	ecx, eax
	call	?Get_Int@INIClass@@QAEHPBD0H@Z		; INIClass::Get_Int

; 116  : 	Files = new SimpleDynVecClass<unsigned long>(FileCount);

	push	OFFSET ??_C@_0DH@HMEPLKLH@FileVerificationController?3?3File@
	push	116					; 00000074H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	mov	DWORD PTR [esi+8], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T68283[esp+16], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+28], 0
	je	SHORT $LN4@FileVerifi@2
	mov	ecx, DWORD PTR [esi+8]
	push	ecx
	mov	ecx, eax
	call	??0?$SimpleDynVecClass@K@@QAE@H@Z	; SimpleDynVecClass<unsigned long>::SimpleDynVecClass<unsigned long>
	jmp	SHORT $LN5@FileVerifi@2
$LN4@FileVerifi@2:
	xor	eax, eax
$LN5@FileVerifi@2:

; 117  : 	Players = new SimpleDynVecClass<PlayerInfoStruct *>(The_Game()->MaxPlayers + 1);

	push	OFFSET ??_C@_0DH@HMEPLKLH@FileVerificationController?3?3File@
	push	117					; 00000075H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	mov	DWORD PTR __$EHRec$[esp+40], -1
	mov	DWORD PTR [esi+12], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	mov	edi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T68289[esp+16], edi
	test	edi, edi
	mov	DWORD PTR __$EHRec$[esp+28], 1
	je	SHORT $LN8@FileVerifi@2
	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game
	mov	edx, DWORD PTR [eax+504]
	add	edx, 1
	push	edx
	mov	ecx, edi
	call	??0?$SimpleDynVecClass@PAUPlayerInfoStruct@FileVerificationController@@@@QAE@H@Z ; SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>::SimpleDynVecClass<FileVerificationController::PlayerInfoStruct *>
	jmp	SHORT $LN9@FileVerifi@2
$LN8@FileVerifi@2:
	xor	eax, eax
$LN9@FileVerifi@2:
	mov	DWORD PTR [esi+16], eax

; 118  : 	Files->ClearAll();

	mov	eax, DWORD PTR [esi+12]
	mov	ecx, DWORD PTR [eax+8]
	mov	edx, DWORD PTR [eax+4]
	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	0
	push	edx
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	_memset

; 119  : 	Players->ClearAll();

	mov	eax, DWORD PTR [esi+16]
	mov	ecx, DWORD PTR [eax+8]
	mov	edx, DWORD PTR [eax+4]
	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	0
	push	edx
	call	_memset

; 120  : 	AddLoadLevelHook(FileVerificationController::MapLoadHook);

	push	OFFSET ?MapLoadHook@FileVerificationController@@KAXXZ ; FileVerificationController::MapLoadHook
	call	DWORD PTR ?AddLoadLevelHook@@3P6AXP6AXXZ@ZA ; AddLoadLevelHook

; 121  : 	AddGameOverHook(FileVerificationController::MapUnloadHook);

	push	OFFSET ?MapUnloadHook@FileVerificationController@@KAXXZ ; FileVerificationController::MapUnloadHook
	call	DWORD PTR ?AddGameOverHook@@3P6AXP6AXXZ@ZA ; AddGameOverHook

; 122  : 	AddPlayerJoinHook(FileVerificationController::PlayerJoinedHook);

	push	OFFSET ?PlayerJoinedHook@FileVerificationController@@KAXHPBD@Z ; FileVerificationController::PlayerJoinedHook
	call	DWORD PTR ?AddPlayerJoinHook@@3P6AXP6AXHPBD@Z@ZA ; AddPlayerJoinHook

; 123  : 	AddPlayerLeaveHook(FileVerificationController::PlayerLeftHook);

	push	OFFSET ?PlayerLeftHook@FileVerificationController@@KAXH@Z ; FileVerificationController::PlayerLeftHook
	call	DWORD PTR ?AddPlayerLeaveHook@@3P6AXP6AXH@Z@ZA ; AddPlayerLeaveHook

; 124  : 	/*
; 125  : 	//Reserved for possible future hook code update
; 126  : 	MapLoadHookNumber		= AddLoadLevelHook(FileVerificationController::MapLoadHook);
; 127  : 	MapUnloadHookNumber	= AddGameOverHook(FileVerificationController::MapUnloadHook);
; 128  : 	PlayerJoinedHookNumber	= AddPlayerJoinHook(FileVerificationController::PlayerJoinedHook);
; 129  : 	PlayerLeftHookNumber	= AddPlayerLeaveHook(FileVerificatonController::PlayerLeftHook);
; 130  : 	*/
; 131  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+60]
	add	esp, 40					; 00000028H
	pop	edi
	mov	eax, esi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	add	esp, 12					; 0000000cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0FileVerificationController@@QAE@PBD@Z$0:
	mov	eax, DWORD PTR $T68283[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0FileVerificationController@@QAE@PBD@Z$1:
	mov	eax, DWORD PTR $T68289[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$??0FileVerificationController@@QAE@PBD@Z:
	mov	eax, OFFSET __ehfuncinfo$??0FileVerificationController@@QAE@PBD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0FileVerificationController@@QAE@PBD@Z ENDP		; FileVerificationController::FileVerificationController
PUBLIC	??_C@_0L@KODCHDKK@verify?4ini?$AA@		; `string'
PUBLIC	??_C@_0BL@EEOGGHIO@CreateFileVerifyController?$AA@ ; `string'
;	COMDAT ??_C@_0L@KODCHDKK@verify?4ini?$AA@
CONST	SEGMENT
??_C@_0L@KODCHDKK@verify?4ini?$AA@ DB 'verify.ini', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@EEOGGHIO@CreateFileVerifyController?$AA@
CONST	SEGMENT
??_C@_0BL@EEOGGHIO@CreateFileVerifyController?$AA@ DB 'CreateFileVerifyCo'
	DB	'ntroller', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?CreateFileVerifyController@@YAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateFileVerifyController@@YAXXZ$0
__ehfuncinfo$?CreateFileVerifyController@@YAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?CreateFileVerifyController@@YAXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?CreateFileVerifyController@@YAXXZ
_TEXT	SEGMENT
$T68315 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?CreateFileVerifyController@@YAXXZ PROC			; CreateFileVerifyController, COMDAT

; 400  : {

	push	-1
	push	__ehhandler$?CreateFileVerifyController@@YAXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx

; 401  : 	VerifyController = new FileVerificationController("verify.ini");

	push	OFFSET ??_C@_0BL@EEOGGHIO@CreateFileVerifyController?$AA@
	push	401					; 00000191H
	push	OFFSET ??_C@_0M@IGFKAKIF@?4?2shawk?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	20					; 00000014H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T68315[esp+16], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+24], 0
	je	SHORT $LN3@CreateFile
	push	OFFSET ??_C@_0L@KODCHDKK@verify?4ini?$AA@
	mov	ecx, eax
	call	??0FileVerificationController@@QAE@PBD@Z ; FileVerificationController::FileVerificationController
	mov	DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A, eax ; VerifyController

; 402  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+16]
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
$LN3@CreateFile:
	mov	ecx, DWORD PTR __$EHRec$[esp+16]
	xor	eax, eax
	mov	DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A, eax ; VerifyController
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?CreateFileVerifyController@@YAXXZ$0:
	mov	eax, DWORD PTR $T68315[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?CreateFileVerifyController@@YAXXZ:
	mov	eax, OFFSET __ehfuncinfo$?CreateFileVerifyController@@YAXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?CreateFileVerifyController@@YAXXZ ENDP			; CreateFileVerifyController
; Function compile flags: /Ogtpy
;	COMDAT ?Created@SH_FileVerificationControllerScript@@UAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@SH_FileVerificationControllerScript@@UAEXPAE@Z PROC ; SH_FileVerificationControllerScript::Created, COMDAT
; _this$ = ecx

; 411  : 	if (!VerifyController)

	cmp	DWORD PTR ?VerifyController@@3PAVFileVerificationController@@A, 0 ; VerifyController
	jne	SHORT $LN1@Created@2

; 412  : 	{
; 413  : 		CreateFileVerifyController();

	call	?CreateFileVerifyController@@YAXXZ	; CreateFileVerifyController
$LN1@Created@2:

; 414  : 	}
; 415  : }

	ret	4
?Created@SH_FileVerificationControllerScript@@UAEXPAE@Z ENDP ; SH_FileVerificationControllerScript::Created
_TEXT	ENDS
PUBLIC	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
xdata$x	SEGMENT
__unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0
__ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
xdata$x	ENDS
;	COMDAT ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Right$ = 8						; size = 4
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx

; 720  : 		{	// construct by copying _Right

	push	-1
	push	__ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	mov	eax, DWORD PTR __Right$[esp+12]
	push	esi
	mov	esi, ecx
	xor	ecx, ecx
	mov	DWORD PTR [esi], ecx
	cmp	DWORD PTR [eax], -3			; fffffffdH
	mov	DWORD PTR _this$[esp+20], esi
	jne	SHORT $LN4@basic_stri@2
	mov	DWORD PTR [esi], -3			; fffffffdH
$LN4@basic_stri@2:

; 721  : 		_Tidy();
; 722  : 		assign(_Right, 0, npos);

	push	-1
	mov	DWORD PTR [esi+24], ecx
	push	ecx
	mov	DWORD PTR [esi+28], 15			; 0000000fH
	mov	DWORD PTR __$EHRec$[esp+36], ecx
	mov	BYTE PTR [esi+8], cl
	push	eax
	mov	ecx, esi
	call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign

; 723  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$_String_val@DV?$allocator@D@std@@@std@@QAE@XZ
__ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
xdata$x	SEGMENT
__ehfuncinfo$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ DD 019930522H
	DD	08H
	DD	FLAT:__unwindtable$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$2
	DD	01H
	DD	FLAT:__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$9
	DD	00H
	DD	FLAT:__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$13
	DD	00H
	DD	FLAT:__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$3
	DD	00H
	DD	FLAT:__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$4
	DD	00H
	DD	FLAT:__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$5
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
xdata$x	ENDS
;	COMDAT ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
_TEXT	SEGMENT
__Ch$58827 = -121					; size = 1
__Src$58829 = -120					; size = 4
__Lock$68693 = -116					; size = 4
__Lock$68725 = -112					; size = 4
__Dest$58828 = -108					; size = 4
$T68449 = -104						; size = 12
$T68448 = -92						; size = 12
$T68452 = -80						; size = 12
$T68453 = -68						; size = 12
$T68450 = -56						; size = 12
__Str$58823 = -44					; size = 32
__$EHRec$ = -12						; size = 12
?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ PROC ; std::basic_filebuf<char,std::char_traits<char> >::uflow, COMDAT
; _this$ = ecx

; 326  : 		{	// get an element from stream, point past it

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 112				; 00000070H
	push	ebx
	mov	ebx, ecx

; 327  : 		if (_Mysb::gptr() != 0
; 328  : 			&& _Mysb::gptr() < _Mysb::egptr())

	mov	eax, DWORD PTR [ebx+32]
	mov	eax, DWORD PTR [eax]
	xor	ecx, ecx
	cmp	eax, ecx
	je	SHORT $LN19@uflow@2
	mov	edx, DWORD PTR [ebx+32]
	mov	eax, DWORD PTR [edx]
	mov	edx, DWORD PTR [ebx+48]
	mov	edx, DWORD PTR [edx]
	add	edx, eax
	cmp	eax, edx
	jae	SHORT $LN19@uflow@2

; 329  : 			return (_Traits::to_int_type(
; 330  : 				*_Mysb::_Gninc()));	// return buffered

	mov	eax, DWORD PTR [ebx+48]
	add	DWORD PTR [eax], -1
	mov	ebx, DWORD PTR [ebx+32]
	mov	eax, DWORD PTR [ebx]
	lea	ecx, DWORD PTR [eax+1]
	mov	DWORD PTR [ebx], ecx
	movzx	eax, BYTE PTR [eax]
	pop	ebx

; 382  : 					}
; 383  : 				}
; 384  : 			}
; 385  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+124]
	mov	DWORD PTR fs:0, ecx
	add	esp, 124				; 0000007cH
	ret	0
$LN19@uflow@2:

; 331  : 		else if (_Myfile == 0)

	mov	eax, DWORD PTR [ebx+76]
	cmp	eax, ecx
	jne	SHORT $LN17@uflow@2
$LN22@uflow@2:

; 332  : 			return (_Traits::eof());	// no open C stream, fail

	or	eax, -1
	pop	ebx

; 382  : 					}
; 383  : 				}
; 384  : 			}
; 385  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+124]
	mov	DWORD PTR fs:0, ecx
	add	esp, 124				; 0000007cH
	ret	0
$LN17@uflow@2:

; 333  : 		else if (_Pcvt == 0)

	cmp	DWORD PTR [ebx+60], ecx
	jne	SHORT $LN15@uflow@2

; 334  : 			{	// no codecvt facet, just get it
; 335  : 			_Elem _Ch;
; 336  : 			return (_Fgetc(_Ch, _Myfile) ? _Traits::to_int_type(_Ch)
; 337  : 				: _Traits::eof());

	push	eax
	call	_fgetc
	add	esp, 4
	cmp	eax, -1
	je	SHORT $LN22@uflow@2
	movzx	eax, al
	pop	ebx

; 382  : 					}
; 383  : 				}
; 384  : 			}
; 385  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+124]
	mov	DWORD PTR fs:0, ecx
	add	esp, 124				; 0000007cH
	ret	0
$LN15@uflow@2:
	push	ebp
	push	esi
	push	edi

; 338  : 			}
; 339  : 		else
; 340  : 			{	// build string until codecvt succeeds
; 341  : 			string _Str;

	mov	DWORD PTR __Str$58823[esp+140], ecx
	mov	DWORD PTR __Str$58823[esp+168], 15	; 0000000fH
	mov	DWORD PTR __Str$58823[esp+164], ecx
	mov	BYTE PTR __Str$58823[esp+148], cl

; 342  : 
; 343  : 			for (; ; )
; 344  : 				{	// get using codecvt facet
; 345  : 				_Elem _Ch, *_Dest;
; 346  : 				const char *_Src;
; 347  : 				ptrdiff_t _Nleft;
; 348  : 				int _Meta = fgetc(_Myfile);

	push	eax
	mov	DWORD PTR __$EHRec$[esp+152], ecx
	call	_fgetc
	add	esp, 4

; 349  : 
; 350  : 				if (_Meta == EOF)

	cmp	eax, -1
	je	$LN1@uflow@2
	npad	7
$LL13@uflow@2:

; 351  : 					return (_Traits::eof());	// partial char?
; 352  : 
; 353  : 				_Str.append(1, (char)_Meta);	// append byte and convert

	push	eax
	push	1
	lea	ecx, DWORD PTR __Str$58823[esp+148]
	call	?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append

; 354  : 				switch (_Pcvt->in(_State,
; 355  : 					&*_Str.begin(), &*_Str.begin() + _Str.size(), _Src,
; 356  : 					&_Ch, &_Ch + 1, _Dest))

	lea	edx, DWORD PTR $T68448[esp+140]
	push	edx
	lea	ecx, DWORD PTR __Str$58823[esp+144]
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	esi, eax
	lea	eax, DWORD PTR $T68449[esp+140]
	push	eax
	lea	ecx, DWORD PTR __Str$58823[esp+144]
	mov	BYTE PTR __$EHRec$[esp+152], 1
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	edi, eax
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+148], 2
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	ebp, DWORD PTR __Str$58823[esp+164]
	mov	ecx, edi
	mov	esi, eax
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	ecx, DWORD PTR [ebx+60]
	mov	edx, DWORD PTR [ecx]
	lea	edi, DWORD PTR __Dest$58828[esp+140]
	push	edi
	lea	edi, DWORD PTR __Ch$58827[esp+145]
	push	edi
	lea	edi, DWORD PTR __Ch$58827[esp+148]
	push	edi
	lea	edi, DWORD PTR __Src$58829[esp+152]
	push	edi
	add	ebp, esi
	push	ebp
	push	eax
	lea	eax, DWORD PTR [ebx+68]
	push	eax
	mov	eax, DWORD PTR [edx+16]
	call	eax
	push	3
	lea	ecx, DWORD PTR __Lock$68693[esp+144]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+152], 1
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	lea	ecx, DWORD PTR $T68449[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 3
	call	?_Orphan_me@_Iterator_base@std@@QAEXXZ	; std::_Iterator_base::_Orphan_me
	lea	ecx, DWORD PTR __Lock$68693[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 1
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	push	3
	lea	ecx, DWORD PTR __Lock$68725[esp+144]
	mov	BYTE PTR __$EHRec$[esp+152], 0
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	lea	ecx, DWORD PTR $T68448[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 4
	call	?_Orphan_me@_Iterator_base@std@@QAEXXZ	; std::_Iterator_base::_Orphan_me
	lea	ecx, DWORD PTR __Lock$68725[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 0
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	test	esi, esi
	jl	$LN1@uflow@2
	cmp	esi, 1
	jle	$LN8@uflow@2
	cmp	esi, 3
	jne	$LN1@uflow@2

; 370  : 					break;
; 371  : 
; 372  : 				case codecvt_base::noconv:
; 373  : 					if (_Str.size() < sizeof (_Elem))

	cmp	DWORD PTR __Str$58823[esp+164], 1
	jb	$LN4@uflow@2

; 374  : 						break;	// no conversion, but need more chars
; 375  : 
; 376  : 					_CRT_SECURE_MEMCPY(&_Ch,sizeof (_Elem), &*_Str.begin(),

	lea	eax, DWORD PTR $T68453[esp+140]
	push	eax
	lea	ecx, DWORD PTR __Str$58823[esp+144]
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	push	1
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+152], 7
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	push	eax
	lea	ecx, DWORD PTR __Ch$58827[esp+148]
	push	1
	push	ecx
	call	_memcpy_s
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR $T68453[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 0
	call	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base

; 377  : 						sizeof (_Elem));	// copy raw bytes to element
; 378  : 					return (_Traits::to_int_type(_Ch));	// return result

	movzx	esi, BYTE PTR __Ch$58827[esp+140]
	lea	ecx, DWORD PTR __Str$58823[esp+140]
	mov	DWORD PTR __$EHRec$[esp+148], -1
	call	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebp
	pop	ebx

; 382  : 					}
; 383  : 				}
; 384  : 			}
; 385  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+124]
	mov	DWORD PTR fs:0, ecx
	add	esp, 124				; 0000007cH
	ret	0
$LN8@uflow@2:

; 357  : 					{	// test result of converting one element
; 358  : 				case codecvt_base::partial:
; 359  : 				case codecvt_base::ok:
; 360  : 					if (_Dest != &_Ch)

	lea	ecx, DWORD PTR __Ch$58827[esp+140]
	cmp	DWORD PTR __Dest$58828[esp+140], ecx

; 366  : 						}
; 367  : 					else
; 368  : 						_Str.erase((size_t)0,	// partial, discard used input
; 369  : 							(size_t)(_Src - &*_Str.begin()));

	lea	ecx, DWORD PTR __Str$58823[esp+140]
	jne	SHORT $LN167@uflow@2
	lea	edx, DWORD PTR $T68452[esp+140]
	push	edx
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+148], 6
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	ecx, DWORD PTR __Src$58829[esp+140]
	sub	ecx, eax
	push	ecx
	push	0
	lea	ecx, DWORD PTR __Str$58823[esp+148]
	call	?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase
	lea	ecx, DWORD PTR $T68452[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 0
	call	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base
$LN4@uflow@2:
	mov	edx, DWORD PTR [ebx+76]
	push	edx
	call	_fgetc
	add	esp, 4
	cmp	eax, -1
	jne	$LL13@uflow@2
$LN1@uflow@2:

; 379  : 
; 380  : 				default:
; 381  : 					return (_Traits::eof());	// conversion failed

	lea	ecx, DWORD PTR __Str$58823[esp+140]
	mov	DWORD PTR __$EHRec$[esp+148], -1
	call	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
	pop	edi
	pop	esi
	pop	ebp
	or	eax, -1
	pop	ebx

; 382  : 					}
; 383  : 				}
; 384  : 			}
; 385  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+124]
	mov	DWORD PTR fs:0, ecx
	add	esp, 124				; 0000007cH
	ret	0
$LN167@uflow@2:

; 361  : 						{	// got an element, put back excess and deliver it
; 362  : 						for (_Nleft = &*_Str.begin() + _Str.size() - _Src;

	lea	edx, DWORD PTR $T68450[esp+140]
	push	edx
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+148], 5
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	esi, DWORD PTR __Str$58823[esp+164]
	sub	esi, DWORD PTR __Src$58829[esp+140]
	lea	ecx, DWORD PTR $T68450[esp+140]
	add	esi, eax
	mov	BYTE PTR __$EHRec$[esp+148], 0
	call	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base

; 363  : 							0 < _Nleft; )

	test	esi, esi
	jle	SHORT $LN5@uflow@2
	npad	10
$LL6@uflow@2:

; 364  : 							ungetc(_Src[--_Nleft], _Myfile);

	mov	ecx, DWORD PTR __Src$58829[esp+140]
	mov	eax, DWORD PTR [ebx+76]
	movsx	edx, BYTE PTR [esi+ecx-1]
	sub	esi, 1
	push	eax
	push	edx
	call	_ungetc
	add	esp, 8
	test	esi, esi
	jg	SHORT $LL6@uflow@2
$LN5@uflow@2:

; 365  : 						return (_Traits::to_int_type(_Ch));

	movzx	esi, BYTE PTR __Ch$58827[esp+140]
	lea	ecx, DWORD PTR __Str$58823[esp+140]
	mov	DWORD PTR __$EHRec$[esp+148], -1
	call	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >

; 382  : 					}
; 383  : 				}
; 384  : 			}
; 385  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+140]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 124				; 0000007cH
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$0:
	lea	ecx, DWORD PTR __Str$58823[ebp]
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$1:
	lea	ecx, DWORD PTR $T68448[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$2:
	lea	ecx, DWORD PTR $T68449[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$9:
	lea	ecx, DWORD PTR __Lock$68693[ebp]
	jmp	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$13:
	lea	ecx, DWORD PTR __Lock$68725[ebp]
	jmp	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$5:
	lea	ecx, DWORD PTR $T68453[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$4:
	lea	ecx, DWORD PTR $T68452[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
__unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$3:
	lea	ecx, DWORD PTR $T68450[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
__ehhandler$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ:
	mov	eax, OFFSET __ehfuncinfo$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ ENDP ; std::basic_filebuf<char,std::char_traits<char> >::uflow
PUBLIC	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
xdata$x	SEGMENT
__unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z$0
__ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
xdata$x	ENDS
;	COMDAT ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Count$ = 8						; size = 4
__Ch$ = 12						; size = 1
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx

; 664  : 		{	// construct from _Count * _Ch

	push	-1
	push	__ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	xor	eax, eax
	mov	DWORD PTR _this$[esp+20], esi
	mov	DWORD PTR [esi], eax

; 665  : 		_Tidy();
; 666  : 		assign(_Count, _Ch);

	mov	ecx, DWORD PTR __Count$[esp+16]
	mov	DWORD PTR [esi+24], eax
	mov	DWORD PTR [esi+28], 15			; 0000000fH
	mov	DWORD PTR __$EHRec$[esp+28], eax
	mov	BYTE PTR [esi+8], al
	mov	eax, DWORD PTR __Ch$[esp+16]
	push	eax
	push	ecx
	mov	ecx, esi
	call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign

; 667  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$_String_val@DV?$allocator@D@std@@@std@@QAE@XZ
__ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
PUBLIC	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
; Function compile flags: /Ogtpy
;	COMDAT ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT
; _this$ = ecx

; 1069 : 		{	// assign [_Ptr, <null>)

	push	esi

; 1070 : 		return (assign(_Ptr, _Traits::length(_Ptr)));

	mov	esi, DWORD PTR __Ptr$[esp]
	mov	eax, esi
	push	edi
	lea	edi, DWORD PTR [eax+1]
	npad	5
$LL5@assign@4:
	mov	dl, BYTE PTR [eax]
	add	eax, 1
	test	dl, dl
	jne	SHORT $LL5@assign@4
	sub	eax, edi
	push	eax
	push	esi
	call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
	pop	edi
	pop	esi

; 1071 : 		}

	ret	4
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
_TEXT	ENDS
PUBLIC	?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ ; std::basic_filebuf<char,std::char_traits<char> >::_Endwrite
EXTRN	_fwrite:PROC
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ DD 019930522H
	DD	08H
	DD	FLAT:__unwindtable$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$2
	DD	01H
	DD	FLAT:__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$8
	DD	00H
	DD	FLAT:__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$12
	DD	00H
	DD	FLAT:__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$3
	DD	00H
	DD	FLAT:__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$16
	DD	00H
	DD	FLAT:__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$4
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
xdata$x	ENDS
;	COMDAT ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ
_TEXT	SEGMENT
$T68961 = -113						; size = 1
$T68973 = -112						; size = 4
__Lock$69031 = -108					; size = 4
__Lock$69063 = -104					; size = 4
__Dest$59678 = -100					; size = 4
__Lock$69100 = -96					; size = 4
$T68959 = -92						; size = 12
$T68958 = -80						; size = 12
$T68960 = -68						; size = 12
$T68962 = -56						; size = 12
__Str$59682 = -44					; size = 32
__$EHRec$ = -12						; size = 12
?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ PROC ; std::basic_filebuf<char,std::char_traits<char> >::_Endwrite, COMDAT
; _this$ = ecx

; 490  : 		{	// put shift to initial conversion state, as needed

	push	-1
	push	__ehhandler$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 104				; 00000068H
	push	ebx
	push	esi
	xor	esi, esi
	mov	ebx, ecx
	mov	DWORD PTR $T68973[esp+124], esi

; 491  : 		if (_Pcvt == 0 || !_Wrotesome)

	cmp	DWORD PTR [ebx+60], esi
	je	$LN14@Endwrite
	cmp	BYTE PTR [ebx+65], 0
	je	$LN14@Endwrite

; 492  : 			return (true);
; 493  : 		else
; 494  : 			{	// may have to put
; 495  : 			const int _STRING_INC = 8;
; 496  : 			char *_Dest;
; 497  : 			if (_Traits::eq_int_type(_Traits::eof(), overflow()))

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+4]
	push	-1
	call	edx
	cmp	eax, -1
	jne	SHORT $LN12@Endwrite
	pop	esi

; 498  : 				return (false);

	xor	al, al
	pop	ebx

; 527  : 			}
; 528  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+116]
	mov	DWORD PTR fs:0, ecx
	add	esp, 116				; 00000074H
	ret	0
$LN12@Endwrite:

; 499  : 
; 500  : 			string _Str(_STRING_INC, '\0');

	push	esi
	push	8
	lea	ecx, DWORD PTR __Str$59682[esp+132]
	call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
	push	ebp
	mov	DWORD PTR __$EHRec$[esp+136], esi
	push	edi
	npad	8
$LL11@Endwrite:

; 501  : 			for (; ; )
; 502  : 				switch (_Pcvt->unshift(_State,
; 503  : 					&*_Str.begin(), &*_Str.begin() + _Str.size(), _Dest))

	lea	eax, DWORD PTR $T68958[esp+132]
	push	eax
	lea	ecx, DWORD PTR __Str$59682[esp+136]
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	esi, eax
	lea	ecx, DWORD PTR $T68959[esp+132]
	push	ecx
	lea	ecx, DWORD PTR __Str$59682[esp+136]
	mov	BYTE PTR __$EHRec$[esp+144], 1
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	edi, eax
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+140], 2
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	ebp, DWORD PTR __Str$59682[esp+156]
	mov	ecx, edi
	mov	esi, eax
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	ecx, DWORD PTR [ebx+60]
	mov	edx, DWORD PTR [ecx]
	lea	edi, DWORD PTR __Dest$59678[esp+132]
	push	edi
	add	ebp, esi
	push	ebp
	push	eax
	lea	eax, DWORD PTR [ebx+68]
	push	eax
	mov	eax, DWORD PTR [edx+24]
	call	eax
	push	3
	lea	ecx, DWORD PTR __Lock$69031[esp+136]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+144], 1
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	lea	ecx, DWORD PTR $T68959[esp+132]
	mov	BYTE PTR __$EHRec$[esp+140], 3
	call	?_Orphan_me@_Iterator_base@std@@QAEXXZ	; std::_Iterator_base::_Orphan_me
	lea	ecx, DWORD PTR __Lock$69031[esp+132]
	mov	BYTE PTR __$EHRec$[esp+140], 1
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	push	3
	lea	ecx, DWORD PTR __Lock$69063[esp+136]
	mov	BYTE PTR __$EHRec$[esp+144], 0
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	lea	ecx, DWORD PTR $T68958[esp+132]
	mov	BYTE PTR __$EHRec$[esp+140], 4
	call	?_Orphan_me@_Iterator_base@std@@QAEXXZ	; std::_Iterator_base::_Orphan_me
	lea	ecx, DWORD PTR __Lock$69063[esp+132]
	mov	BYTE PTR __$EHRec$[esp+140], 0
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	mov	eax, esi
	sub	eax, 0
	je	SHORT $LN7@Endwrite
	sub	eax, 1
	je	SHORT $LN6@Endwrite
	sub	eax, 2

; 518  : 					break;
; 519  : 					}
; 520  : 
; 521  : 				case codecvt_base::noconv:
; 522  : 					return (true);	// nothing to do
; 523  : 
; 524  : 				default:
; 525  : 					return (false);	// conversion failed

	mov	DWORD PTR __$EHRec$[esp+140], -1
	lea	ecx, DWORD PTR __Str$59682[esp+132]
	je	$LN2@Endwrite
$LN97@Endwrite:
	call	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
	pop	edi
	pop	ebp
	pop	esi
	xor	al, al
	pop	ebx

; 527  : 			}
; 528  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+116]
	mov	DWORD PTR fs:0, ecx
	add	esp, 116				; 00000074H
	ret	0
$LN7@Endwrite:

; 504  : 				{	// test result of homing conversion
; 505  : 				case codecvt_base::ok:
; 506  : 					_Wrotesome = false;	// homed successfully

	mov	BYTE PTR [ebx+65], 0
$LN6@Endwrite:

; 507  : 
; 508  : 				case codecvt_base::partial:	// fall through
; 509  : 					{	// put any generated bytes
; 510  : 					size_t _Count = _Dest - &*_Str.begin();

	lea	ecx, DWORD PTR $T68960[esp+132]
	push	ecx
	lea	ecx, DWORD PTR __Str$59682[esp+136]
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+140], 5
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	esi, DWORD PTR __Dest$59678[esp+132]
	push	3
	lea	ecx, DWORD PTR __Lock$69100[esp+136]
	sub	esi, eax
	mov	BYTE PTR __$EHRec$[esp+144], 0
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	lea	ecx, DWORD PTR $T68960[esp+132]
	mov	BYTE PTR __$EHRec$[esp+140], 6
	call	?_Orphan_me@_Iterator_base@std@@QAEXXZ	; std::_Iterator_base::_Orphan_me
	lea	ecx, DWORD PTR __Lock$69100[esp+132]
	mov	BYTE PTR __$EHRec$[esp+140], 0
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit

; 511  : 					if (0 < _Count && _Count !=
; 512  : 						fwrite(&*_Str.begin(), 1, _Count, _Myfile))

	test	esi, esi
	jbe	SHORT $LN18@Endwrite
	lea	edx, DWORD PTR $T68962[esp+132]
	push	edx
	lea	ecx, DWORD PTR __Str$59682[esp+136]
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	or	DWORD PTR $T68973[esp+132], 1
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+140], 7
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	ecx, DWORD PTR [ebx+76]
	push	ecx
	push	esi
	push	1
	push	eax
	call	_fwrite
	add	esp, 16					; 00000010H
	cmp	esi, eax
	mov	BYTE PTR $T68961[esp+132], 1
	jne	SHORT $LN19@Endwrite
$LN18@Endwrite:
	mov	BYTE PTR $T68961[esp+132], 0
$LN19@Endwrite:
	test	BYTE PTR $T68973[esp+132], 1
	mov	DWORD PTR __$EHRec$[esp+140], 0
	je	SHORT $LN26@Endwrite
	and	DWORD PTR $T68973[esp+132], -2		; fffffffeH
	lea	ecx, DWORD PTR $T68962[esp+132]
	call	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base
$LN26@Endwrite:
	cmp	BYTE PTR $T68961[esp+132], 0
	jne	SHORT $LN91@Endwrite

; 514  : 					if (!_Wrotesome)

	cmp	BYTE PTR [ebx+65], 0
	je	SHORT $LN92@Endwrite

; 516  : 					if (_Count == 0)

	test	esi, esi
	jne	$LL11@Endwrite

; 517  : 						_Str.append(_STRING_INC, '\0');	// try with more space

	push	esi
	push	8
	lea	ecx, DWORD PTR __Str$59682[esp+140]
	call	?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append

; 526  : 				}

	jmp	$LL11@Endwrite
$LN91@Endwrite:

; 513  : 						return (false);	// write failed

	mov	DWORD PTR __$EHRec$[esp+140], -1
	lea	ecx, DWORD PTR __Str$59682[esp+132]
	jmp	$LN97@Endwrite
$LN92@Endwrite:

; 515  : 						return (true);

	mov	DWORD PTR __$EHRec$[esp+140], -1
	lea	ecx, DWORD PTR __Str$59682[esp+132]
$LN2@Endwrite:
	call	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
	pop	edi
	pop	ebp
	pop	esi
	mov	al, 1
	pop	ebx

; 527  : 			}
; 528  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+116]
	mov	DWORD PTR fs:0, ecx
	add	esp, 116				; 00000074H
	ret	0
$LN14@Endwrite:
	mov	ecx, DWORD PTR __$EHRec$[esp+124]
	pop	esi
	mov	al, 1
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 116				; 00000074H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$0:
	lea	ecx, DWORD PTR __Str$59682[ebp]
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$1:
	lea	ecx, DWORD PTR $T68958[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$2:
	lea	ecx, DWORD PTR $T68959[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$8:
	lea	ecx, DWORD PTR __Lock$69031[ebp]
	jmp	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$12:
	lea	ecx, DWORD PTR __Lock$69063[ebp]
	jmp	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$3:
	lea	ecx, DWORD PTR $T68960[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$16:
	lea	ecx, DWORD PTR __Lock$69100[ebp]
	jmp	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
__unwindfunclet$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ$4:
	mov	eax, DWORD PTR $T68973[ebp]
	and	eax, 1
	je	$LN25@Endwrite
	and	DWORD PTR $T68973[ebp], -2		; fffffffeH
	lea	ecx, DWORD PTR $T68962[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
$LN25@Endwrite:
	ret	0
__ehhandler$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ:
	mov	eax, OFFSET __ehfuncinfo$?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ ENDP ; std::basic_filebuf<char,std::char_traits<char> >::_Endwrite
PUBLIC	??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::runtime_error::runtime_error
EXTRN	??0exception@std@@QAE@XZ:PROC			; std::exception::exception
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\stdexcept
xdata$x	SEGMENT
__unwindtable$??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z$0
__ehfuncinfo$??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Message$ = 8						; size = 4
??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z PROC ; std::runtime_error::runtime_error, COMDAT
; _this$ = ecx

; 154  : 		{	// construct from message string

	push	-1
	push	__ehhandler$??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	call	??0exception@std@@QAE@XZ		; std::exception::exception
	mov	eax, DWORD PTR __Message$[esp+16]
	push	eax
	lea	ecx, DWORD PTR [esi+12]
	mov	DWORD PTR __$EHRec$[esp+32], 0
	mov	DWORD PTR [esi], OFFSET ??_7runtime_error@std@@6B@
	call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >

; 155  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1exception@std@@UAE@XZ		; std::exception::~exception
__ehhandler$??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z:
	mov	eax, OFFSET __ehfuncinfo$??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ENDP ; std::runtime_error::runtime_error
PUBLIC	??_7failure@ios_base@std@@6B@			; std::ios_base::failure::`vftable'
PUBLIC	??0failure@ios_base@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z ; std::ios_base::failure::failure
PUBLIC	??_R4failure@ios_base@std@@6B@			; std::ios_base::failure::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVfailure@ios_base@std@@@8		; std::ios_base::failure `RTTI Type Descriptor'
PUBLIC	??_R3failure@ios_base@std@@8			; std::ios_base::failure::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2failure@ios_base@std@@8			; std::ios_base::failure::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@failure@ios_base@std@@8		; std::ios_base::failure::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_Efailure@ios_base@std@@UAEPAXI@Z:PROC	; std::ios_base::failure::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@failure@ios_base@std@@8
; File c:\program files\microsoft visual studio 8\vc\include\xiosbase
rdata$r	SEGMENT
??_R1A@?0A@EA@failure@ios_base@std@@8 DD FLAT:??_R0?AVfailure@ios_base@std@@@8 ; std::ios_base::failure::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3failure@ios_base@std@@8
rdata$r	ENDS
;	COMDAT ??_R2failure@ios_base@std@@8
rdata$r	SEGMENT
??_R2failure@ios_base@std@@8 DD FLAT:??_R1A@?0A@EA@failure@ios_base@std@@8 ; std::ios_base::failure::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@runtime_error@std@@8
	DD	FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R3failure@ios_base@std@@8
rdata$r	SEGMENT
??_R3failure@ios_base@std@@8 DD 00H			; std::ios_base::failure::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2failure@ios_base@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVfailure@ios_base@std@@@8
_DATA	SEGMENT
??_R0?AVfailure@ios_base@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::ios_base::failure `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVfailure@ios_base@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4failure@ios_base@std@@6B@
rdata$r	SEGMENT
??_R4failure@ios_base@std@@6B@ DD 00H			; std::ios_base::failure::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVfailure@ios_base@std@@@8
	DD	FLAT:??_R3failure@ios_base@std@@8
rdata$r	ENDS
;	COMDAT ??_7failure@ios_base@std@@6B@
CONST	SEGMENT
??_7failure@ios_base@std@@6B@ DD FLAT:??_R4failure@ios_base@std@@6B@ ; std::ios_base::failure::`vftable'
	DD	FLAT:??_Efailure@ios_base@std@@UAEPAXI@Z
	DD	FLAT:?what@runtime_error@std@@UBEPBDXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0failure@ios_base@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
_TEXT	SEGMENT
__Message$ = 8						; size = 4
??0failure@ios_base@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z PROC ; std::ios_base::failure::failure, COMDAT
; _this$ = ecx

; 208  : 			{	// construct with message

	mov	eax, DWORD PTR __Message$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::runtime_error::runtime_error
	mov	DWORD PTR [esi], OFFSET ??_7failure@ios_base@std@@6B@

; 209  : 			}

	mov	eax, esi
	pop	esi
	ret	4
??0failure@ios_base@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z ENDP ; std::ios_base::failure::failure
_TEXT	ENDS
PUBLIC	??1failure@ios_base@std@@UAE@XZ			; std::ios_base::failure::~failure
; Function compile flags: /Ogtpy
;	COMDAT ??1failure@ios_base@std@@UAE@XZ
_TEXT	SEGMENT
??1failure@ios_base@std@@UAE@XZ PROC			; std::ios_base::failure::~failure, COMDAT
; _this$ = ecx

; 212  : 			{	// destroy the object

	push	esi
	push	edi
	mov	edi, ecx

; 213  : 			}

	lea	esi, DWORD PTR [edi+12]
	mov	DWORD PTR [edi], OFFSET ??_7runtime_error@std@@6B@
	cmp	DWORD PTR [esi+28], 16			; 00000010H
	jb	SHORT $LN21@failure
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN21@failure:
	xor	eax, eax
	mov	DWORD PTR [esi+28], 15			; 0000000fH
	mov	DWORD PTR [esi+24], eax
	mov	ecx, esi
	mov	BYTE PTR [esi+8], al
	call	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
	mov	ecx, edi
	pop	edi
	pop	esi
	jmp	??1exception@std@@UAE@XZ		; std::exception::~exception
??1failure@ios_base@std@@UAE@XZ ENDP			; std::ios_base::failure::~failure
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_Gfailure@ios_base@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Gfailure@ios_base@std@@UAEPAXI@Z PROC		; std::ios_base::failure::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	push	edi
	mov	edi, ecx
	lea	esi, DWORD PTR [edi+12]
	mov	DWORD PTR [edi], OFFSET ??_7runtime_error@std@@6B@
	cmp	DWORD PTR [esi+28], 16			; 00000010H
	jb	SHORT $LN24@scalar@31
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN24@scalar@31:
	xor	eax, eax
	mov	DWORD PTR [esi+28], 15			; 0000000fH
	mov	DWORD PTR [esi+24], eax
	mov	ecx, esi
	mov	BYTE PTR [esi+8], al
	call	?_Orphan_all@_Container_base@std@@QBEXXZ ; std::_Container_base::_Orphan_all
	mov	ecx, edi
	call	??1exception@std@@UAE@XZ		; std::exception::~exception
	test	BYTE PTR ___flags$[esp+4], 1
	je	SHORT $LN40@scalar@31
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN40@scalar@31:
	mov	eax, edi
	pop	edi
	pop	esi
	ret	4
??_Gfailure@ios_base@std@@UAEPAXI@Z ENDP		; std::ios_base::failure::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
xdata$x	SEGMENT
__unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z$0
__ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xstring
xdata$x	ENDS
;	COMDAT ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Ptr$ = 8						; size = 4
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx

; 650  : 		{	// construct from [_Ptr, <null>)

	push	-1
	push	__ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi
	mov	esi, ecx
	xor	edx, edx
	push	edi
	mov	DWORD PTR _this$[esp+28], esi
	mov	DWORD PTR [esi], edx

; 651  : 		_Tidy();
; 652  : 		assign(_Ptr);

	mov	edi, DWORD PTR __Ptr$[esp+24]
	mov	eax, edi
	mov	DWORD PTR [esi+28], 15			; 0000000fH
	mov	DWORD PTR [esi+24], edx
	mov	DWORD PTR __$EHRec$[esp+36], edx
	mov	BYTE PTR [esi+8], dl
	lea	ebx, DWORD PTR [eax+1]
	npad	3
$LL42@basic_stri@3:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	cmp	cl, dl
	jne	SHORT $LL42@basic_stri@3
	sub	eax, ebx
	push	eax
	push	edi
	mov	ecx, esi
	call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign

; 653  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$_String_val@DV?$allocator@D@std@@@std@@QAE@XZ
__ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
xdata$x	SEGMENT
__ehfuncinfo$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z$2
	DD	00H
	DD	FLAT:__unwindfunclet$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z$3
	DD	00H
	DD	FLAT:__unwindfunclet$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z$4
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
xdata$x	ENDS
;	COMDAT ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
_TEXT	SEGMENT
__Ch$58528 = -108					; size = 1
$T69697 = -104						; size = 4
__Dest$58530 = -100					; size = 4
__Src$58529 = -96					; size = 4
$T69680 = -92						; size = 12
$T69679 = -80						; size = 12
$T69681 = -68						; size = 12
$T69683 = -56						; size = 12
__Str$58531 = -44					; size = 32
__$EHRec$ = -12						; size = 12
__Meta$ = 8						; size = 4
?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z PROC ; std::basic_filebuf<char,std::char_traits<char> >::overflow, COMDAT
; _this$ = ecx

; 223  : 		{	// put an element to stream

	push	-1
	push	__ehhandler$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 96					; 00000060H
	push	ebx

; 224  : 		if (_Traits::eq_int_type(_Traits::eof(), _Meta))

	mov	ebx, DWORD PTR __Meta$[esp+108]
	push	esi
	xor	esi, esi
	cmp	ebx, -1
	push	edi
	mov	edi, ecx
	mov	DWORD PTR $T69697[esp+120], esi
	jne	SHORT $LN21@overflow
	pop	edi
	pop	esi

; 225  : 			return (_Traits::not_eof(_Meta));	// EOF, return success code

	xor	eax, eax
	pop	ebx

; 277  : 				}
; 278  : 			}
; 279  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+108]
	mov	DWORD PTR fs:0, ecx
	add	esp, 108				; 0000006cH
	ret	4
$LN21@overflow:

; 226  : 		else if (_Mysb::pptr() != 0
; 227  : 			&& _Mysb::pptr() < _Mysb::epptr())

	mov	eax, DWORD PTR [edi+36]
	cmp	DWORD PTR [eax], esi
	je	SHORT $LN19@overflow
	mov	ecx, DWORD PTR [eax]
	mov	eax, DWORD PTR [edi+52]
	mov	edx, DWORD PTR [eax]
	add	edx, ecx
	cmp	ecx, edx
	jae	SHORT $LN19@overflow

; 228  : 			{	// room in buffer, store it
; 229  : 			*_Mysb::_Pninc() = _Traits::to_char_type(_Meta);

	add	DWORD PTR [eax], -1
	mov	edi, DWORD PTR [edi+36]
	mov	eax, DWORD PTR [edi]
	lea	ecx, DWORD PTR [eax+1]
	mov	DWORD PTR [edi], ecx
	mov	BYTE PTR [eax], bl
$LN136@overflow:
	pop	edi
	pop	esi

; 230  : 			return (_Meta);

	mov	eax, ebx
	pop	ebx

; 277  : 				}
; 278  : 			}
; 279  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+108]
	mov	DWORD PTR fs:0, ecx
	add	esp, 108				; 0000006cH
	ret	4
$LN19@overflow:

; 231  : 			}
; 232  : 		else if (_Myfile == 0)

	mov	eax, DWORD PTR [edi+76]
	cmp	eax, esi
	jne	SHORT $LN17@overflow
$LN24@overflow:
	pop	edi
	pop	esi

; 233  : 			return (_Traits::eof());	// no open C stream, fail

	or	eax, -1
	pop	ebx

; 277  : 				}
; 278  : 			}
; 279  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+108]
	mov	DWORD PTR fs:0, ecx
	add	esp, 108				; 0000006cH
	ret	4
$LN17@overflow:

; 234  : 		else if (_Pcvt == 0)

	cmp	DWORD PTR [edi+60], esi
	jne	SHORT $LN15@overflow

; 235  : 			return (_Fputc(_Traits::to_char_type(_Meta), _Myfile)
; 236  : 				? _Meta : _Traits::eof());	// no codecvt facet, put as is

	movsx	edx, bl
	push	eax
	push	edx
	call	_fputc
	add	esp, 8
	cmp	eax, -1
	je	SHORT $LN24@overflow
	jmp	SHORT $LN136@overflow
$LN15@overflow:
	push	ebp

; 237  : 		else
; 238  : 			{	// put using codecvt facet
; 239  : 			const int _STRING_INC = 8;
; 240  : 			const _Elem _Ch = _Traits::to_char_type(_Meta);
; 241  : 			const _Elem *_Src;
; 242  : 			char *_Dest;
; 243  : 
; 244  : 			string _Str(_STRING_INC, '\0');

	push	esi
	push	8
	lea	ecx, DWORD PTR __Str$58531[esp+132]
	mov	BYTE PTR __Ch$58528[esp+132], bl
	call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >

; 245  : 			for (; ; )
; 246  : 				switch (_Pcvt->out(_State,
; 247  : 					&_Ch, &_Ch + 1, _Src,
; 248  : 					&*_Str.begin(), &*_Str.begin() + _Str.size(), _Dest))

	lea	eax, DWORD PTR $T69679[esp+124]
	push	eax
	lea	ecx, DWORD PTR __Str$58531[esp+128]
	mov	DWORD PTR __$EHRec$[esp+136], esi
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	esi, eax
	lea	ecx, DWORD PTR $T69680[esp+124]
	push	ecx
	lea	ecx, DWORD PTR __Str$58531[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 1
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	ebp, eax
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+132], 2
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	ebx, DWORD PTR __Str$58531[esp+148]
	mov	ecx, ebp
	mov	esi, eax
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	ecx, DWORD PTR [edi+60]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	ebp, DWORD PTR __Dest$58530[esp+124]
	push	ebp
	add	ebx, esi
	push	ebx
	push	eax
	lea	eax, DWORD PTR __Src$58529[esp+136]
	push	eax
	lea	eax, DWORD PTR __Ch$58528[esp+141]
	push	eax
	lea	eax, DWORD PTR __Ch$58528[esp+144]
	push	eax
	lea	eax, DWORD PTR [edi+68]
	push	eax
	call	edx
	lea	ecx, DWORD PTR $T69680[esp+124]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+132], 1
	call	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base
	lea	ecx, DWORD PTR $T69679[esp+124]
	mov	BYTE PTR __$EHRec$[esp+132], 0
	call	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base
	test	esi, esi
	jl	$LN1@overflow
$LL13@overflow:
	cmp	esi, 1
	jg	$LN128@overflow

; 249  : 				{	// test result of converting one element
; 250  : 				case codecvt_base::partial:
; 251  : 				case codecvt_base::ok:
; 252  : 					{	// converted something, try to put it out
; 253  : 					size_t _Count = _Dest - &*_Str.begin();

	lea	eax, DWORD PTR $T69681[esp+124]
	push	eax
	lea	ecx, DWORD PTR __Str$58531[esp+128]
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+132], 3
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	esi, DWORD PTR __Dest$58530[esp+124]
	lea	ecx, DWORD PTR $T69681[esp+124]
	sub	esi, eax
	mov	BYTE PTR __$EHRec$[esp+132], 0
	call	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base

; 254  : 					if (0 < _Count && _Count !=
; 255  : 						fwrite(&*_Str.begin(), 1, _Count, _Myfile))

	test	esi, esi
	jbe	SHORT $LN132@overflow
	lea	ecx, DWORD PTR $T69683[esp+124]
	push	ecx
	lea	ecx, DWORD PTR __Str$58531[esp+128]
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	or	DWORD PTR $T69697[esp+124], 1
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+132], 4
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	edx, DWORD PTR [edi+76]
	push	edx
	push	esi
	push	1
	push	eax
	call	_fwrite
	add	esp, 16					; 00000010H
	cmp	esi, eax
	je	SHORT $LN132@overflow
	mov	bl, 1
	jmp	SHORT $LN27@overflow
$LN132@overflow:
	xor	bl, bl
$LN27@overflow:
	test	BYTE PTR $T69697[esp+124], 1
	mov	DWORD PTR __$EHRec$[esp+132], 0
	je	SHORT $LN36@overflow
	and	DWORD PTR $T69697[esp+124], -2		; fffffffeH
	lea	ecx, DWORD PTR $T69683[esp+124]
	call	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base
$LN36@overflow:
	test	bl, bl
	jne	$LN1@overflow

; 256  : 						return (_Traits::eof());	// write failed
; 257  : 
; 258  : 					_Wrotesome = true;	// write succeeded
; 259  : 					if (_Src != &_Ch)

	lea	eax, DWORD PTR __Ch$58528[esp+124]
	cmp	DWORD PTR __Src$58529[esp+124], eax
	mov	BYTE PTR [edi+65], 1
	jne	$LN130@overflow

; 261  : 
; 262  : 					if (0 < _Count)

	test	esi, esi
	ja	SHORT $LN3@overflow

; 263  : 						;
; 264  : 					else if (_Str.size() < 4 * _STRING_INC)

	cmp	DWORD PTR __Str$58531[esp+148], 32	; 00000020H

; 265  : 						_Str.append(_STRING_INC, '\0');	// try with more space

	lea	ecx, DWORD PTR __Str$58531[esp+124]
	jae	$LN4@overflow
	push	0
	push	8
	call	?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
$LN3@overflow:
	lea	ecx, DWORD PTR $T69679[esp+124]
	push	ecx
	lea	ecx, DWORD PTR __Str$58531[esp+128]
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	esi, eax
	lea	edx, DWORD PTR $T69680[esp+124]
	push	edx
	lea	ecx, DWORD PTR __Str$58531[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 1
	call	?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin
	mov	ebp, eax
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+132], 2
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	ebx, DWORD PTR __Str$58531[esp+148]
	mov	ecx, ebp
	mov	esi, eax
	call	??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ ; std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*
	mov	ecx, DWORD PTR [edi+60]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	ebp, DWORD PTR __Dest$58530[esp+124]
	push	ebp
	add	ebx, esi
	push	ebx
	push	eax
	lea	eax, DWORD PTR __Src$58529[esp+136]
	push	eax
	lea	eax, DWORD PTR __Ch$58528[esp+141]
	push	eax
	lea	eax, DWORD PTR __Ch$58528[esp+144]
	push	eax
	lea	eax, DWORD PTR [edi+68]
	push	eax
	call	edx
	lea	ecx, DWORD PTR $T69680[esp+124]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+132], 1
	call	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base
	lea	ecx, DWORD PTR $T69679[esp+124]
	mov	BYTE PTR __$EHRec$[esp+132], 0
	call	??1_Iterator_base@std@@QAE@XZ		; std::_Iterator_base::~_Iterator_base
	test	esi, esi
	jge	$LL13@overflow
$LN1@overflow:

; 274  : 
; 275  : 				default:
; 276  : 					return (_Traits::eof());	// conversion failed

	lea	ecx, DWORD PTR __Str$58531[esp+124]
$LN4@overflow:
	mov	DWORD PTR __$EHRec$[esp+132], -1
	call	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
	pop	ebp
	pop	edi
	pop	esi
	or	eax, -1
	pop	ebx

; 277  : 				}
; 278  : 			}
; 279  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+108]
	mov	DWORD PTR fs:0, ecx
	add	esp, 108				; 0000006cH
	ret	4
$LN128@overflow:

; 245  : 			for (; ; )
; 246  : 				switch (_Pcvt->out(_State,
; 247  : 					&_Ch, &_Ch + 1, _Src,
; 248  : 					&*_Str.begin(), &*_Str.begin() + _Str.size(), _Dest))

	cmp	esi, 3
	jne	SHORT $LN1@overflow

; 266  : 					else
; 267  : 						return (_Traits::eof());	// conversion failed
; 268  : 					break;
; 269  : 					}
; 270  : 
; 271  : 				case codecvt_base::noconv:
; 272  : 					return (_Fputc(_Ch, _Myfile) ? _Meta
; 273  : 						: _Traits::eof());	// no conversion, put as is

	mov	eax, DWORD PTR [edi+76]
	mov	ecx, DWORD PTR __Ch$58528[esp+124]
	push	eax
	push	ecx
	call	??$_Fputc@D@std@@YA_NDPAU_iobuf@@@Z	; std::_Fputc<char>
	add	esp, 8
	test	al, al
	je	SHORT $LN28@overflow
	mov	esi, DWORD PTR __Meta$[esp+120]
	jmp	SHORT $LN29@overflow
$LN28@overflow:
	or	esi, -1
$LN29@overflow:
	lea	ecx, DWORD PTR __Str$58531[esp+124]
	mov	DWORD PTR __$EHRec$[esp+132], -1
	call	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
	pop	ebp
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx

; 277  : 				}
; 278  : 			}
; 279  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+108]
	mov	DWORD PTR fs:0, ecx
	add	esp, 108				; 0000006cH
	ret	4
$LN130@overflow:

; 260  : 						return (_Meta);	// converted whole element

	lea	ecx, DWORD PTR __Str$58531[esp+124]
	mov	DWORD PTR __$EHRec$[esp+132], -1
	call	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >

; 277  : 				}
; 278  : 			}
; 279  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+124]
	mov	eax, DWORD PTR __Meta$[esp+120]
	pop	ebp
	pop	edi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 108				; 0000006cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z$0:
	lea	ecx, DWORD PTR __Str$58531[ebp]
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z$1:
	lea	ecx, DWORD PTR $T69679[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
__unwindfunclet$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z$2:
	lea	ecx, DWORD PTR $T69680[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
__unwindfunclet$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z$3:
	lea	ecx, DWORD PTR $T69681[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
__unwindfunclet$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z$4:
	mov	eax, DWORD PTR $T69697[ebp]
	and	eax, 1
	je	$LN35@overflow
	and	DWORD PTR $T69697[ebp], -2		; fffffffeH
	lea	ecx, DWORD PTR $T69683[ebp]
	jmp	??1?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
$LN35@overflow:
	ret	0
__ehhandler$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z:
	mov	eax, OFFSET __ehfuncinfo$?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z ENDP ; std::basic_filebuf<char,std::char_traits<char> >::overflow
EXTRN	_fgetpos:PROC
EXTRN	_fseek:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z
_TEXT	SEGMENT
__Fileposition$ = -8					; size = 8
___$ReturnUdt$ = 8					; size = 4
__Off$ = 12						; size = 4
__Way$ = 16						; size = 4
___formal$ = 20						; size = 4
?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z PROC ; std::basic_filebuf<char,std::char_traits<char> >::seekoff, COMDAT
; _this$ = ecx

; 391  : 		{	// change position by _Off

	sub	esp, 8
	push	ebx
	push	ebp

; 392  : 		fpos_t _Fileposition;
; 393  : 
; 394  : 		if (_Mysb::gptr() == &_Mychar	// something putback
; 395  : 			&& _Way == ios_base::cur	// a relative seek
; 396  : 			&& _Pcvt == 0)	// not converting

	mov	ebp, DWORD PTR __Way$[esp+12]
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+32]
	push	edi
	lea	edi, DWORD PTR [esi+64]
	cmp	DWORD PTR [eax], edi
	jne	SHORT $LN20@seekoff
	cmp	ebp, 1
	jne	SHORT $LN20@seekoff
	cmp	DWORD PTR [esi+60], 0
	jne	SHORT $LN20@seekoff

; 397  : 			_Off -= (off_type)sizeof (_Elem);	// back up over _Elem bytes

	mov	ebx, DWORD PTR __Off$[esp+20]
	sub	ebx, ebp
	jmp	SHORT $LN6@seekoff
$LN20@seekoff:
	mov	ebx, DWORD PTR __Off$[esp+20]
$LN6@seekoff:

; 398  : 
; 399  : 		if (_Myfile == 0 || !_Endwrite()
; 400  : 			|| (_Off != 0 || _Way != ios_base::cur)
; 401  : 				&& fseek(_Myfile, (long)_Off, _Way) != 0
; 402  : 			|| fgetpos(_Myfile, &_Fileposition) != 0)

	cmp	DWORD PTR [esi+76], 0
	je	$LN21@seekoff
	call	?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ ; std::basic_filebuf<char,std::char_traits<char> >::_Endwrite
	test	al, al
	je	SHORT $LN21@seekoff
	test	ebx, ebx
	jne	SHORT $LN2@seekoff
	cmp	ebp, 1
	je	SHORT $LN3@seekoff
$LN2@seekoff:
	mov	ecx, DWORD PTR [esi+76]
	push	ebp
	push	ebx
	push	ecx
	call	_fseek
	add	esp, 12					; 0000000cH
	test	eax, eax
	jne	SHORT $LN21@seekoff
$LN3@seekoff:
	mov	eax, DWORD PTR [esi+76]
	lea	edx, DWORD PTR __Fileposition$[esp+24]
	push	edx
	push	eax
	call	_fgetpos
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN21@seekoff

; 404  : 
; 405  : 		if (_Mysb::gptr() == &_Mychar)

	mov	ecx, DWORD PTR [esi+32]
	cmp	DWORD PTR [ecx], edi
	jne	SHORT $LN15@seekoff

; 406  : 			_Mysb::setg(&_Mychar, &_Mychar + 1,
; 407  : 				&_Mychar + 1);	// discard any putback

	mov	edx, DWORD PTR [esi+16]
	mov	DWORD PTR [edx], edi
	mov	ecx, DWORD PTR [esi+32]
	lea	eax, DWORD PTR [esi+65]
	mov	edx, esi
	sub	edx, eax
	mov	DWORD PTR [ecx], eax
	mov	eax, DWORD PTR [esi+48]
	add	edx, 65					; 00000041H
	mov	DWORD PTR [eax], edx
$LN15@seekoff:

; 408  : 		return (_POS_TYPE_FROM_STATE(pos_type, _State,

	mov	eax, DWORD PTR ___$ReturnUdt$[esp+20]
	mov	ecx, DWORD PTR __Fileposition$[esp+24]
	mov	edx, DWORD PTR __Fileposition$[esp+28]
	pop	edi
	mov	DWORD PTR [eax+8], ecx
	mov	ecx, DWORD PTR [esi+68]
	pop	esi
	pop	ebp
	mov	DWORD PTR [eax], 0
	mov	DWORD PTR [eax+12], edx
	mov	DWORD PTR [eax+16], ecx
	pop	ebx

; 409  : 			_Fileposition));	// return new position
; 410  : 		}

	add	esp, 8
	ret	16					; 00000010H
$LN21@seekoff:

; 403  : 			return (pos_type(_BADOFF));	// report failure

	mov	eax, DWORD PTR ___$ReturnUdt$[esp+20]
	mov	edx, DWORD PTR ?_BADOFF@std@@3JB	; std::_BADOFF
	pop	edi
	pop	esi
	xor	ecx, ecx
	pop	ebp
	mov	DWORD PTR [eax], edx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax+16], ecx
	pop	ebx

; 409  : 			_Fileposition));	// return new position
; 410  : 		}

	add	esp, 8
	ret	16					; 00000010H
?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z ENDP ; std::basic_filebuf<char,std::char_traits<char> >::seekoff
_TEXT	ENDS
EXTRN	_fsetpos:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
_TEXT	SEGMENT
__Fileposition$ = -8					; size = 8
___$ReturnUdt$ = 8					; size = 4
__Pos$ = 12						; size = 24
___formal$ = 36						; size = 4
?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z PROC ; std::basic_filebuf<char,std::char_traits<char> >::seekpos, COMDAT
; _this$ = ecx

; 415  : 		{	// change position to _Pos

	sub	esp, 8

; 416  : 		fpos_t _Fileposition = _POS_TYPE_TO_FPOS_T(_Pos);

	mov	eax, DWORD PTR __Pos$[esp+12]
	push	esi
	mov	esi, ecx

; 417  : 		off_type _Off = (off_type)_Pos - _FPOSOFF(_Fileposition);
; 418  : 
; 419  : 		if (_Myfile == 0 || !_Endwrite()
; 420  : 			|| fsetpos(_Myfile, &_Fileposition) != 0
; 421  : 			|| _Off != 0 && fseek(_Myfile, (long)_Off, SEEK_CUR) != 0
; 422  : 			|| fgetpos(_Myfile, &_Fileposition) != 0)

	cmp	DWORD PTR [esi+76], 0
	mov	ecx, DWORD PTR __Pos$[esp+20]
	mov	DWORD PTR __Fileposition$[esp+12], eax
	mov	DWORD PTR __Fileposition$[esp+16], ecx
	je	$LN3@seekpos
	mov	ecx, esi
	call	?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ ; std::basic_filebuf<char,std::char_traits<char> >::_Endwrite
	test	al, al
	je	$LN3@seekpos
	mov	eax, DWORD PTR [esi+76]
	lea	edx, DWORD PTR __Fileposition$[esp+12]
	push	edx
	push	eax
	call	_fsetpos
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN3@seekpos
	mov	eax, DWORD PTR __Pos$[esp+8]
	test	eax, eax
	je	SHORT $LN2@seekpos
	mov	ecx, DWORD PTR [esi+76]
	push	1
	push	eax
	push	ecx
	call	_fseek
	add	esp, 12					; 0000000cH
	test	eax, eax
	jne	SHORT $LN3@seekpos
$LN2@seekpos:
	mov	eax, DWORD PTR [esi+76]
	lea	edx, DWORD PTR __Fileposition$[esp+12]
	push	edx
	push	eax
	call	_fgetpos
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN3@seekpos

; 424  : 
; 425  : 		_State = _POS_TYPE_TO_STATE(_Pos);

	mov	ecx, DWORD PTR __Pos$[esp+24]

; 426  : 
; 427  : 		if (_Mysb::gptr() == &_Mychar)

	mov	edx, DWORD PTR [esi+32]
	mov	DWORD PTR [esi+68], ecx
	lea	ecx, DWORD PTR [esi+64]
	cmp	DWORD PTR [edx], ecx
	jne	SHORT $LN17@seekpos

; 428  : 			_Mysb::setg(&_Mychar, &_Mychar + 1,
; 429  : 				&_Mychar + 1);	// discard any putback

	mov	edx, DWORD PTR [esi+16]
	mov	DWORD PTR [edx], ecx
	mov	ecx, DWORD PTR [esi+32]
	lea	eax, DWORD PTR [esi+65]
	mov	edx, esi
	sub	edx, eax
	mov	DWORD PTR [ecx], eax
	mov	eax, DWORD PTR [esi+48]
	add	edx, 65					; 00000041H
	mov	DWORD PTR [eax], edx
$LN17@seekpos:

; 430  : 		return (_POS_TYPE_FROM_STATE(pos_type, _State,

	mov	eax, DWORD PTR ___$ReturnUdt$[esp+8]
	mov	ecx, DWORD PTR __Fileposition$[esp+12]
	mov	edx, DWORD PTR __Fileposition$[esp+16]
	mov	DWORD PTR [eax+8], ecx
	mov	ecx, DWORD PTR [esi+68]
	mov	DWORD PTR [eax], 0
	mov	DWORD PTR [eax+12], edx
	mov	DWORD PTR [eax+16], ecx
	pop	esi

; 431  : 			_Fileposition));	// return new position
; 432  : 		}

	add	esp, 8
	ret	32					; 00000020H
$LN3@seekpos:

; 423  : 			return (pos_type(_BADOFF));	// report failure

	mov	eax, DWORD PTR ___$ReturnUdt$[esp+8]
	mov	edx, DWORD PTR ?_BADOFF@std@@3JB	; std::_BADOFF
	mov	DWORD PTR [eax], edx
	mov	DWORD PTR [eax+8], 0
	mov	DWORD PTR [eax+12], 0
	mov	DWORD PTR [eax+16], 0
	pop	esi

; 431  : 			_Fileposition));	// return new position
; 432  : 		}

	add	esp, 8
	ret	32					; 00000020H
?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z ENDP ; std::basic_filebuf<char,std::char_traits<char> >::seekpos
_TEXT	ENDS
PUBLIC	?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ ; std::basic_filebuf<char,std::char_traits<char> >::close
EXTRN	_fclose:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ
_TEXT	SEGMENT
?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ PROC ; std::basic_filebuf<char,std::char_traits<char> >::close, COMDAT
; _this$ = ecx

; 206  : 		{	// close the C stream

	push	ebx
	push	esi
	mov	esi, ecx

; 207  : 		_Myt *_Ans = this;
; 208  : 		if (_Myfile == 0)

	xor	ebx, ebx
	cmp	DWORD PTR [esi+76], ebx
	push	edi
	mov	edi, esi

; 209  : 			_Ans = 0;
; 210  : 		else

	je	SHORT $LN12@close

; 211  : 			{	// put any homing sequence and close file
; 212  : 			if (!_Endwrite())

	call	?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ ; std::basic_filebuf<char,std::char_traits<char> >::_Endwrite
	test	al, al
	jne	SHORT $LN2@close

; 213  : 				_Ans = 0;

	xor	edi, edi
$LN2@close:

; 214  : 			if (fclose(_Myfile) != 0)

	mov	eax, DWORD PTR [esi+76]
	push	eax
	call	_fclose
	add	esp, 4
	test	eax, eax
	je	SHORT $LN1@close
$LN12@close:

; 215  : 				_Ans = 0;

	xor	edi, edi
$LN1@close:

; 216  : 			}
; 217  : 		_Init(0, _Closefl);

	mov	ecx, esi
	mov	BYTE PTR [esi+72], bl
	mov	BYTE PTR [esi+65], bl
	call	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Init
	mov	DWORD PTR [esi+76], ebx
	mov	ecx, DWORD PTR ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA

; 218  : 		return (_Ans);

	mov	eax, edi
	pop	edi
	mov	DWORD PTR [esi+60], ebx
	mov	DWORD PTR [esi+68], ecx
	pop	esi
	pop	ebx

; 219  : 		}

	ret	0
?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ ENDP ; std::basic_filebuf<char,std::char_traits<char> >::close
_TEXT	ENDS
PUBLIC	__TI2?AVruntime_error@std@@
PUBLIC	??_C@_0BA@ELKIONDK@bad?5locale?5name?$AA@	; `string'
PUBLIC	??0_Locinfo@std@@QAE@PBD@Z			; std::_Locinfo::_Locinfo
PUBLIC	__CTA2?AVruntime_error@std@@
PUBLIC	__CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z44
PUBLIC	??0runtime_error@std@@QAE@ABV01@@Z		; std::runtime_error::runtime_error
EXTRN	?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@PBD@Z:PROC ; std::_Locinfo::_Locinfo_ctor
;	COMDAT __CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z44
; File c:\program files\microsoft visual studio 8\vc\include\iosfwd
xdata$x	SEGMENT
__CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z44 DD 00H
	DD	FLAT:??_R0?AVruntime_error@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	02cH
	DD	FLAT:??0runtime_error@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CTA2?AVruntime_error@std@@
xdata$x	SEGMENT
__CTA2?AVruntime_error@std@@ DD 02H
	DD	FLAT:__CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z44
	DD	FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x	ENDS
;	COMDAT __TI2?AVruntime_error@std@@
xdata$x	SEGMENT
__TI2?AVruntime_error@std@@ DD 00H
	DD	FLAT:??1runtime_error@std@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA2?AVruntime_error@std@@
xdata$x	ENDS
;	COMDAT ??_C@_0BA@ELKIONDK@bad?5locale?5name?$AA@
CONST	SEGMENT
??_C@_0BA@ELKIONDK@bad?5locale?5name?$AA@ DB 'bad locale name', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$??0_Locinfo@std@@QAE@PBD@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$??0_Locinfo@std@@QAE@PBD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0_Locinfo@std@@QAE@PBD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$4
	DD	04H
	DD	FLAT:__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$5
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocinfo
xdata$x	ENDS
;	COMDAT ??0_Locinfo@std@@QAE@PBD@Z
_TEXT	SEGMENT
_this$ = -92						; size = 4
$T69971 = -88						; size = 32
$T69970 = -56						; size = 44
__$EHRec$ = -12						; size = 12
__Pch$ = 8						; size = 4
??0_Locinfo@std@@QAE@PBD@Z PROC				; std::_Locinfo::_Locinfo, COMDAT
; _this$ = ecx

; 75   :         {

	push	-1
	push	__ehhandler$??0_Locinfo@std@@QAE@PBD@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 80					; 00000050H
	push	ebx
	push	esi
	mov	esi, ecx
	xor	ebx, ebx
	push	ebx
	mov	DWORD PTR _this$[esp+104], esi
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	mov	eax, 15					; 0000000fH
	mov	DWORD PTR [esi+4], ebx
	mov	DWORD PTR [esi+32], eax
	mov	DWORD PTR [esi+28], ebx
	mov	DWORD PTR __$EHRec$[esp+108], ebx
	mov	BYTE PTR [esi+12], bl
	mov	DWORD PTR [esi+36], ebx
	mov	DWORD PTR [esi+64], eax
	mov	DWORD PTR [esi+60], ebx
	mov	BYTE PTR [esi+44], bl
	mov	DWORD PTR [esi+68], ebx
	mov	DWORD PTR [esi+96], eax
	mov	DWORD PTR [esi+92], ebx
	mov	BYTE PTR [esi+76], bl
	mov	DWORD PTR [esi+100], ebx
	mov	DWORD PTR [esi+128], eax
	mov	DWORD PTR [esi+124], ebx
	mov	BYTE PTR [esi+108], bl

; 76   :         if (_Pch == 0)

	mov	eax, DWORD PTR __Pch$[esp+96]
	cmp	eax, ebx
	mov	BYTE PTR __$EHRec$[esp+108], 4
	jne	SHORT $LN1@Locinfo@2

; 77   :             _THROW_NCEE(runtime_error, "bad locale name");

	push	OFFSET ??_C@_0BA@ELKIONDK@bad?5locale?5name?$AA@
	lea	ecx, DWORD PTR $T69971[esp+104]
	call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
	lea	eax, DWORD PTR $T69971[esp+100]
	push	eax
	lea	ecx, DWORD PTR $T69970[esp+104]
	mov	BYTE PTR __$EHRec$[esp+112], 5
	call	??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::runtime_error::runtime_error
	push	OFFSET __TI2?AVruntime_error@std@@
	lea	ecx, DWORD PTR $T69970[esp+104]
	push	ecx
	call	__CxxThrowException@8
$LN156@Locinfo@2:
$LN1@Locinfo@2:

; 78   :         _Locinfo_ctor(this, _Pch);

	push	eax
	push	esi
	call	?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@PBD@Z ; std::_Locinfo::_Locinfo_ctor

; 79   :         }

	mov	ecx, DWORD PTR __$EHRec$[esp+108]
	add	esp, 8
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 92					; 0000005cH
	ret	4
$LN155@Locinfo@2:
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 4
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$2:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 36					; 00000024H
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$3:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 68					; 00000044H
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$4:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 100				; 00000064H
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$5:
	lea	ecx, DWORD PTR $T69971[ebp]
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$??0_Locinfo@std@@QAE@PBD@Z:
	mov	eax, OFFSET __ehfuncinfo$??0_Locinfo@std@@QAE@PBD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0_Locinfo@std@@QAE@PBD@Z ENDP				; std::_Locinfo::_Locinfo
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0runtime_error@std@@QAE@ABV01@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0runtime_error@std@@QAE@ABV01@@Z$0
__ehfuncinfo$??0runtime_error@std@@QAE@ABV01@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0runtime_error@std@@QAE@ABV01@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0runtime_error@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___that$ = 8						; size = 4
??0runtime_error@std@@QAE@ABV01@@Z PROC			; std::runtime_error::runtime_error, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0runtime_error@std@@QAE@ABV01@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi
	mov	edi, DWORD PTR ___that$[esp+20]
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+28], esi
	call	??0exception@std@@QAE@ABV01@@Z		; std::exception::exception
	add	edi, 12					; 0000000cH
	push	edi
	lea	ecx, DWORD PTR [esi+12]
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR [esi], OFFSET ??_7runtime_error@std@@6B@
	call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0runtime_error@std@@QAE@ABV01@@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1exception@std@@UAE@XZ		; std::exception::~exception
__ehhandler$??0runtime_error@std@@QAE@ABV01@@Z:
	mov	eax, OFFSET __ehfuncinfo$??0runtime_error@std@@QAE@ABV01@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0runtime_error@std@@QAE@ABV01@@Z ENDP			; std::runtime_error::runtime_error
PUBLIC	??_7?$ctype@D@std@@6B@				; std::ctype<char>::`vftable'
PUBLIC	??_C@_01GFHCPBMG@C?$AA@				; `string'
PUBLIC	??0?$ctype@D@std@@QAE@PBF_NI@Z			; std::ctype<char>::ctype<char>
PUBLIC	??_R4?$ctype@D@std@@6B@				; std::ctype<char>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$ctype@D@std@@@8			; std::ctype<char> `RTTI Type Descriptor'
PUBLIC	??_R3?$ctype@D@std@@8				; std::ctype<char>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$ctype@D@std@@8				; std::ctype<char>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$ctype@D@std@@8			; std::ctype<char>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z	; std::ctype<char>::do_tolower
PUBLIC	?do_tolower@?$ctype@D@std@@MBEDD@Z		; std::ctype<char>::do_tolower
PUBLIC	?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z	; std::ctype<char>::do_toupper
PUBLIC	?do_toupper@?$ctype@D@std@@MBEDD@Z		; std::ctype<char>::do_toupper
PUBLIC	?do_widen@?$ctype@D@std@@MBEPBDPBD0PAD@Z	; std::ctype<char>::do_widen
PUBLIC	?do_widen@?$ctype@D@std@@MBEDD@Z		; std::ctype<char>::do_widen
PUBLIC	?_Do_widen_s@?$ctype@D@std@@MBEPBDPBD0PADI@Z	; std::ctype<char>::_Do_widen_s
PUBLIC	?do_narrow@?$ctype@D@std@@MBEPBDPBD0DPAD@Z	; std::ctype<char>::do_narrow
PUBLIC	?do_narrow@?$ctype@D@std@@MBEDDD@Z		; std::ctype<char>::do_narrow
PUBLIC	?_Do_narrow_s@?$ctype@D@std@@MBEPBDPBD0DPADI@Z	; std::ctype<char>::_Do_narrow_s
EXTRN	??_E?$ctype@D@std@@MAEPAXI@Z:PROC		; std::ctype<char>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$ctype@D@std@@8
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
rdata$r	SEGMENT
??_R1A@?0A@EA@?$ctype@D@std@@8 DD FLAT:??_R0?AV?$ctype@D@std@@@8 ; std::ctype<char>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$ctype@D@std@@8
rdata$r	ENDS
;	COMDAT ??_R2?$ctype@D@std@@8
rdata$r	SEGMENT
??_R2?$ctype@D@std@@8 DD FLAT:??_R1A@?0A@EA@?$ctype@D@std@@8 ; std::ctype<char>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ctype_base@std@@8
	DD	FLAT:??_R1A@?0A@EA@facet@locale@std@@8
rdata$r	ENDS
;	COMDAT ??_R3?$ctype@D@std@@8
rdata$r	SEGMENT
??_R3?$ctype@D@std@@8 DD 00H				; std::ctype<char>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2?$ctype@D@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$ctype@D@std@@@8
_DATA	SEGMENT
??_R0?AV?$ctype@D@std@@@8 DD FLAT:??_7type_info@@6B@	; std::ctype<char> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$ctype@D@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$ctype@D@std@@6B@
rdata$r	SEGMENT
??_R4?$ctype@D@std@@6B@ DD 00H				; std::ctype<char>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$ctype@D@std@@@8
	DD	FLAT:??_R3?$ctype@D@std@@8
rdata$r	ENDS
;	COMDAT ??_7?$ctype@D@std@@6B@
CONST	SEGMENT
??_7?$ctype@D@std@@6B@ DD FLAT:??_R4?$ctype@D@std@@6B@	; std::ctype<char>::`vftable'
	DD	FLAT:??_E?$ctype@D@std@@MAEPAXI@Z
	DD	FLAT:?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z
	DD	FLAT:?do_tolower@?$ctype@D@std@@MBEDD@Z
	DD	FLAT:?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z
	DD	FLAT:?do_toupper@?$ctype@D@std@@MBEDD@Z
	DD	FLAT:?do_widen@?$ctype@D@std@@MBEPBDPBD0PAD@Z
	DD	FLAT:?do_widen@?$ctype@D@std@@MBEDD@Z
	DD	FLAT:?_Do_widen_s@?$ctype@D@std@@MBEPBDPBD0PADI@Z
	DD	FLAT:?do_narrow@?$ctype@D@std@@MBEPBDPBD0DPAD@Z
	DD	FLAT:?do_narrow@?$ctype@D@std@@MBEDDD@Z
	DD	FLAT:?_Do_narrow_s@?$ctype@D@std@@MBEPBDPBD0DPADI@Z
CONST	ENDS
;	COMDAT ??_C@_01GFHCPBMG@C?$AA@
CONST	SEGMENT
??_C@_01GFHCPBMG@C?$AA@ DB 'C', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$ctype@D@std@@QAE@PBF_NI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$ctype@D@std@@QAE@PBF_NI@Z$0
__ehfuncinfo$??0?$ctype@D@std@@QAE@PBF_NI@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$ctype@D@std@@QAE@PBF_NI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0?$ctype@D@std@@QAE@PBF_NI@Z
_TEXT	SEGMENT
_this$ = -164						; size = 4
$T70617 = -160						; size = 16
__Lobj$14077 = -144					; size = 132
__$EHRec$ = -12						; size = 12
__Table$ = 8						; size = 4
__Deletetable$ = 12					; size = 1
__Refs$ = 16						; size = 4
??0?$ctype@D@std@@QAE@PBF_NI@Z PROC			; std::ctype<char>::ctype<char>, COMDAT
; _this$ = ecx

; 1739 : 		{	// construct with specified table and delete flag for table

	push	-1
	push	__ehhandler$??0?$ctype@D@std@@QAE@PBF_NI@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 152				; 00000098H
	mov	eax, DWORD PTR __Refs$[esp+160]
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+172], esi
	mov	DWORD PTR [esi+4], eax

; 1740 : 		_BEGIN_LOCINFO(_Lobj)

	push	OFFSET ??_C@_01GFHCPBMG@C?$AA@
	lea	ecx, DWORD PTR __Lobj$14077[esp+176]
	mov	DWORD PTR __$EHRec$[esp+184], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$ctype@D@std@@6B@
	call	??0_Locinfo@std@@QAE@PBD@Z		; std::_Locinfo::_Locinfo

; 1741 : 			_Init(_Lobj);

	lea	ecx, DWORD PTR $T70617[esp+172]
	push	ecx
	call	__Getctype
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR [esi+8], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [esi+12], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR [esi+16], edx
	mov	eax, DWORD PTR [eax+12]
	add	esp, 4

; 1742 : 		_END_LOCINFO()

	lea	ecx, DWORD PTR __Lobj$14077[esp+172]
	mov	DWORD PTR [esi+20], eax
	call	??1_Locinfo@std@@QAE@XZ			; std::_Locinfo::~_Locinfo

; 1743 : 		if (_Table != 0)

	mov	edi, DWORD PTR __Table$[esp+168]
	test	edi, edi
	je	SHORT $LN19@ctype

; 1744 : 			{	// replace existing char to mask table
; 1745 : 			_Tidy();

	mov	eax, DWORD PTR [esi+20]
	test	eax, eax
	jle	SHORT $LN21@ctype
	mov	ecx, DWORD PTR [esi+16]
	push	ecx
	call	_free
	jmp	SHORT $LN22@ctype
$LN21@ctype:
	jge	SHORT $LN14@ctype
	mov	edx, DWORD PTR [esi+16]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
$LN22@ctype:
	add	esp, 4
$LN14@ctype:

; 1746 : 			_Ctype._Table = _Table;
; 1747 : 			_Ctype._Delfl = _Deletetable ? -1 : 0;

	mov	al, BYTE PTR __Deletetable$[esp+168]
	neg	al
	mov	DWORD PTR [esi+16], edi
	sbb	eax, eax
	mov	DWORD PTR [esi+20], eax
$LN19@ctype:

; 1748 : 			}
; 1749 : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+172]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 164				; 000000a4H
	ret	12					; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$ctype@D@std@@QAE@PBF_NI@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1ctype_base@std@@UAE@XZ		; std::ctype_base::~ctype_base
__ehhandler$??0?$ctype@D@std@@QAE@PBF_NI@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$ctype@D@std@@QAE@PBF_NI@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$ctype@D@std@@QAE@PBF_NI@Z ENDP			; std::ctype<char>::ctype<char>
EXTRN	__Tolower:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?do_tolower@?$ctype@D@std@@MBEDD@Z
_TEXT	SEGMENT
__Ch$ = 8						; size = 1
?do_tolower@?$ctype@D@std@@MBEDD@Z PROC			; std::ctype<char>::do_tolower, COMDAT
; _this$ = ecx

; 1788 : 		return ((_Elem)_Tolower((unsigned char)_Ch, &_Ctype));

	movzx	eax, BYTE PTR __Ch$[esp-4]
	add	ecx, 8
	push	ecx
	push	eax
	call	__Tolower
	add	esp, 8

; 1789 : 		}

	ret	4
?do_tolower@?$ctype@D@std@@MBEDD@Z ENDP			; std::ctype<char>::do_tolower
_TEXT	ENDS
EXTRN	__Toupper:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?do_toupper@?$ctype@D@std@@MBEDD@Z
_TEXT	SEGMENT
__Ch$ = 8						; size = 1
?do_toupper@?$ctype@D@std@@MBEDD@Z PROC			; std::ctype<char>::do_toupper, COMDAT
; _this$ = ecx

; 1802 : 		return ((_Elem)_Toupper((unsigned char)_Ch, &_Ctype));

	movzx	eax, BYTE PTR __Ch$[esp-4]
	add	ecx, 8
	push	ecx
	push	eax
	call	__Toupper
	add	esp, 8

; 1803 : 		}

	ret	4
?do_toupper@?$ctype@D@std@@MBEDD@Z ENDP			; std::ctype<char>::do_toupper
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_widen@?$ctype@D@std@@MBEDD@Z
_TEXT	SEGMENT
__Byte$ = 8						; size = 1
?do_widen@?$ctype@D@std@@MBEDD@Z PROC			; std::ctype<char>::do_widen, COMDAT
; _this$ = ecx

; 1816 : 		return (_Byte);

	mov	al, BYTE PTR __Byte$[esp-4]

; 1817 : 		}

	ret	4
?do_widen@?$ctype@D@std@@MBEDD@Z ENDP			; std::ctype<char>::do_widen
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_widen@?$ctype@D@std@@MBEPBDPBD0PAD@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
?do_widen@?$ctype@D@std@@MBEPBDPBD0PAD@Z PROC		; std::ctype<char>::do_widen, COMDAT
; _this$ = ecx

; 1823 : 		// assume there is enough space in _Dest
; 1824 : 		return _Do_widen_s(_First, _Last, _Dest, _Last - _First);

	mov	eax, DWORD PTR __Last$[esp-4]
	mov	edx, DWORD PTR __First$[esp-4]
	push	esi
	mov	esi, DWORD PTR [ecx]
	push	edi
	mov	edi, eax
	sub	edi, edx
	push	edi
	mov	edi, DWORD PTR __Dest$[esp+8]
	push	edi
	push	eax
	mov	eax, DWORD PTR [esi+28]
	push	edx
	call	eax
	pop	edi
	pop	esi

; 1825 : 		}

	ret	12					; 0000000cH
?do_widen@?$ctype@D@std@@MBEPBDPBD0PAD@Z ENDP		; std::ctype<char>::do_widen
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_narrow@?$ctype@D@std@@MBEDDD@Z
_TEXT	SEGMENT
__Ch$ = 8						; size = 1
___formal$ = 12						; size = 1
?do_narrow@?$ctype@D@std@@MBEDDD@Z PROC			; std::ctype<char>::do_narrow, COMDAT
; _this$ = ecx

; 1839 : 		return (_Ch);

	mov	al, BYTE PTR __Ch$[esp-4]

; 1840 : 		}

	ret	8
?do_narrow@?$ctype@D@std@@MBEDDD@Z ENDP			; std::ctype<char>::do_narrow
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_narrow@?$ctype@D@std@@MBEPBDPBD0DPAD@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dflt$ = 16						; size = 1
__Dest$ = 20						; size = 4
?do_narrow@?$ctype@D@std@@MBEPBDPBD0DPAD@Z PROC		; std::ctype<char>::do_narrow, COMDAT
; _this$ = ecx

; 1847 : 		// assume there is enough space in _Dest
; 1848 : 		return _Do_narrow_s(_First, _Last, _Dflt, _Dest, _Last - _First);

	mov	eax, DWORD PTR __Last$[esp-4]
	mov	edx, DWORD PTR __First$[esp-4]
	push	esi
	mov	esi, DWORD PTR [ecx]
	push	edi
	mov	edi, eax
	sub	edi, edx
	push	edi
	mov	edi, DWORD PTR __Dest$[esp+8]
	push	edi
	mov	edi, DWORD PTR __Dflt$[esp+12]
	push	edi
	push	eax
	mov	eax, DWORD PTR [esi+40]
	push	edx
	call	eax
	pop	edi
	pop	esi

; 1849 : 		}

	ret	16					; 00000010H
?do_narrow@?$ctype@D@std@@MBEPBDPBD0DPAD@Z ENDP		; std::ctype<char>::do_narrow
_TEXT	ENDS
PUBLIC	??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z ; std::_Iter_cat<char const *>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xutility
;	COMDAT ??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z PROC ; std::_Iter_cat<char const *>, COMDAT

; 799  : 	typename iterator_traits<_Iter>::iterator_category _Cat;
; 800  : 	return (_Cat);

	mov	eax, DWORD PTR ___$ReturnUdt$[esp-4]

; 801  : 	}

	ret	0
??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z ENDP ; std::_Iter_cat<char const *>
_TEXT	ENDS
PUBLIC	??_C@_1CO@DGLIKNHI@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$AA@ ; `string'
PUBLIC	??$_Debug_range2@PBD@std@@YAXPBD0PB_WIUrandom_access_iterator_tag@0@@Z ; std::_Debug_range2<char const *>
;	COMDAT ??_C@_1CO@DGLIKNHI@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_1CO@DGLIKNHI@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$AA@ DB 'i'
	DB	00H, 'n', 00H, 'v', 00H, 'a', 00H, 'l', 00H, 'i', 00H, 'd', 00H
	DB	' ', 00H, 'i', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'a', 00H, 't'
	DB	00H, 'o', 00H, 'r', 00H, ' ', 00H, 'r', 00H, 'a', 00H, 'n', 00H
	DB	'g', 00H, 'e', 00H, 00H, 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??$_Debug_range2@PBD@std@@YAXPBD0PB_WIUrandom_access_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__File$ = 16						; size = 4
__Line$ = 20						; size = 4
___formal$ = 24						; size = 1
??$_Debug_range2@PBD@std@@YAXPBD0PB_WIUrandom_access_iterator_tag@0@@Z PROC ; std::_Debug_range2<char const *>, COMDAT

; 1393 : 	{	// test iterator pair for valid range, random-access iterators

	push	ebx

; 1394 : 	if (_First != _Last)

	mov	ebx, DWORD PTR __First$[esp]
	push	ebp
	mov	ebp, DWORD PTR __Last$[esp+4]
	cmp	ebx, ebp
	je	SHORT $LN1@Debug_rang

; 1395 : 		{	// check for non-null pointers, valid range
; 1396 : 		_DEBUG_POINTER2(_First, _File, _Line);

	test	ebx, ebx
	push	esi
	mov	esi, DWORD PTR __Line$[esp+8]
	push	edi
	mov	edi, DWORD PTR __File$[esp+12]
	jne	SHORT $LN5@Debug_rang
	push	esi
	push	edi
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN5@Debug_rang:

; 1397 : 		_DEBUG_POINTER2(_Last, _File, _Line);

	test	ebp, ebp
	jne	SHORT $LN8@Debug_rang
	push	esi
	push	edi
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN8@Debug_rang:

; 1398 : 		if (_Last < _First)

	cmp	ebp, ebx
	jae	SHORT $LN11@Debug_rang

; 1399 : 			_DEBUG_ERROR2("invalid iterator range", _File, _Line);

	push	esi
	push	edi
	push	OFFSET ??_C@_1CO@DGLIKNHI@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN11@Debug_rang:
	pop	edi
	pop	esi
$LN1@Debug_rang:
	pop	ebp
	pop	ebx

; 1400 : 		}
; 1401 : 	}

	ret	0
??$_Debug_range2@PBD@std@@YAXPBD0PB_WIUrandom_access_iterator_tag@0@@Z ENDP ; std::_Debug_range2<char const *>
_TEXT	ENDS
PUBLIC	??1?$ctype@D@std@@MAE@XZ			; std::ctype<char>::~ctype<char>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
;	COMDAT ??1?$ctype@D@std@@MAE@XZ
_TEXT	SEGMENT
??1?$ctype@D@std@@MAE@XZ PROC				; std::ctype<char>::~ctype<char>, COMDAT
; _this$ = ecx

; 1768 : 		{	// destroy the object

	push	esi
	mov	esi, ecx

; 1769 : 		_Tidy();

	mov	eax, DWORD PTR [esi+20]
	test	eax, eax
	mov	DWORD PTR [esi], OFFSET ??_7?$ctype@D@std@@6B@
	jle	SHORT $LN14@ctype@2
	mov	eax, DWORD PTR [esi+16]
	push	eax
	call	_free
	add	esp, 4

; 1770 : 		}

	mov	DWORD PTR [esi], OFFSET ??_7facet@locale@std@@6B@
	pop	esi
	ret	0
$LN14@ctype@2:

; 1769 : 		_Tidy();

	jge	SHORT $LN13@ctype@2
	mov	ecx, DWORD PTR [esi+16]
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 4
$LN13@ctype@2:

; 1770 : 		}

	mov	DWORD PTR [esi], OFFSET ??_7facet@locale@std@@6B@
	pop	esi
	ret	0
??1?$ctype@D@std@@MAE@XZ ENDP				; std::ctype<char>::~ctype<char>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ctype@D@std@@MAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ctype@D@std@@MAEPAXI@Z PROC			; std::ctype<char>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+20]
	test	eax, eax
	mov	DWORD PTR [esi], OFFSET ??_7?$ctype@D@std@@6B@
	jle	SHORT $LN21@scalar@32
	mov	eax, DWORD PTR [esi+16]
	push	eax
	call	_free
	jmp	SHORT $LN22@scalar@32
$LN21@scalar@32:
	jge	SHORT $LN6@scalar@32
	mov	ecx, DWORD PTR [esi+16]
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
$LN22@scalar@32:
	add	esp, 4
$LN6@scalar@32:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi], OFFSET ??_7facet@locale@std@@6B@
	je	SHORT $LN20@scalar@32
	push	0
	mov	ecx, esi
	call	DWORD PTR ??_7facet@locale@std@@6B@
	push	esi
	call	_free
	add	esp, 4
$LN20@scalar@32:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ctype@D@std@@MAEPAXI@Z ENDP			; std::ctype<char>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??$_Debug_range@PBD@std@@YAXPBD0PB_WI@Z		; std::_Debug_range<char const *>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xutility
;	COMDAT ??$_Debug_range@PBD@std@@YAXPBD0PB_WI@Z
_TEXT	SEGMENT
$T70740 = -4						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__File$ = 16						; size = 4
__Line$ = 20						; size = 4
??$_Debug_range@PBD@std@@YAXPBD0PB_WI@Z PROC		; std::_Debug_range<char const *>, COMDAT

; 1405 : 	{	// test iterator pair for valid range

	push	ecx

; 1406 : 	_Debug_range2(_First, _Last, _File, _Line, _Iter_cat(_First));

	mov	eax, DWORD PTR $T70740[esp+4]
	mov	ecx, DWORD PTR __Line$[esp]
	mov	edx, DWORD PTR __File$[esp]
	push	eax
	mov	eax, DWORD PTR __Last$[esp+4]
	push	ecx
	mov	ecx, DWORD PTR __First$[esp+8]
	push	edx
	push	eax
	push	ecx
	call	??$_Debug_range2@PBD@std@@YAXPBD0PB_WIUrandom_access_iterator_tag@0@@Z ; std::_Debug_range2<char const *>

; 1407 : 	}

	add	esp, 24					; 00000018H
	ret	0
??$_Debug_range@PBD@std@@YAXPBD0PB_WI@Z ENDP		; std::_Debug_range<char const *>
_TEXT	ENDS
PUBLIC	??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@ ; `string'
;	COMDAT ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
CONST	SEGMENT
??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@ DB 'C'
	DB	00H, ':', 00H, '\', 00H, 'P', 00H, 'r', 00H, 'o', 00H, 'g', 00H
	DB	'r', 00H, 'a', 00H, 'm', 00H, ' ', 00H, 'F', 00H, 'i', 00H, 'l'
	DB	00H, 'e', 00H, 's', 00H, '\', 00H, 'M', 00H, 'i', 00H, 'c', 00H
	DB	'r', 00H, 'o', 00H, 's', 00H, 'o', 00H, 'f', 00H, 't', 00H, ' '
	DB	00H, 'V', 00H, 'i', 00H, 's', 00H, 'u', 00H, 'a', 00H, 'l', 00H
	DB	' ', 00H, 'S', 00H, 't', 00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o'
	DB	00H, ' ', 00H, '8', 00H, '\', 00H, 'V', 00H, 'C', 00H, '\', 00H
	DB	'i', 00H, 'n', 00H, 'c', 00H, 'l', 00H, 'u', 00H, 'd', 00H, 'e'
	DB	00H, '\', 00H, 'x', 00H, 'l', 00H, 'o', 00H, 'c', 00H, 'a', 00H
	DB	'l', 00H, 'e', 00H, 00H, 00H			; `string'
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
CONST	ENDS
;	COMDAT ?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z PROC		; std::ctype<char>::do_tolower, COMDAT
; _this$ = ecx

; 1793 : 		{	// convert [_First, _Last) in place to lower case

	push	ebx

; 1794 : 		_DEBUG_RANGE((const _Elem *)_First, _Last);

	mov	ebx, DWORD PTR __Last$[esp]
	push	esi
	mov	esi, DWORD PTR __First$[esp+4]
	cmp	esi, ebx
	push	edi
	mov	edi, ecx
	je	SHORT $LN23@do_tolower
	test	esi, esi
	jne	SHORT $LN14@do_tolower
	push	1794					; 00000702H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN14@do_tolower:
	test	ebx, ebx
	jne	SHORT $LN17@do_tolower
	push	1794					; 00000702H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN17@do_tolower:
	cmp	ebx, esi
	jae	SHORT $LN22@do_tolower
	push	1794					; 00000702H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CO@DGLIKNHI@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN22@do_tolower:
	add	edi, 8
$LL10@do_tolower:

; 1795 : 		for (; _First != _Last; ++_First)
; 1796 : 			*_First = (_Elem)_Tolower((unsigned char)*_First, &_Ctype);

	movzx	eax, BYTE PTR [esi]
	push	edi
	push	eax
	call	__Tolower
	mov	BYTE PTR [esi], al
	add	esi, 1
	add	esp, 8
	cmp	esi, ebx
	jne	SHORT $LL10@do_tolower
$LN23@do_tolower:
	pop	edi

; 1797 : 		return ((const _Elem *)_First);

	mov	eax, esi
	pop	esi
	pop	ebx

; 1798 : 		}

	ret	8
?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z ENDP		; std::ctype<char>::do_tolower
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z PROC		; std::ctype<char>::do_toupper, COMDAT
; _this$ = ecx

; 1807 : 		{	// convert [_First, _Last) in place to upper case

	push	ebx

; 1808 : 		_DEBUG_RANGE((const _Elem *)_First, _Last);

	mov	ebx, DWORD PTR __Last$[esp]
	push	esi
	mov	esi, DWORD PTR __First$[esp+4]
	cmp	esi, ebx
	push	edi
	mov	edi, ecx
	je	SHORT $LN23@do_toupper
	test	esi, esi
	jne	SHORT $LN14@do_toupper
	push	1808					; 00000710H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN14@do_toupper:
	test	ebx, ebx
	jne	SHORT $LN17@do_toupper
	push	1808					; 00000710H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN17@do_toupper:
	cmp	ebx, esi
	jae	SHORT $LN22@do_toupper
	push	1808					; 00000710H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CO@DGLIKNHI@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN22@do_toupper:
	add	edi, 8
$LL10@do_toupper:

; 1809 : 		for (; _First != _Last; ++_First)
; 1810 : 			*_First = (_Elem)_Toupper((unsigned char)*_First, &_Ctype);

	movzx	eax, BYTE PTR [esi]
	push	edi
	push	eax
	call	__Toupper
	mov	BYTE PTR [esi], al
	add	esi, 1
	add	esp, 8
	cmp	esi, ebx
	jne	SHORT $LL10@do_toupper
$LN23@do_toupper:
	pop	edi

; 1811 : 		return ((const _Elem *)_First);

	mov	eax, esi
	pop	esi
	pop	ebx

; 1812 : 		}

	ret	8
?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z ENDP		; std::ctype<char>::do_toupper
_TEXT	ENDS
PUBLIC	??_C@_1DM@FBIJBEHP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAc?$AAt?$AAy?$AAp?$AAe?$AA?$DM?$AAc?$AAh?$AAa?$AAr?$AA?$DO?$AA?3?$AA?3?$AA_?$AAD?$AAo?$AA_?$AAw?$AAi?$AAd?$AAe?$AAn?$AA_?$AAs?$AA?$AA@ ; `string'
PUBLIC	??_C@_1FM@PEAIHFJH@?$AA?$CI?$AA?$CC?$AA_?$AAD?$AAe?$AAs?$AAt?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?$CI?$AA_?$AAL?$AAa?$AAs?$AAt?$AA?5?$AA?9@ ; `string'
;	COMDAT ??_C@_1DM@FBIJBEHP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAc?$AAt?$AAy?$AAp?$AAe?$AA?$DM?$AAc?$AAh?$AAa?$AAr?$AA?$DO?$AA?3?$AA?3?$AA_?$AAD?$AAo?$AA_?$AAw?$AAi?$AAd?$AAe?$AAn?$AA_?$AAs?$AA?$AA@
; File c:\program files\microsoft visual studio 8\vc\include\xutility
CONST	SEGMENT
??_C@_1DM@FBIJBEHP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAc?$AAt?$AAy?$AAp?$AAe?$AA?$DM?$AAc?$AAh?$AAa?$AAr?$AA?$DO?$AA?3?$AA?3?$AA_?$AAD?$AAo?$AA_?$AAw?$AAi?$AAd?$AAe?$AAn?$AA_?$AAs?$AA?$AA@ DB 's'
	DB	00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, 'c', 00H, 't', 00H
	DB	'y', 00H, 'p', 00H, 'e', 00H, '<', 00H, 'c', 00H, 'h', 00H, 'a'
	DB	00H, 'r', 00H, '>', 00H, ':', 00H, ':', 00H, '_', 00H, 'D', 00H
	DB	'o', 00H, '_', 00H, 'w', 00H, 'i', 00H, 'd', 00H, 'e', 00H, 'n'
	DB	00H, '_', 00H, 's', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1FM@PEAIHFJH@?$AA?$CI?$AA?$CC?$AA_?$AAD?$AAe?$AAs?$AAt?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?$CI?$AA_?$AAL?$AAa?$AAs?$AAt?$AA?5?$AA?9@
CONST	SEGMENT
??_C@_1FM@PEAIHFJH@?$AA?$CI?$AA?$CC?$AA_?$AAD?$AAe?$AAs?$AAt?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?$CI?$AA_?$AAL?$AAa?$AAs?$AAt?$AA?5?$AA?9@ DB '('
	DB	00H, '"', 00H, '_', 00H, 'D', 00H, 'e', 00H, 's', 00H, 't', 00H
	DB	'_', 00H, 's', 00H, 'i', 00H, 'z', 00H, 'e', 00H, ' ', 00H, '>'
	DB	00H, '=', 00H, ' ', 00H, '(', 00H, 's', 00H, 'i', 00H, 'z', 00H
	DB	'e', 00H, '_', 00H, 't', 00H, ')', 00H, '(', 00H, '_', 00H, 'L'
	DB	00H, 'a', 00H, 's', 00H, 't', 00H, ' ', 00H, '-', 00H, ' ', 00H
	DB	'_', 00H, 'F', 00H, 'i', 00H, 'r', 00H, 's', 00H, 't', 00H, ')'
	DB	00H, '"', 00H, ',', 00H, ' ', 00H, '0', 00H, ')', 00H, 00H, 00H ; `string'
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
CONST	ENDS
;	COMDAT ?_Do_widen_s@?$ctype@D@std@@MBEPBDPBD0PADI@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Dest_size$ = 20					; size = 4
?_Do_widen_s@?$ctype@D@std@@MBEPBDPBD0PADI@Z PROC	; std::ctype<char>::_Do_widen_s, COMDAT
; _this$ = ecx

; 1829 : 		{	// widen chars in [_First, _Last)

	push	ebx

; 1830 : 		_DEBUG_RANGE(_First, _Last);

	mov	ebx, DWORD PTR __Last$[esp]
	push	ebp
	push	esi
	push	edi
	mov	edi, DWORD PTR __First$[esp+12]
	cmp	edi, ebx
	je	SHORT $LN23@Do_widen_s
	test	edi, edi
	jne	SHORT $LN22@Do_widen_s
	push	1830					; 00000726H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN22@Do_widen_s:
	test	ebx, ebx
	jne	SHORT $LN24@Do_widen_s
	push	1830					; 00000726H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN24@Do_widen_s:
	cmp	ebx, edi
	jae	SHORT $LN23@Do_widen_s
	push	1830					; 00000726H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CO@DGLIKNHI@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN23@Do_widen_s:

; 1831 : 		_DEBUG_POINTER(_Dest);

	cmp	DWORD PTR __Dest$[esp+12], 0
	jne	SHORT $LN19@Do_widen_s
	push	1831					; 00000727H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN19@Do_widen_s:

; 1832 : 		_SCL_SECURE_ALWAYS_VALIDATE_RANGE(_Dest_size >= (size_t)(_Last - _First));

	mov	ebp, DWORD PTR __Dest_size$[esp+12]
	mov	esi, ebx
	sub	esi, edi
	cmp	ebp, esi
	jae	SHORT $LN1@Do_widen_s
	push	OFFSET ??_C@_1FM@PEAIHFJH@?$AA?$CI?$AA?$CC?$AA_?$AAD?$AAe?$AAs?$AAt?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?$CI?$AA_?$AAL?$AAa?$AAs?$AAt?$AA?5?$AA?9@
	push	0
	push	1832					; 00000728H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	2
	call	__CrtDbgReportW
	add	esp, 20					; 00000014H
	cmp	eax, 1
	jne	SHORT $LN4@Do_widen_s
	int	3
$LN4@Do_widen_s:
	push	0
	push	1832					; 00000728H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1DM@FBIJBEHP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAc?$AAt?$AAy?$AAp?$AAe?$AA?$DM?$AAc?$AAh?$AAa?$AAr?$AA?$DO?$AA?3?$AA?3?$AA_?$AAD?$AAo?$AA_?$AAw?$AAi?$AAd?$AAe?$AAn?$AA_?$AAs?$AA?$AA@
	push	OFFSET ??_C@_1BO@MEPPHOO@?$AA?$CC?$AAo?$AAu?$AAt?$AA?5?$AAo?$AAf?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$CC?$AA?$AA@
	call	__invalid_parameter
	add	esp, 20					; 00000014H
$LN1@Do_widen_s:

; 1833 : 		_CRT_SECURE_MEMCPY(_Dest, _Dest_size, _First, _Last - _First);

	mov	eax, DWORD PTR __Dest$[esp+12]
	push	esi
	push	edi
	push	ebp
	push	eax
	call	_memcpy_s
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp

; 1834 : 		return (_Last);

	mov	eax, ebx
	pop	ebx

; 1835 : 		}

	ret	16					; 00000010H
?_Do_widen_s@?$ctype@D@std@@MBEPBDPBD0PADI@Z ENDP	; std::ctype<char>::_Do_widen_s
_TEXT	ENDS
PUBLIC	??_C@_1DO@DNILJADM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAc?$AAt?$AAy?$AAp?$AAe?$AA?$DM?$AAc?$AAh?$AAa?$AAr?$AA?$DO?$AA?3?$AA?3?$AA_?$AAD?$AAo?$AA_?$AAn?$AAa?$AAr?$AAr?$AAo?$AAw?$AA_?$AAs?$AA?$AA@ ; `string'
;	COMDAT ??_C@_1DO@DNILJADM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAc?$AAt?$AAy?$AAp?$AAe?$AA?$DM?$AAc?$AAh?$AAa?$AAr?$AA?$DO?$AA?3?$AA?3?$AA_?$AAD?$AAo?$AA_?$AAn?$AAa?$AAr?$AAr?$AAo?$AAw?$AA_?$AAs?$AA?$AA@
; File c:\program files\microsoft visual studio 8\vc\include\xutility
CONST	SEGMENT
??_C@_1DO@DNILJADM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAc?$AAt?$AAy?$AAp?$AAe?$AA?$DM?$AAc?$AAh?$AAa?$AAr?$AA?$DO?$AA?3?$AA?3?$AA_?$AAD?$AAo?$AA_?$AAn?$AAa?$AAr?$AAr?$AAo?$AAw?$AA_?$AAs?$AA?$AA@ DB 's'
	DB	00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, 'c', 00H, 't', 00H
	DB	'y', 00H, 'p', 00H, 'e', 00H, '<', 00H, 'c', 00H, 'h', 00H, 'a'
	DB	00H, 'r', 00H, '>', 00H, ':', 00H, ':', 00H, '_', 00H, 'D', 00H
	DB	'o', 00H, '_', 00H, 'n', 00H, 'a', 00H, 'r', 00H, 'r', 00H, 'o'
	DB	00H, 'w', 00H, '_', 00H, 's', 00H, 00H, 00H	; `string'
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
CONST	ENDS
;	COMDAT ?_Do_narrow_s@?$ctype@D@std@@MBEPBDPBD0DPADI@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
___formal$ = 16						; size = 1
__Dest$ = 20						; size = 4
__Dest_size$ = 24					; size = 4
?_Do_narrow_s@?$ctype@D@std@@MBEPBDPBD0DPADI@Z PROC	; std::ctype<char>::_Do_narrow_s, COMDAT
; _this$ = ecx

; 1854 : 		{	// narrow elements in [_First, _Last) to chars

	push	ebx

; 1855 : 		_DEBUG_RANGE(_First, _Last);

	mov	ebx, DWORD PTR __Last$[esp]
	push	ebp
	push	esi
	push	edi
	mov	edi, DWORD PTR __First$[esp+12]
	cmp	edi, ebx
	je	SHORT $LN23@Do_narrow_
	test	edi, edi
	jne	SHORT $LN22@Do_narrow_
	push	1855					; 0000073fH
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN22@Do_narrow_:
	test	ebx, ebx
	jne	SHORT $LN24@Do_narrow_
	push	1855					; 0000073fH
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN24@Do_narrow_:
	cmp	ebx, edi
	jae	SHORT $LN23@Do_narrow_
	push	1855					; 0000073fH
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CO@DGLIKNHI@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN23@Do_narrow_:

; 1856 : 		_DEBUG_POINTER(_Dest);

	cmp	DWORD PTR __Dest$[esp+12], 0
	jne	SHORT $LN19@Do_narrow_
	push	1856					; 00000740H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN19@Do_narrow_:

; 1857 : 		_SCL_SECURE_ALWAYS_VALIDATE_RANGE(_Dest_size >= (size_t)(_Last - _First));

	mov	ebp, DWORD PTR __Dest_size$[esp+12]
	mov	esi, ebx
	sub	esi, edi
	cmp	ebp, esi
	jae	SHORT $LN1@Do_narrow_
	push	OFFSET ??_C@_1FM@PEAIHFJH@?$AA?$CI?$AA?$CC?$AA_?$AAD?$AAe?$AAs?$AAt?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?$CI?$AA_?$AAL?$AAa?$AAs?$AAt?$AA?5?$AA?9@
	push	0
	push	1857					; 00000741H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	2
	call	__CrtDbgReportW
	add	esp, 20					; 00000014H
	cmp	eax, 1
	jne	SHORT $LN4@Do_narrow_
	int	3
$LN4@Do_narrow_:
	push	0
	push	1857					; 00000741H
	push	OFFSET ??_C@_1HM@EIFAJCOL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1DO@DNILJADM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAc?$AAt?$AAy?$AAp?$AAe?$AA?$DM?$AAc?$AAh?$AAa?$AAr?$AA?$DO?$AA?3?$AA?3?$AA_?$AAD?$AAo?$AA_?$AAn?$AAa?$AAr?$AAr?$AAo?$AAw?$AA_?$AAs?$AA?$AA@
	push	OFFSET ??_C@_1BO@MEPPHOO@?$AA?$CC?$AAo?$AAu?$AAt?$AA?5?$AAo?$AAf?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?$CC?$AA?$AA@
	call	__invalid_parameter
	add	esp, 20					; 00000014H
$LN1@Do_narrow_:

; 1858 : 		_CRT_SECURE_MEMCPY(_Dest, _Dest_size, _First, _Last - _First);

	mov	eax, DWORD PTR __Dest$[esp+12]
	push	esi
	push	edi
	push	ebp
	push	eax
	call	_memcpy_s
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp

; 1859 : 		return (_Last);

	mov	eax, ebx
	pop	ebx

; 1860 : 		}

	ret	20					; 00000014H
?_Do_narrow_s@?$ctype@D@std@@MBEPBDPBD0DPADI@Z ENDP	; std::ctype<char>::_Do_narrow_s
_TEXT	ENDS
PUBLIC	??_C@_0DO@OEECDFDJ@C?3?2Program?5Files?2Microsoft?5Visua@ ; `string'
PUBLIC	?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z ; std::ctype<char>::_Getcat
;	COMDAT ??_C@_0DO@OEECDFDJ@C?3?2Program?5Files?2Microsoft?5Visua@
CONST	SEGMENT
??_C@_0DO@OEECDFDJ@C?3?2Program?5Files?2Microsoft?5Visua@ DB 'C:\Program '
	DB	'Files\Microsoft Visual Studio 8\VC\include\xlocale', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z$0
__ehfuncinfo$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z
_TEXT	SEGMENT
$T70961 = -16						; size = 4
__$EHRec$ = -12						; size = 12
$T70962 = 8						; size = 4
__Ppf$ = 8						; size = 4
?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z PROC	; std::ctype<char>::_Getcat, COMDAT

; 1758 : 		{	// construct from specified locale

	push	-1
	push	__ehhandler$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi

; 1759 : 		if (_Ppf != 0 && *_Ppf == 0)

	mov	esi, DWORD PTR __Ppf$[esp+16]
	test	esi, esi
	je	SHORT $LN10@Getcat
	cmp	DWORD PTR [esi], 0
	jne	SHORT $LN10@Getcat

; 1760 : 			*_Ppf = _NEW_CRT ctype<_Elem>;

	call	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ ; std::_DebugHeapTag_func
	push	1760					; 000006e0H
	push	OFFSET ??_C@_0DO@OEECDFDJ@C?3?2Program?5Files?2Microsoft?5Visua@
	push	eax
	push	24					; 00000018H
	mov	DWORD PTR $T70962[esp+32], eax
	call	??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z ; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70961[esp+20], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+28], 0
	je	SHORT $LN4@Getcat
	push	0
	push	0
	push	0
	mov	ecx, eax
	call	??0?$ctype@D@std@@QAE@PBF_NI@Z		; std::ctype<char>::ctype<char>
	jmp	SHORT $LN5@Getcat
$LN4@Getcat:
	xor	eax, eax
$LN5@Getcat:
	mov	DWORD PTR [esi], eax
$LN10@Getcat:

; 1761 : 		return (_X_CTYPE);
; 1762 : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, 2
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z$0:
	push	1760					; 000006e0H
	push	OFFSET ??_C@_0DO@OEECDFDJ@C?3?2Program?5Files?2Microsoft?5Visua@
	mov	eax, DWORD PTR $T70962[ebp-4]
	push	eax
	mov	ecx, DWORD PTR $T70961[ebp]
	push	ecx
	call	??3facet@locale@std@@SAXPAXABU_DebugHeapTag_t@2@PADH@Z ; std::locale::facet::operator delete
	add	esp, 16					; 00000010H
	ret	0
__ehhandler$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z:
	mov	eax, OFFSET __ehfuncinfo$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z ENDP	; std::ctype<char>::_Getcat
PUBLIC	??_C@_0BF@OOHOMBOF@ios_base?3?3eofbit?5set?$AA@	; `string'
PUBLIC	??_C@_0BG@FMKFHCIL@ios_base?3?3failbit?5set?$AA@ ; `string'
PUBLIC	__TI3?AVfailure@ios_base@std@@
PUBLIC	??_C@_0BF@PHHKMMFD@ios_base?3?3badbit?5set?$AA@	; `string'
PUBLIC	?clear@ios_base@std@@QAEXH_N@Z			; std::ios_base::clear
PUBLIC	__CTA3?AVfailure@ios_base@std@@
PUBLIC	__CT??_R0?AVfailure@ios_base@std@@@8??0failure@ios_base@std@@QAE@ABV012@@Z44
PUBLIC	??0failure@ios_base@std@@QAE@ABV012@@Z		; std::ios_base::failure::failure
;	COMDAT __CT??_R0?AVfailure@ios_base@std@@@8??0failure@ios_base@std@@QAE@ABV012@@Z44
; File c:\program files\microsoft visual studio 8\vc\include\stdexcept
xdata$x	SEGMENT
__CT??_R0?AVfailure@ios_base@std@@@8??0failure@ios_base@std@@QAE@ABV012@@Z44 DD 00H
	DD	FLAT:??_R0?AVfailure@ios_base@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	02cH
	DD	FLAT:??0failure@ios_base@std@@QAE@ABV012@@Z
xdata$x	ENDS
;	COMDAT __CTA3?AVfailure@ios_base@std@@
xdata$x	SEGMENT
__CTA3?AVfailure@ios_base@std@@ DD 03H
	DD	FLAT:__CT??_R0?AVfailure@ios_base@std@@@8??0failure@ios_base@std@@QAE@ABV012@@Z44
	DD	FLAT:__CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z44
	DD	FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x	ENDS
;	COMDAT ??_C@_0BF@OOHOMBOF@ios_base?3?3eofbit?5set?$AA@
CONST	SEGMENT
??_C@_0BF@OOHOMBOF@ios_base?3?3eofbit?5set?$AA@ DB 'ios_base::eofbit set', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@FMKFHCIL@ios_base?3?3failbit?5set?$AA@
CONST	SEGMENT
??_C@_0BG@FMKFHCIL@ios_base?3?3failbit?5set?$AA@ DB 'ios_base::failbit se'
	DB	't', 00H					; `string'
CONST	ENDS
;	COMDAT __TI3?AVfailure@ios_base@std@@
xdata$x	SEGMENT
__TI3?AVfailure@ios_base@std@@ DD 00H
	DD	FLAT:??1failure@ios_base@std@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA3?AVfailure@ios_base@std@@
xdata$x	ENDS
;	COMDAT ??_C@_0BF@PHHKMMFD@ios_base?3?3badbit?5set?$AA@
CONST	SEGMENT
??_C@_0BF@PHHKMMFD@ios_base?3?3badbit?5set?$AA@ DB 'ios_base::badbit set', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?clear@ios_base@std@@QAEXH_N@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?clear@ios_base@std@@QAEXH_N@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?clear@ios_base@std@@QAEXH_N@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$4
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$7
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$2
	DD	04H
	DD	FLAT:__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$10
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xiosbase
xdata$x	ENDS
;	COMDAT ?clear@ios_base@std@@QAEXH_N@Z
_TEXT	SEGMENT
$T70982 = -164						; size = 44
$T70980 = -164						; size = 44
$T70983 = -120						; size = 32
$T70981 = -120						; size = 32
$T70984 = -88						; size = 44
$T70985 = -44						; size = 32
__$EHRec$ = -12						; size = 12
__State$ = 8						; size = 4
__Reraise$ = 12						; size = 1
?clear@ios_base@std@@QAEXH_N@Z PROC			; std::ios_base::clear, COMDAT
; _this$ = ecx

; 273  :         {	// set state, possibly reraise exception

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?clear@ios_base@std@@QAEXH_N@Z
	push	eax

; 274  :         _Mystate = (iostate)(_State & _Statmask);

	mov	eax, DWORD PTR __State$[esp+8]
	mov	DWORD PTR fs:0, esp
	and	eax, 23					; 00000017H
	mov	DWORD PTR [ecx+8], eax

; 275  :         if ((_Mystate & _Except) == 0)

	mov	ecx, DWORD PTR [ecx+12]
	sub	esp, 152				; 00000098H
	and	ecx, eax
	je	$LN1@clear

; 276  :             ;
; 277  :         else if (_Reraise)

	cmp	BYTE PTR __Reraise$[esp+160], 0
	je	SHORT $LN6@clear

; 278  :             _RERAISE;

	push	0
	push	0
	call	__CxxThrowException@8
$LN37@clear:
$LN6@clear:

; 279  :         else if (_Mystate & _Except & badbit)

	test	cl, 4
	je	SHORT $LN4@clear

; 280  :             _THROW_NCEE(failure, "ios_base::badbit set");

	push	OFFSET ??_C@_0BF@PHHKMMFD@ios_base?3?3badbit?5set?$AA@
	lea	ecx, DWORD PTR $T70981[esp+168]
	call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
	lea	ecx, DWORD PTR $T70980[esp+164]
	mov	DWORD PTR __$EHRec$[esp+172], 0
	call	??0exception@std@@QAE@XZ		; std::exception::exception
	lea	eax, DWORD PTR $T70981[esp+164]
	push	eax
	lea	ecx, DWORD PTR $T70980[esp+180]
	mov	BYTE PTR __$EHRec$[esp+176], 1
	mov	DWORD PTR $T70980[esp+168], OFFSET ??_7runtime_error@std@@6B@
	call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
	push	OFFSET __TI3?AVfailure@ios_base@std@@
	lea	ecx, DWORD PTR $T70980[esp+168]
	push	ecx
	mov	BYTE PTR __$EHRec$[esp+180], 0
	mov	DWORD PTR $T70980[esp+172], OFFSET ??_7failure@ios_base@std@@6B@
	call	__CxxThrowException@8
$LN38@clear:
$LN4@clear:

; 281  :         else if (_Mystate & _Except & failbit)

	test	cl, 2
	je	SHORT $LN2@clear

; 282  :             _THROW_NCEE(failure, "ios_base::failbit set");

	push	OFFSET ??_C@_0BG@FMKFHCIL@ios_base?3?3failbit?5set?$AA@
	lea	ecx, DWORD PTR $T70983[esp+168]
	call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
	lea	ecx, DWORD PTR $T70982[esp+164]
	mov	DWORD PTR __$EHRec$[esp+172], 2
	call	??0exception@std@@QAE@XZ		; std::exception::exception
	lea	edx, DWORD PTR $T70983[esp+164]
	push	edx
	lea	ecx, DWORD PTR $T70982[esp+180]
	mov	BYTE PTR __$EHRec$[esp+176], 3
	mov	DWORD PTR $T70982[esp+168], OFFSET ??_7runtime_error@std@@6B@
	call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
	push	OFFSET __TI3?AVfailure@ios_base@std@@
	lea	eax, DWORD PTR $T70982[esp+168]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+180], 2
	mov	DWORD PTR $T70982[esp+172], OFFSET ??_7failure@ios_base@std@@6B@
	call	__CxxThrowException@8
$LN39@clear:
$LN2@clear:

; 283  :         else
; 284  :             _THROW_NCEE(failure, "ios_base::eofbit set");

	push	OFFSET ??_C@_0BF@OOHOMBOF@ios_base?3?3eofbit?5set?$AA@
	lea	ecx, DWORD PTR $T70985[esp+168]
	call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
	lea	ecx, DWORD PTR $T70984[esp+164]
	mov	DWORD PTR __$EHRec$[esp+172], 4
	call	??0exception@std@@QAE@XZ		; std::exception::exception
	lea	ecx, DWORD PTR $T70985[esp+164]
	push	ecx
	lea	ecx, DWORD PTR $T70984[esp+180]
	mov	BYTE PTR __$EHRec$[esp+176], 5
	mov	DWORD PTR $T70984[esp+168], OFFSET ??_7runtime_error@std@@6B@
	call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
	push	OFFSET __TI3?AVfailure@ios_base@std@@
	lea	edx, DWORD PTR $T70984[esp+168]
	push	edx
	mov	BYTE PTR __$EHRec$[esp+180], 4
	mov	DWORD PTR $T70984[esp+172], OFFSET ??_7failure@ios_base@std@@6B@
	call	__CxxThrowException@8
$LN40@clear:
$LN1@clear:

; 285  :         }

	mov	ecx, DWORD PTR __$EHRec$[esp+164]
	mov	DWORD PTR fs:0, ecx
	add	esp, 164				; 000000a4H
	ret	8
$LN36@clear:
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$0:
	lea	ecx, DWORD PTR $T70981[ebp]
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$4:
	lea	ecx, DWORD PTR $T70980[ebp]
	jmp	??1exception@std@@UAE@XZ		; std::exception::~exception
__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$1:
	lea	ecx, DWORD PTR $T70983[ebp]
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$7:
	lea	ecx, DWORD PTR $T70982[ebp]
	jmp	??1exception@std@@UAE@XZ		; std::exception::~exception
__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$2:
	lea	ecx, DWORD PTR $T70985[ebp]
	jmp	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?clear@ios_base@std@@QAEXH_N@Z$10:
	lea	ecx, DWORD PTR $T70984[ebp]
	jmp	??1exception@std@@UAE@XZ		; std::exception::~exception
__ehhandler$?clear@ios_base@std@@QAEXH_N@Z:
	mov	eax, OFFSET __ehfuncinfo$?clear@ios_base@std@@QAEXH_N@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?clear@ios_base@std@@QAEXH_N@Z ENDP			; std::ios_base::clear
; Function compile flags: /Ogtpy
;	COMDAT ??0failure@ios_base@std@@QAE@ABV012@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0failure@ios_base@std@@QAE@ABV012@@Z PROC		; std::ios_base::failure::failure, COMDAT
; _this$ = ecx
	mov	eax, DWORD PTR ___that$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0runtime_error@std@@QAE@ABV01@@Z
	mov	DWORD PTR [esi], OFFSET ??_7failure@ios_base@std@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0failure@ios_base@std@@QAE@ABV012@@Z ENDP		; std::ios_base::failure::failure
_TEXT	ENDS
PUBLIC	?clear@ios_base@std@@QAEXH@Z			; std::ios_base::clear
; Function compile flags: /Ogtpy
;	COMDAT ?clear@ios_base@std@@QAEXH@Z
_TEXT	SEGMENT
__State$ = 8						; size = 4
?clear@ios_base@std@@QAEXH@Z PROC			; std::ios_base::clear, COMDAT
; _this$ = ecx

; 289  : 		clear(_State, false);

	mov	eax, DWORD PTR __State$[esp-4]
	push	0
	push	eax
	call	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear

; 290  : 		}

	ret	4
?clear@ios_base@std@@QAEXH@Z ENDP			; std::ios_base::clear
_TEXT	ENDS
PUBLIC	??_C@_0DP@KBDMCEOP@C?3?2Program?5Files?2Microsoft?5Visua@ ; `string'
PUBLIC	?_Init@ios_base@std@@IAEXXZ			; std::ios_base::_Init
;	COMDAT ??_C@_0DP@KBDMCEOP@C?3?2Program?5Files?2Microsoft?5Visua@
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
CONST	SEGMENT
??_C@_0DP@KBDMCEOP@C?3?2Program?5Files?2Microsoft?5Visua@ DB 'C:\Program '
	DB	'Files\Microsoft Visual Studio 8\VC\include\xiosbase', 00H ; `string'
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xiosbase
CONST	ENDS
;	COMDAT ?_Init@ios_base@std@@IAEXXZ
_TEXT	SEGMENT
__Lock$71060 = -4					; size = 4
?_Init@ios_base@std@@IAEXXZ PROC			; std::ios_base::_Init, COMDAT
; _this$ = ecx

; 503  :         {	// initialize a new ios_base

	push	ecx
	push	ebp
	push	esi

; 504  :         _Ploc = 0;

	xor	ebp, ebp
	mov	esi, ecx
	push	edi

; 505  :         _Except = goodbit;
; 506  :         _Fmtfl = skipws | dec;
; 507  :         _Prec = 6;
; 508  :         _Wide = 0;
; 509  :         _Arr = 0;
; 510  :         _Calls = 0;
; 511  :         clear(goodbit);

	push	ebp
	push	ebp
	mov	DWORD PTR [esi+36], ebp
	mov	DWORD PTR [esi+12], ebp
	mov	DWORD PTR [esi+16], 513			; 00000201H
	mov	DWORD PTR [esi+20], 6
	mov	DWORD PTR [esi+24], ebp
	mov	DWORD PTR [esi+28], ebp
	mov	DWORD PTR [esi+32], ebp
	call	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear

; 512  :         _Ploc = _NEW_CRT locale;

	push	512					; 00000200H
	push	OFFSET ??_C@_0DP@KBDMCEOP@C?3?2Program?5Files?2Microsoft?5Visua@
	call	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ ; std::_DebugHeapTag_func
	push	eax
	push	4
	call	??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z ; operator new
	mov	edi, eax
	add	esp, 16					; 00000010H
	cmp	edi, ebp
	je	SHORT $LN3@Init@2
	push	ebx
	call	?_Init@locale@std@@CAPAV_Locimp@12@XZ	; std::locale::_Init
	mov	DWORD PTR [edi], eax
	call	?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ ; std::locale::_Getgloballocale
	push	ebp
	lea	ecx, DWORD PTR __Lock$71060[esp+24]
	mov	ebx, eax
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	mov	eax, DWORD PTR [ebx+4]
	cmp	eax, -1
	jae	SHORT $LN9@Init@2
	add	eax, 1
	mov	DWORD PTR [ebx+4], eax
$LN9@Init@2:
	lea	ecx, DWORD PTR __Lock$71060[esp+20]
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	pop	ebx
	mov	DWORD PTR [esi+36], edi
	pop	edi
	pop	esi
	pop	ebp

; 513  :         }

	pop	ecx
	ret	0
$LN3@Init@2:
	pop	edi

; 512  :         _Ploc = _NEW_CRT locale;

	mov	DWORD PTR [esi+36], ebp
	pop	esi
	pop	ebp

; 513  :         }

	pop	ecx
	ret	0
?_Init@ios_base@std@@IAEXXZ ENDP			; std::ios_base::_Init
_TEXT	ENDS
PUBLIC	??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_filebuf<char,std::char_traits<char> >::~basic_filebuf<char,std::char_traits<char> >
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\xmemory
xdata$x	SEGMENT
__unwindtable$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ$0
__ehfuncinfo$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
xdata$x	ENDS
;	COMDAT ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ PROC ; std::basic_filebuf<char,std::char_traits<char> >::~basic_filebuf<char,std::char_traits<char> >, COMDAT
; _this$ = ecx

; 118  : 		{	// destroy the object

	push	-1
	push	__ehhandler$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	mov	DWORD PTR [esi], OFFSET ??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@

; 119  : 		if (_Closef)

	cmp	BYTE PTR [esi+72], 0
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN1@basic_file@2

; 120  : 			close();

	call	?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ ; std::basic_filebuf<char,std::char_traits<char> >::close
$LN1@basic_file@2:

; 121  : 		}

	mov	edi, DWORD PTR [esi+56]
	test	edi, edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@
	je	SHORT $LN8@basic_file@2
	mov	ecx, edi
	call	??1locale@std@@QAE@XZ			; std::locale::~locale
	push	edi
	call	_free
	add	esp, 4
$LN8@basic_file@2:
	lea	ecx, DWORD PTR [esi+4]
	call	??1_Mutex@std@@QAE@XZ			; std::_Mutex::~_Mutex
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_streambuf<char,std::char_traits<char> >::~basic_streambuf<char,std::char_traits<char> >
__ehhandler$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ ENDP ; std::basic_filebuf<char,std::char_traits<char> >::~basic_filebuf<char,std::char_traits<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??_G?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z PROC ; std::basic_filebuf<char,std::char_traits<char> >::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_filebuf<char,std::char_traits<char> >::~basic_filebuf<char,std::char_traits<char> >
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@33
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@33:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z ENDP ; std::basic_filebuf<char,std::char_traits<char> >::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z ; std::basic_ios<char,std::char_traits<char> >::clear
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\ios
;	COMDAT ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z
_TEXT	SEGMENT
__State$ = 8						; size = 4
__Reraise$ = 12						; size = 1
?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z PROC ; std::basic_ios<char,std::char_traits<char> >::clear, COMDAT
; _this$ = ecx

; 43   : 		ios_base::clear((iostate)(_Mystrbuf == 0
; 44   : 			? (int)_State | (int)badbit : (int)_State), _Reraise);

	cmp	DWORD PTR [ecx+40], 0
	mov	eax, DWORD PTR __State$[esp-4]
	jne	SHORT $LN4@clear@2
	or	eax, 4
$LN4@clear@2:
	mov	DWORD PTR __State$[esp-4], eax
	jmp	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear
?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z ENDP ; std::basic_ios<char,std::char_traits<char> >::clear
_TEXT	ENDS
PUBLIC	__TI2?AVbad_cast@std@@
PUBLIC	??_C@_08EPJLHIJG@bad?5cast?$AA@			; `string'
PUBLIC	?_Psave@?$_Facetptr@V?$ctype@D@std@@@std@@2PBVfacet@locale@2@B ; std::_Facetptr<std::ctype<char> >::_Psave
PUBLIC	??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z ; std::use_facet<std::ctype<char> >
PUBLIC	__CTA2?AVbad_cast@std@@
PUBLIC	__CT??_R0?AVbad_cast@std@@@8??0bad_cast@std@@QAE@ABV01@@Z12
PUBLIC	??_R0?AVbad_cast@std@@@8			; std::bad_cast `RTTI Type Descriptor'
EXTRN	??0bad_cast@std@@QAE@PBD@Z:PROC			; std::bad_cast::bad_cast
EXTRN	?id@?$ctype@D@std@@2V0locale@2@A:DWORD		; std::ctype<char>::id
EXTRN	??1bad_cast@std@@UAE@XZ:PROC			; std::bad_cast::~bad_cast
EXTRN	??0bad_cast@std@@QAE@ABV01@@Z:PROC		; std::bad_cast::bad_cast
;	COMDAT ?_Psave@?$_Facetptr@V?$ctype@D@std@@@std@@2PBVfacet@locale@2@B
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
_BSS	SEGMENT
?_Psave@?$_Facetptr@V?$ctype@D@std@@@std@@2PBVfacet@locale@2@B DD 01H DUP (?) ; std::_Facetptr<std::ctype<char> >::_Psave
_BSS	ENDS
;	COMDAT ??_R0?AVbad_cast@std@@@8
_DATA	SEGMENT
??_R0?AVbad_cast@std@@@8 DD FLAT:??_7type_info@@6B@	; std::bad_cast `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVbad_cast@std@@', 00H
_DATA	ENDS
;	COMDAT __CT??_R0?AVbad_cast@std@@@8??0bad_cast@std@@QAE@ABV01@@Z12
xdata$x	SEGMENT
__CT??_R0?AVbad_cast@std@@@8??0bad_cast@std@@QAE@ABV01@@Z12 DD 00H
	DD	FLAT:??_R0?AVbad_cast@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0bad_cast@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CTA2?AVbad_cast@std@@
xdata$x	SEGMENT
__CTA2?AVbad_cast@std@@ DD 02H
	DD	FLAT:__CT??_R0?AVbad_cast@std@@@8??0bad_cast@std@@QAE@ABV01@@Z12
	DD	FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x	ENDS
;	COMDAT __TI2?AVbad_cast@std@@
xdata$x	SEGMENT
__TI2?AVbad_cast@std@@ DD 00H
	DD	FLAT:??1bad_cast@std@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA2?AVbad_cast@std@@
xdata$x	ENDS
;	COMDAT ??_C@_08EPJLHIJG@bad?5cast?$AA@
CONST	SEGMENT
??_C@_08EPJLHIJG@bad?5cast?$AA@ DB 'bad cast', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z$0
__ehfuncinfo$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z
_TEXT	SEGMENT
__Psave$60382 = -36					; size = 4
__Lock$71116 = -32					; size = 4
__Lock$60381 = -28					; size = 4
$T71108 = -24						; size = 12
__$EHRec$ = -12						; size = 12
__Loc$ = 8						; size = 4
??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z PROC ; std::use_facet<std::ctype<char> >, COMDAT

; 466  : 	{	// get facet reference from locale

	push	-1
	push	__ehhandler$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	ebx
	push	esi
	push	edi

; 467  : 	_BEGIN_LOCK(_LOCK_LOCALE)	// the thread lock, make get atomic

	push	0
	lea	ecx, DWORD PTR __Lock$60381[esp+52]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit

; 468  : 		const locale::facet *_Psave =
; 469  : 			_Facetptr<_Facet>::_Psave;	// static pointer to lazy facet
; 470  : 
; 471  : 		size_t _Id = _Facet::id;

	cmp	DWORD PTR ?id@?$ctype@D@std@@2V0locale@2@A, 0 ; std::ctype<char>::id
	mov	ebx, DWORD PTR ?_Psave@?$_Facetptr@V?$ctype@D@std@@@std@@2PBVfacet@locale@2@B ; std::_Facetptr<std::ctype<char> >::_Psave
	mov	DWORD PTR __$EHRec$[esp+56], 0
	mov	DWORD PTR __Psave$60382[esp+48], ebx
	jne	SHORT $LN11@use_facet
	push	0
	lea	ecx, DWORD PTR __Lock$71116[esp+52]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	cmp	DWORD PTR ?id@?$ctype@D@std@@2V0locale@2@A, 0 ; std::ctype<char>::id
	jne	SHORT $LN10@use_facet
	mov	eax, DWORD PTR ?_Id_cnt@id@locale@std@@0HA ; std::locale::id::_Id_cnt
	add	eax, 1
	mov	DWORD PTR ?_Id_cnt@id@locale@std@@0HA, eax ; std::locale::id::_Id_cnt
	mov	DWORD PTR ?id@?$ctype@D@std@@2V0locale@2@A, eax ; std::ctype<char>::id
$LN10@use_facet:
	lea	ecx, DWORD PTR __Lock$71116[esp+48]
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
$LN11@use_facet:

; 472  : 		const locale::facet *_Pf = _Loc._Getfacet(_Id);

	mov	eax, DWORD PTR __Loc$[esp+44]
	mov	edi, DWORD PTR ?id@?$ctype@D@std@@2V0locale@2@A ; std::ctype<char>::id
	mov	eax, DWORD PTR [eax]
	cmp	edi, DWORD PTR [eax+12]
	jae	SHORT $LN20@use_facet
	mov	ecx, DWORD PTR [eax+8]
	mov	esi, DWORD PTR [ecx+edi*4]
	test	esi, esi
	jne	SHORT $LN24@use_facet
$LN26@use_facet:
	cmp	BYTE PTR [eax+20], 0
	je	SHORT $LN16@use_facet
	call	?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ ; std::locale::_Getgloballocale
	cmp	edi, DWORD PTR [eax+12]
	jae	SHORT $LN27@use_facet
	mov	edx, DWORD PTR [eax+8]
	mov	esi, DWORD PTR [edx+edi*4]
$LN16@use_facet:

; 473  : 
; 474  : 		if (_Pf != 0)

	test	esi, esi
	jne	SHORT $LN24@use_facet
$LN27@use_facet:

; 475  : 			;	// got facet from locale
; 476  : 		else if (_Psave != 0)

	test	ebx, ebx
	je	SHORT $LN4@use_facet

; 477  : 			_Pf = _Psave;	// lazy facet already allocated

	mov	esi, ebx
	jmp	SHORT $LN24@use_facet

; 472  : 		const locale::facet *_Pf = _Loc._Getfacet(_Id);

$LN20@use_facet:
	xor	esi, esi
	jmp	SHORT $LN26@use_facet
$LN4@use_facet:

; 478  : 		else if (_Facet::_Getcat(&_Psave) == (size_t)(-1))

	lea	eax, DWORD PTR __Psave$60382[esp+48]
	push	eax
	call	?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@@Z ; std::ctype<char>::_Getcat
	add	esp, 4
	cmp	eax, -1
	jne	SHORT $LN2@use_facet

; 479  : 
; 480  :  #if _HAS_EXCEPTIONS
; 481  : 		_THROW_NCEE(bad_cast, _EMPTY_ARGUMENT);	// lazy disallowed

	push	OFFSET ??_C@_08EPJLHIJG@bad?5cast?$AA@
	lea	ecx, DWORD PTR $T71108[esp+52]
	call	??0bad_cast@std@@QAE@PBD@Z		; std::bad_cast::bad_cast
	push	OFFSET __TI2?AVbad_cast@std@@
	lea	ecx, DWORD PTR $T71108[esp+52]
	push	ecx
	call	__CxxThrowException@8
$LN31@use_facet:
$LN2@use_facet:

; 482  : 
; 483  : 	#else /* _HAS_EXCEPTIONS */
; 484  : 			abort();	// lazy disallowed
; 485  : 	#endif /* _HAS_EXCEPTIONS */
; 486  : 
; 487  : 		else
; 488  : 			{	// queue up lazy facet for destruction
; 489  : 			_Pf = _Psave;

	mov	esi, DWORD PTR __Psave$60382[esp+48]

; 490  : 			_Facetptr<_Facet>::_Psave = _Psave;
; 491  : 
; 492  : 			locale::facet *_Pfmod = (_Facet *)_Psave;
; 493  : 			_Pfmod->_Incref();

	mov	ecx, esi
	mov	DWORD PTR ?_Psave@?$_Facetptr@V?$ctype@D@std@@@std@@2PBVfacet@locale@2@B, esi ; std::_Facetptr<std::ctype<char> >::_Psave
	call	?_Incref@facet@locale@std@@QAEXXZ	; std::locale::facet::_Incref

; 494  : 			_Pfmod->_Register();

	push	esi
	call	?facet_Register@facet@locale@std@@CAXPAV123@@Z ; std::locale::facet::facet_Register
	add	esp, 4
$LN24@use_facet:

; 495  : 			}
; 496  : 
; 497  : 		return ((const _Facet&)(*_Pf));	// should be dynamic_cast

	lea	ecx, DWORD PTR __Lock$60381[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit

; 498  : 	_END_LOCK()
; 499  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	0
$LN29@use_facet:
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z$0:
	lea	ecx, DWORD PTR __Lock$60381[ebp]
	jmp	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
__ehhandler$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z:
	mov	eax, OFFSET __ehfuncinfo$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z ENDP ; std::use_facet<std::ctype<char> >
PUBLIC	??_7?$codecvt@DDH@std@@6B@			; std::codecvt<char,char,int>::`vftable'
PUBLIC	??0?$codecvt@DDH@std@@QAE@I@Z			; std::codecvt<char,char,int>::codecvt<char,char,int>
PUBLIC	??_R4?$codecvt@DDH@std@@6B@			; std::codecvt<char,char,int>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$codecvt@DDH@std@@@8			; std::codecvt<char,char,int> `RTTI Type Descriptor'
PUBLIC	??_R3?$codecvt@DDH@std@@8			; std::codecvt<char,char,int>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$codecvt@DDH@std@@8			; std::codecvt<char,char,int>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$codecvt@DDH@std@@8		; std::codecvt<char,char,int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?do_in@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z ; std::codecvt<char,char,int>::do_in
PUBLIC	?do_out@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z ; std::codecvt<char,char,int>::do_out
PUBLIC	?do_unshift@?$codecvt@DDH@std@@MBEHAAHPAD1AAPAD@Z ; std::codecvt<char,char,int>::do_unshift
PUBLIC	?do_length@?$codecvt@DDH@std@@MBEHABHPBD1I@Z	; std::codecvt<char,char,int>::do_length
EXTRN	??_E?$codecvt@DDH@std@@MAEPAXI@Z:PROC		; std::codecvt<char,char,int>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$codecvt@DDH@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$codecvt@DDH@std@@8 DD FLAT:??_R0?AV?$codecvt@DDH@std@@@8 ; std::codecvt<char,char,int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$codecvt@DDH@std@@8
rdata$r	ENDS
;	COMDAT ??_R2?$codecvt@DDH@std@@8
rdata$r	SEGMENT
??_R2?$codecvt@DDH@std@@8 DD FLAT:??_R1A@?0A@EA@?$codecvt@DDH@std@@8 ; std::codecvt<char,char,int>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@codecvt_base@std@@8
	DD	FLAT:??_R1A@?0A@EA@facet@locale@std@@8
rdata$r	ENDS
;	COMDAT ??_R3?$codecvt@DDH@std@@8
rdata$r	SEGMENT
??_R3?$codecvt@DDH@std@@8 DD 00H			; std::codecvt<char,char,int>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2?$codecvt@DDH@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$codecvt@DDH@std@@@8
_DATA	SEGMENT
??_R0?AV?$codecvt@DDH@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::codecvt<char,char,int> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$codecvt@DDH@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$codecvt@DDH@std@@6B@
rdata$r	SEGMENT
??_R4?$codecvt@DDH@std@@6B@ DD 00H			; std::codecvt<char,char,int>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$codecvt@DDH@std@@@8
	DD	FLAT:??_R3?$codecvt@DDH@std@@8
rdata$r	ENDS
;	COMDAT ??_7?$codecvt@DDH@std@@6B@
CONST	SEGMENT
??_7?$codecvt@DDH@std@@6B@ DD FLAT:??_R4?$codecvt@DDH@std@@6B@ ; std::codecvt<char,char,int>::`vftable'
	DD	FLAT:??_E?$codecvt@DDH@std@@MAEPAXI@Z
	DD	FLAT:?do_always_noconv@codecvt_base@std@@MBE_NXZ
	DD	FLAT:?do_max_length@codecvt_base@std@@MBEHXZ
	DD	FLAT:?do_encoding@codecvt_base@std@@MBEHXZ
	DD	FLAT:?do_in@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
	DD	FLAT:?do_out@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
	DD	FLAT:?do_unshift@?$codecvt@DDH@std@@MBEHAAHPAD1AAPAD@Z
	DD	FLAT:?do_length@?$codecvt@DDH@std@@MBEHABHPBD1I@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$codecvt@DDH@std@@QAE@I@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$codecvt@DDH@std@@QAE@I@Z$0
__ehfuncinfo$??0?$codecvt@DDH@std@@QAE@I@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$codecvt@DDH@std@@QAE@I@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0?$codecvt@DDH@std@@QAE@I@Z
_TEXT	SEGMENT
_this$ = -148						; size = 4
__Lobj$60799 = -144					; size = 132
__$EHRec$ = -12						; size = 12
__Refs$ = 8						; size = 4
??0?$codecvt@DDH@std@@QAE@I@Z PROC			; std::codecvt<char,char,int>::codecvt<char,char,int>, COMDAT
; _this$ = ecx

; 746  : 		{	// construct from current locale

	push	-1
	push	__ehhandler$??0?$codecvt@DDH@std@@QAE@I@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 136				; 00000088H
	mov	eax, DWORD PTR __Refs$[esp+144]
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+152], esi
	mov	DWORD PTR [esi+4], eax

; 747  : 		_BEGIN_LOCINFO(_Lobj)

	push	OFFSET ??_C@_01GFHCPBMG@C?$AA@
	lea	ecx, DWORD PTR __Lobj$60799[esp+156]
	mov	DWORD PTR __$EHRec$[esp+164], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$codecvt@DDH@std@@6B@
	call	??0_Locinfo@std@@QAE@PBD@Z		; std::_Locinfo::_Locinfo

; 748  : 			_Init(_Lobj);
; 749  : 		_END_LOCINFO()

	lea	ecx, DWORD PTR __Lobj$60799[esp+152]
	call	??1_Locinfo@std@@QAE@XZ			; std::_Locinfo::~_Locinfo

; 750  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+152]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 148				; 00000094H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$codecvt@DDH@std@@QAE@I@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1codecvt_base@std@@UAE@XZ		; std::codecvt_base::~codecvt_base
__ehhandler$??0?$codecvt@DDH@std@@QAE@I@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$codecvt@DDH@std@@QAE@I@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$codecvt@DDH@std@@QAE@I@Z ENDP			; std::codecvt<char,char,int>::codecvt<char,char,int>
PUBLIC	??1?$codecvt@DDH@std@@MAE@XZ			; std::codecvt<char,char,int>::~codecvt<char,char,int>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$codecvt@DDH@std@@MAE@XZ
_TEXT	SEGMENT
??1?$codecvt@DDH@std@@MAE@XZ PROC			; std::codecvt<char,char,int>::~codecvt<char,char,int>, COMDAT
; _this$ = ecx

; 768  : 		}

	mov	DWORD PTR [ecx], OFFSET ??_7facet@locale@std@@6B@
	ret	0
??1?$codecvt@DDH@std@@MAE@XZ ENDP			; std::codecvt<char,char,int>::~codecvt<char,char,int>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_in@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
__First1$ = 12						; size = 4
___formal$ = 16						; size = 4
__Mid1$ = 20						; size = 4
__First2$ = 24						; size = 4
___formal$ = 28						; size = 4
__Mid2$ = 32						; size = 4
?do_in@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z PROC ; std::codecvt<char,char,int>::do_in, COMDAT
; _this$ = ecx

; 779  : 		_Mid1 = _First1, _Mid2 = _First2;

	mov	eax, DWORD PTR __Mid1$[esp-4]
	mov	ecx, DWORD PTR __First1$[esp-4]
	mov	edx, DWORD PTR __Mid2$[esp-4]
	mov	DWORD PTR [eax], ecx
	mov	eax, DWORD PTR __First2$[esp-4]
	mov	DWORD PTR [edx], eax

; 780  : 		return (noconv);	// convert nothing

	mov	eax, 3

; 781  : 		}

	ret	28					; 0000001cH
?do_in@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z ENDP ; std::codecvt<char,char,int>::do_in
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_out@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
__First1$ = 12						; size = 4
___formal$ = 16						; size = 4
__Mid1$ = 20						; size = 4
__First2$ = 24						; size = 4
___formal$ = 28						; size = 4
__Mid2$ = 32						; size = 4
?do_out@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z PROC ; std::codecvt<char,char,int>::do_out, COMDAT
; _this$ = ecx

; 787  : 		_Mid1 = _First1, _Mid2 = _First2;

	mov	eax, DWORD PTR __Mid1$[esp-4]
	mov	ecx, DWORD PTR __First1$[esp-4]
	mov	edx, DWORD PTR __Mid2$[esp-4]
	mov	DWORD PTR [eax], ecx
	mov	eax, DWORD PTR __First2$[esp-4]
	mov	DWORD PTR [edx], eax

; 788  : 		return (noconv);	// convert nothing

	mov	eax, 3

; 789  : 		}

	ret	28					; 0000001cH
?do_out@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z ENDP ; std::codecvt<char,char,int>::do_out
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_unshift@?$codecvt@DDH@std@@MBEHAAHPAD1AAPAD@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
__First2$ = 12						; size = 4
___formal$ = 16						; size = 4
__Mid2$ = 20						; size = 4
?do_unshift@?$codecvt@DDH@std@@MBEHAAHPAD1AAPAD@Z PROC	; std::codecvt<char,char,int>::do_unshift, COMDAT
; _this$ = ecx

; 794  : 		_Mid2 = _First2;

	mov	eax, DWORD PTR __Mid2$[esp-4]
	mov	ecx, DWORD PTR __First2$[esp-4]
	mov	DWORD PTR [eax], ecx

; 795  : 		return (noconv);	// convert nothing

	mov	eax, 3

; 796  : 		}

	ret	16					; 00000010H
?do_unshift@?$codecvt@DDH@std@@MBEHAAHPAD1AAPAD@Z ENDP	; std::codecvt<char,char,int>::do_unshift
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?do_length@?$codecvt@DDH@std@@MBEHABHPBD1I@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
__First1$ = 12						; size = 4
__Last1$ = 16						; size = 4
__Count$ = 20						; size = 4
?do_length@?$codecvt@DDH@std@@MBEHABHPBD1I@Z PROC	; std::codecvt<char,char,int>::do_length, COMDAT
; _this$ = ecx

; 801  : 		return ((int)(_Count < (size_t)(_Last1 - _First1)
; 802  : 			? _Count : _Last1 - _First1));	// assume 1-to-1 conversion

	mov	eax, DWORD PTR __Last1$[esp-4]
	sub	eax, DWORD PTR __First1$[esp-4]
	mov	ecx, DWORD PTR __Count$[esp-4]
	cmp	ecx, eax
	jae	SHORT $LN4@do_length
	mov	eax, ecx
$LN4@do_length:

; 803  : 		}

	ret	16					; 00000010H
?do_length@?$codecvt@DDH@std@@MBEHABHPBD1I@Z ENDP	; std::codecvt<char,char,int>::do_length
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$codecvt@DDH@std@@MAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$codecvt@DDH@std@@MAEPAXI@Z PROC			; std::codecvt<char,char,int>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	test	BYTE PTR ___flags$[esp-4], 1
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7facet@locale@std@@6B@
	je	SHORT $LN15@scalar@34
	push	0
	call	DWORD PTR ??_7facet@locale@std@@6B@
	push	esi
	call	_free
	add	esp, 4
$LN15@scalar@34:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$codecvt@DDH@std@@MAEPAXI@Z ENDP			; std::codecvt<char,char,int>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z ; std::basic_ios<char,std::char_traits<char> >::setstate
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\ios
;	COMDAT ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z
_TEXT	SEGMENT
__State$ = 8						; size = 4
__Reraise$ = 12						; size = 1
?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z PROC ; std::basic_ios<char,std::char_traits<char> >::setstate, COMDAT
; _this$ = ecx

; 54   : 		if (_State != goodbit)

	mov	edx, DWORD PTR __State$[esp-4]
	test	edx, edx
	je	SHORT $LN6@setstate

; 55   : 			clear((iostate)((int)rdstate() | (int)_State), _Reraise);

	mov	eax, DWORD PTR [ecx+8]
	or	eax, edx
	cmp	DWORD PTR [ecx+40], 0
	jne	SHORT $LN8@setstate
	or	eax, 4
$LN8@setstate:
	mov	DWORD PTR __State$[esp-4], eax
	jmp	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear
$LN6@setstate:

; 56   : 		}

	ret	8
?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z ENDP ; std::basic_ios<char,std::char_traits<char> >::setstate
_TEXT	ENDS
PUBLIC	??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_ifstream<char,std::char_traits<char> >::`vftable'
PUBLIC	??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_ifstream<char,std::char_traits<char> >::~basic_ifstream<char,std::char_traits<char> >
PUBLIC	??_R4?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_ifstream<char,std::char_traits<char> >::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@@8 ; std::basic_ifstream<char,std::char_traits<char> > `RTTI Type Descriptor'
PUBLIC	??_R3?$basic_ifstream@DU?$char_traits@D@std@@@std@@8 ; std::basic_ifstream<char,std::char_traits<char> >::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$basic_ifstream@DU?$char_traits@D@std@@@std@@8 ; std::basic_ifstream<char,std::char_traits<char> >::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$basic_ifstream@DU?$char_traits@D@std@@@std@@8 ; std::basic_ifstream<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_E?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z:PROC ; std::basic_ifstream<char,std::char_traits<char> >::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$basic_ifstream@DU?$char_traits@D@std@@@std@@8
; File c:\program files\microsoft visual studio 8\vc\include\istream
rdata$r	SEGMENT
??_R1A@?0A@EA@?$basic_ifstream@DU?$char_traits@D@std@@@std@@8 DD FLAT:??_R0?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@@8 ; std::basic_ifstream<char,std::char_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	04H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$basic_ifstream@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R2?$basic_ifstream@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R2?$basic_ifstream@DU?$char_traits@D@std@@@std@@8 DD FLAT:??_R1A@?0A@EA@?$basic_ifstream@DU?$char_traits@D@std@@@std@@8 ; std::basic_ifstream<char,std::char_traits<char> >::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$basic_istream@DU?$char_traits@D@std@@@std@@8
	DD	FLAT:??_R1A@A@3FA@?$basic_ios@DU?$char_traits@D@std@@@std@@8
	DD	FLAT:??_R1A@A@3EA@ios_base@std@@8
	DD	FLAT:??_R13A@3EA@?$_Iosb@H@std@@8
rdata$r	ENDS
;	COMDAT ??_R3?$basic_ifstream@DU?$char_traits@D@std@@@std@@8
rdata$r	SEGMENT
??_R3?$basic_ifstream@DU?$char_traits@D@std@@@std@@8 DD 00H ; std::basic_ifstream<char,std::char_traits<char> >::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	05H
	DD	FLAT:??_R2?$basic_ifstream@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@@8
_DATA	SEGMENT
??_R0?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::basic_ifstream<char,std::char_traits<char> > `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@
rdata$r	SEGMENT
??_R4?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ DD 00H ; std::basic_ifstream<char,std::char_traits<char> >::`RTTI Complete Object Locator'
	DD	058H
	DD	00H
	DD	FLAT:??_R0?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@@8
	DD	FLAT:??_R3?$basic_ifstream@DU?$char_traits@D@std@@@std@@8
rdata$r	ENDS
;	COMDAT ??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@
CONST	SEGMENT
??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ DD FLAT:??_R4?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ ; std::basic_ifstream<char,std::char_traits<char> >::`vftable'
	DD	FLAT:??_E?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ$0
__ehfuncinfo$??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
xdata$x	ENDS
;	COMDAT ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ PROC ; std::basic_ifstream<char,std::char_traits<char> >::~basic_ifstream<char,std::char_traits<char> >, COMDAT
; _this$ = ecx

; 641  : 		{	// destroy the object

	push	-1
	push	__ehhandler$??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	mov	eax, DWORD PTR [ecx-88]
	mov	edx, DWORD PTR [eax+4]
	push	esi
	mov	DWORD PTR _this$[esp+20], ecx
	mov	DWORD PTR [edx+ecx-88], OFFSET ??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@

; 642  : 		}

	lea	esi, DWORD PTR [ecx-80]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_filebuf<char,std::char_traits<char> >::~basic_filebuf<char,std::char_traits<char> >
	mov	eax, DWORD PTR [esi-8]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [ecx+esi-8], OFFSET ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	sub	ecx, 80					; 00000050H
	jmp	??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_istream<char,std::char_traits<char> >::~basic_istream<char,std::char_traits<char> >
__ehhandler$??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ ENDP ; std::basic_ifstream<char,std::char_traits<char> >::~basic_ifstream<char,std::char_traits<char> >
PUBLIC	?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ ; std::basic_ifstream<char,std::char_traits<char> >::close
; Function compile flags: /Ogtpy
;	COMDAT ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ
_TEXT	SEGMENT
?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ PROC ; std::basic_ifstream<char,std::char_traits<char> >::close, COMDAT
; _this$ = ecx

; 668  : 		{	// close the C stream

	push	esi
	mov	esi, ecx

; 669  : 		if (_Filebuffer.close() == 0)

	lea	ecx, DWORD PTR [esi+8]
	call	?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ ; std::basic_filebuf<char,std::char_traits<char> >::close
	test	eax, eax
	jne	SHORT $LN9@close@2

; 670  : 			_Myios::setstate(ios_base::failbit);

	mov	eax, DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [ecx+esi+8]
	add	ecx, esi
	or	eax, 2
	cmp	DWORD PTR [ecx+40], 0
	jne	SHORT $LN11@close@2
	or	eax, 4
$LN11@close@2:
	push	0
	push	eax
	call	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear
$LN9@close@2:
	pop	esi

; 671  : 		}

	ret	0
?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ ENDP ; std::basic_ifstream<char,std::char_traits<char> >::close
_TEXT	ENDS
PUBLIC	?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z ; std::basic_ios<char,std::char_traits<char> >::widen
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
xdata$x	SEGMENT
__unwindtable$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z$0
__ehfuncinfo$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\ios
xdata$x	ENDS
;	COMDAT ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z
_TEXT	SEGMENT
$T71286 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Byte$ = 8						; size = 1
?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z PROC ; std::basic_ios<char,std::char_traits<char> >::widen, COMDAT
; _this$ = ecx

; 123  : 		{	// convert _Byte to character using imbued locale

	push	-1
	push	__ehhandler$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi

; 124  : 		const _Ctype& _Ctype_fac = _USE(getloc(), _Ctype);

	lea	eax, DWORD PTR $T71286[esp+20]
	push	eax
	call	?getloc@ios_base@std@@QBE?AVlocale@2@XZ	; std::ios_base::getloc
	push	eax
	mov	DWORD PTR __$EHRec$[esp+32], 0
	call	??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z ; std::use_facet<std::ctype<char> >
	add	esp, 4
	lea	ecx, DWORD PTR $T71286[esp+20]
	mov	esi, eax
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1locale@std@@QAE@XZ			; std::locale::~locale

; 125  : 		return (_Ctype_fac.widen(_Byte));

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR __Byte$[esp+16]
	mov	edx, DWORD PTR [edx+24]
	push	eax
	mov	ecx, esi
	call	edx

; 126  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z$0:
	lea	ecx, DWORD PTR $T71286[ebp]
	jmp	??1locale@std@@QAE@XZ			; std::locale::~locale
__ehhandler$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z:
	mov	eax, OFFSET __ehfuncinfo$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z ENDP ; std::basic_ios<char,std::char_traits<char> >::widen
PUBLIC	?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z ; std::basic_ios<char,std::char_traits<char> >::init
EXTRN	?_Addstd@ios_base@std@@SAXPAV12@@Z:PROC		; std::ios_base::_Addstd
; Function compile flags: /Ogtpy
;	COMDAT ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z
_TEXT	SEGMENT
__Strbuf$ = 8						; size = 4
__Isstd$ = 12						; size = 1
?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z PROC ; std::basic_ios<char,std::char_traits<char> >::init, COMDAT
; _this$ = ecx

; 131  : 		{	// initialize with stream buffer pointer

	push	esi
	mov	esi, ecx

; 132  : 		_Init();	// initialize ios_base

	call	?_Init@ios_base@std@@IAEXXZ		; std::ios_base::_Init

; 133  : 		_Mystrbuf = _Strbuf;

	mov	eax, DWORD PTR __Strbuf$[esp]

; 134  : 		_Tiestr = 0;
; 135  : 		_Fillch = widen(' ');

	push	32					; 00000020H
	mov	ecx, esi
	mov	DWORD PTR [esi+40], eax
	mov	DWORD PTR [esi+44], 0
	call	?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z ; std::basic_ios<char,std::char_traits<char> >::widen

; 136  : 
; 137  : 		if (_Mystrbuf == 0)

	cmp	DWORD PTR [esi+40], 0
	mov	BYTE PTR [esi+48], al
	jne	SHORT $LN11@init

; 138  : 			setstate(badbit);

	mov	eax, DWORD PTR [esi+8]
	or	eax, 4
	push	0
	push	eax
	mov	ecx, esi
	call	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear
$LN11@init:

; 139  : 
; 140  : 		if (_Isstd)

	cmp	BYTE PTR __Isstd$[esp], 0
	je	SHORT $LN2@init

; 141  : 			_Addstd(this);	// special handling for standard streams

	push	esi
	call	?_Addstd@ios_base@std@@SAXPAV12@@Z	; std::ios_base::_Addstd
	add	esp, 4
	pop	esi

; 144  : 		}

	ret	8
$LN2@init:

; 142  : 		else
; 143  : 			_Stdstr = 0;

	mov	DWORD PTR [esi+4], 0
	pop	esi

; 144  : 		}

	ret	8
?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z ENDP ; std::basic_ios<char,std::char_traits<char> >::init
_TEXT	ENDS
PUBLIC	?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z ; std::codecvt<char,char,int>::_Getcat
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
xdata$x	SEGMENT
__unwindtable$?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z$0
__ehfuncinfo$?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z
_TEXT	SEGMENT
$T71326 = -16						; size = 4
__$EHRec$ = -12						; size = 12
$T71327 = 8						; size = 4
__Ppf$ = 8						; size = 4
?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z PROC ; std::codecvt<char,char,int>::_Getcat, COMDAT

; 759  : 		{	// return locale category mask and construct standard facet

	push	-1
	push	__ehhandler$?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi

; 760  : 		if (_Ppf != 0 && *_Ppf == 0)

	mov	esi, DWORD PTR __Ppf$[esp+16]
	test	esi, esi
	je	SHORT $LN10@Getcat@2
	cmp	DWORD PTR [esi], 0
	jne	SHORT $LN10@Getcat@2

; 761  : 			*_Ppf = _NEW_CRT codecvt<_Elem, _Byte, _Statype>;

	call	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ ; std::_DebugHeapTag_func
	push	761					; 000002f9H
	push	OFFSET ??_C@_0DO@OEECDFDJ@C?3?2Program?5Files?2Microsoft?5Visua@
	push	eax
	push	8
	mov	DWORD PTR $T71327[esp+32], eax
	call	??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z ; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71326[esp+20], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+28], 0
	je	SHORT $LN4@Getcat@2
	push	0
	mov	ecx, eax
	call	??0?$codecvt@DDH@std@@QAE@I@Z		; std::codecvt<char,char,int>::codecvt<char,char,int>
	jmp	SHORT $LN5@Getcat@2
$LN4@Getcat@2:
	xor	eax, eax
$LN5@Getcat@2:
	mov	DWORD PTR [esi], eax
$LN10@Getcat@2:

; 762  : 		return (_X_CTYPE);
; 763  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, 2
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z$0:
	push	761					; 000002f9H
	push	OFFSET ??_C@_0DO@OEECDFDJ@C?3?2Program?5Files?2Microsoft?5Visua@
	mov	eax, DWORD PTR $T71327[ebp-4]
	push	eax
	mov	ecx, DWORD PTR $T71326[ebp]
	push	ecx
	call	??3facet@locale@std@@SAXPAXABU_DebugHeapTag_t@2@PADH@Z ; std::locale::facet::operator delete
	add	esp, 16					; 00000010H
	ret	0
__ehhandler$?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z:
	mov	eax, OFFSET __ehfuncinfo$?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z ENDP ; std::codecvt<char,char,int>::_Getcat
PUBLIC	??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ ; std::basic_ifstream<char,std::char_traits<char> >::`vbase destructor'
; Function compile flags: /Ogtpy
;	COMDAT ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ
_TEXT	SEGMENT
??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ PROC ; std::basic_ifstream<char,std::char_traits<char> >::`vbase destructor', COMDAT
; _this$ = ecx
	push	esi
	lea	esi, DWORD PTR [ecx+88]
	mov	ecx, esi
	call	??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_ifstream<char,std::char_traits<char> >::~basic_ifstream<char,std::char_traits<char> >
	push	esi
	mov	DWORD PTR [esi], OFFSET ??_7ios_base@std@@6B@
	call	?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z ; std::ios_base::_Ios_base_dtor
	add	esp, 4
	pop	esi
	ret	0
??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ ENDP ; std::basic_ifstream<char,std::char_traits<char> >::`vbase destructor'
_TEXT	ENDS
PUBLIC	?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ ; std::basic_ostream<char,std::char_traits<char> >::flush
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\ostream
;	COMDAT ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ
_TEXT	SEGMENT
?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ PROC ; std::basic_ostream<char,std::char_traits<char> >::flush, COMDAT
; _this$ = ecx

; 553  : 		{	// flush output stream

	push	esi
	mov	esi, ecx

; 554  : 		ios_base::iostate _State = ios_base::goodbit;
; 555  : 		if (!ios_base::fail() && _Myios::rdbuf()->pubsync() == -1)

	mov	eax, DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax+4]
	push	edi
	lea	eax, DWORD PTR [ecx+esi]
	xor	edi, edi
	test	BYTE PTR [eax+8], 6
	jne	SHORT $LN1@flush
	mov	eax, DWORD PTR [eax+40]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+48]
	call	eax
	cmp	eax, -1
	jne	SHORT $LN1@flush

; 556  : 			_State |= ios_base::badbit;	// sync failed

	mov	edi, 4
$LN1@flush:

; 557  : 		_Myios::setstate(_State);

	mov	ecx, DWORD PTR [esi]
	mov	ecx, DWORD PTR [ecx+4]
	add	ecx, esi
	test	edi, edi
	je	SHORT $LN21@flush
	mov	eax, DWORD PTR [ecx+8]
	or	eax, edi
	cmp	DWORD PTR [ecx+40], 0
	jne	SHORT $LN19@flush
	or	eax, 4
$LN19@flush:
	push	0
	push	eax
	call	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear
$LN21@flush:
	pop	edi

; 558  : 		return (*this);

	mov	eax, esi
	pop	esi

; 559  : 		}

	ret	0
?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ ENDP ; std::basic_ostream<char,std::char_traits<char> >::flush
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z PROC ; std::basic_ifstream<char,std::char_traits<char> >::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	push	edi
	lea	edi, DWORD PTR [ecx-88]
	lea	esi, DWORD PTR [edi+88]
	mov	ecx, esi
	call	??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_ifstream<char,std::char_traits<char> >::~basic_ifstream<char,std::char_traits<char> >
	push	esi
	mov	DWORD PTR [esi], OFFSET ??_7ios_base@std@@6B@
	call	?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z ; std::ios_base::_Ios_base_dtor
	add	esp, 4
	test	BYTE PTR ___flags$[esp+4], 1
	je	SHORT $LN11@scalar@35
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@35:
	mov	eax, edi
	pop	edi
	pop	esi
	ret	4
??_G?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z ENDP ; std::basic_ifstream<char,std::char_traits<char> >::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ ; std::basic_istream<char,std::char_traits<char> >::`vbtable'
PUBLIC	??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z ; std::basic_istream<char,std::char_traits<char> >::basic_istream<char,std::char_traits<char> >
;	COMDAT ??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@
; File c:\program files\microsoft visual studio 8\vc\include\xiosbase
CONST	SEGMENT
??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ DD 00H ; std::basic_istream<char,std::char_traits<char> >::`vbtable'
	DD	08H
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z$0
__ehfuncinfo$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\istream
xdata$x	ENDS
;	COMDAT ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z
_TEXT	SEGMENT
$T71423 = -20						; size = 4
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Strbuf$ = 8						; size = 4
__Isstd$ = 12						; size = 1
_$initVBases$ = 16					; size = 4
??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z PROC ; std::basic_istream<char,std::char_traits<char> >::basic_istream<char,std::char_traits<char> >, COMDAT
; _this$ = ecx

; 32   : 		{	// construct from stream buffer pointer

	push	-1
	push	__ehhandler$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	xor	eax, eax
	cmp	DWORD PTR _$initVBases$[esp+16], eax
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+24], esi
	mov	DWORD PTR $T71423[esp+24], eax
	je	SHORT $LN1@basic_istr
	mov	DWORD PTR [esi], OFFSET ??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@
	mov	DWORD PTR [esi+8], OFFSET ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@
	mov	DWORD PTR __$EHRec$[esp+32], eax
	mov	DWORD PTR $T71423[esp+24], 1
$LN1@basic_istr:
	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx+4]

; 33   : 		_Myios::init(_Strbuf, _Isstd);

	mov	ecx, DWORD PTR __Strbuf$[esp+20]
	mov	DWORD PTR [esi+edx], OFFSET ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@
	mov	edx, DWORD PTR [esi]
	mov	DWORD PTR [esi+4], eax
	mov	eax, DWORD PTR __Isstd$[esp+20]
	push	eax
	push	ecx
	mov	ecx, DWORD PTR [edx+4]
	add	ecx, esi
	call	?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z ; std::basic_ios<char,std::char_traits<char> >::init

; 34   : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	12					; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z$0:
	mov	eax, DWORD PTR $T71423[ebp]
	and	eax, 1
	je	$LN5@basic_istr
	and	DWORD PTR $T71423[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 8
	jmp	??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_ios<char,std::char_traits<char> >::~basic_ios<char,std::char_traits<char> >
$LN5@basic_istr:
	ret	0
__ehhandler$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z ENDP ; std::basic_istream<char,std::char_traits<char> >::basic_istream<char,std::char_traits<char> >
PUBLIC	?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z ; std::basic_istream<char,std::char_traits<char> >::_Ipfx
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\ios
xdata$x	SEGMENT
__catchsym$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$15 DD 040H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$0
__tryblocktable$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z DD 01H
	DD	01H
	DD	08H
	DD	01H
	DD	FLAT:__catchsym$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$15
__ehfuncinfo$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z DD 019930522H
	DD	09H
	DD	FLAT:__unwindtable$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z
	DD	01H
	DD	FLAT:__tryblocktable$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$2
	DD	0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	02H
	DD	00H
	DD	03H
	DD	00H
	DD	02H
	DD	00H
	DD	05H
	DD	00H
	DD	02H
	DD	00H
	DD	07H
	DD	00H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\istream
xdata$x	ENDS
;	COMDAT ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
__$EHRec$ = -16						; size = 16
$T71444 = 8						; size = 4
__Noskip$ = 8						; size = 1
?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z PROC ; std::basic_istream<char,std::char_traits<char> >::_Ipfx, COMDAT
; _this$ = ecx

; 92   : 		{	// test stream state and skip whitespace as needed

	push	ebp
	mov	ebp, esp
	push	-1
	push	__ehhandler$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	push	ebx
	push	esi
	mov	esi, ecx

; 93   : 		if (ios_base::good())

	mov	eax, DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [ecx+esi+8]
	add	ecx, esi
	test	eax, eax
	push	edi
	mov	DWORD PTR __$EHRec$[ebp], esp
	mov	DWORD PTR _this$[ebp], esi
	jne	$LN1@Ipfx

; 94   : 			{	// state okay, flush tied stream and skip whitespace
; 95   : 			if (_Myios::tie() != 0)

	mov	ecx, DWORD PTR [ecx+44]
	test	ecx, ecx
	je	SHORT $LN10@Ipfx

; 96   : 				_Myios::tie()->flush();

	call	?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ ; std::basic_ostream<char,std::char_traits<char> >::flush
$LN10@Ipfx:

; 97   : 
; 98   : 			if (!_Noskip && ios_base::flags() & ios_base::skipws)

	cmp	BYTE PTR __Noskip$[ebp], 0
	jne	$LN17@Ipfx
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [edx+esi+16]
	test	cl, 1
	je	$LN17@Ipfx

; 99   : 				{	// skip whitespace
; 100  : 				const _Ctype& _Ctype_fac = _USE(ios_base::getloc(), _Ctype);

	lea	ecx, DWORD PTR $T71444[ebp]
	push	ecx
	mov	ecx, edx
	add	ecx, esi
	call	?getloc@ios_base@std@@QBE?AVlocale@2@XZ	; std::ios_base::getloc
	push	eax
	mov	DWORD PTR __$EHRec$[ebp+12], 0
	call	??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z ; std::use_facet<std::ctype<char> >
	add	esp, 4
	lea	ecx, DWORD PTR $T71444[ebp]
	mov	edi, eax
	call	??1locale@std@@QAE@XZ			; std::locale::~locale

; 101  : 
; 102  : 				_TRY_IO_BEGIN
; 103  : 				int_type _Meta = _Myios::rdbuf()->sgetc();

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [eax+esi+40]
	mov	eax, DWORD PTR [ecx+32]
	cmp	DWORD PTR [eax], 0
	mov	DWORD PTR __$EHRec$[ebp+12], 1
	je	SHORT $LN33@Ipfx
	mov	edx, DWORD PTR [ecx+48]
	cmp	DWORD PTR [edx], 0
	jle	SHORT $LN33@Ipfx
	mov	eax, DWORD PTR [eax]
	movzx	eax, BYTE PTR [eax]
	jmp	SHORT $LL123@Ipfx
$LN33@Ipfx:
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+16]
	call	edx
$LL123@Ipfx:

; 106  : 					if (_Traits::eq_int_type(_Traits::eof(), _Meta))

	cmp	eax, -1
	jne	SHORT $LN4@Ipfx

; 107  : 						{	// end of file, quit
; 108  : 						_Myios::setstate(ios_base::eofbit);

	mov	eax, DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [ecx+esi+8]
	add	ecx, esi
	or	eax, 1
	cmp	DWORD PTR [ecx+40], 0
	jne	SHORT $LN56@Ipfx
	or	eax, 4
$LN56@Ipfx:
	push	0
	push	eax
	call	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear

; 109  : 						break;

	jmp	SHORT $LN5@Ipfx
$LN4@Ipfx:

; 110  : 						}
; 111  : 					else if (!_Ctype_fac.is(_Ctype::space,
; 112  : 						_Traits::to_char_type(_Meta)))

	mov	edx, DWORD PTR [edi+16]
	movzx	ecx, al
	test	BYTE PTR [edx+ecx*2], 72		; 00000048H
	jne	SHORT $LN6@Ipfx
$LN5@Ipfx:

; 113  : 						break;	// not whitespace, quit
; 114  : 				_CATCH_IO_END

	mov	DWORD PTR __$EHRec$[ebp+12], -1
$LN17@Ipfx:

; 115  : 				}
; 116  : 
; 117  : 			if (ios_base::good())

	mov	eax, DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax+4]
	add	ecx, esi
	cmp	DWORD PTR [ecx+8], 0
	jne	SHORT $LN1@Ipfx

; 118  : 				return (true);

	mov	al, 1

; 121  : 		return (false);
; 122  : 		}

	mov	ecx, DWORD PTR __$EHRec$[ebp+4]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
$LN6@Ipfx:

; 104  : 
; 105  : 				for (; ; _Meta = _Myios::rdbuf()->snextc())

	mov	eax, DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [ecx+esi+40]
	call	?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::snextc
	jmp	SHORT $LL123@Ipfx
__catch$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$0:

; 113  : 						break;	// not whitespace, quit
; 114  : 				_CATCH_IO_END

	mov	ecx, DWORD PTR _this$[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+4]
	add	eax, ecx
	mov	ecx, DWORD PTR [eax+8]
	or	ecx, 4
	cmp	DWORD PTR [eax+40], 0
	jne	SHORT $LN69@Ipfx
	or	ecx, 4
$LN69@Ipfx:
	and	ecx, 23					; 00000017H
	test	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax+8], ecx
	jne	SHORT $LN78@Ipfx
	mov	DWORD PTR __$EHRec$[ebp+12], -1
	mov	eax, $LN18@Ipfx
	ret	0
$LN18@Ipfx:
	mov	esi, DWORD PTR _this$[ebp]
	jmp	SHORT $LN17@Ipfx
$LN78@Ipfx:
	push	0
	push	0
	call	__CxxThrowException@8
$LN130@Ipfx:
$LN1@Ipfx:

; 119  : 			}
; 120  : 		_Myios::setstate(ios_base::failbit);

	mov	eax, DWORD PTR [ecx+8]
	or	eax, 2
	cmp	DWORD PTR [ecx+40], 0
	jne	SHORT $LN119@Ipfx
	or	eax, 4
$LN119@Ipfx:
	push	0
	push	eax
	call	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear

; 121  : 		return (false);
; 122  : 		}

	mov	ecx, DWORD PTR __$EHRec$[ebp+4]
	pop	edi
	pop	esi
	xor	al, al
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
$LN129@Ipfx:
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$2:
	lea	ecx, DWORD PTR $T71444[ebp]
	jmp	??1locale@std@@QAE@XZ			; std::locale::~locale
__ehhandler$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z:
	mov	eax, OFFSET __ehfuncinfo$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z ENDP ; std::basic_istream<char,std::char_traits<char> >::_Ipfx
PUBLIC	?_Psave@?$_Facetptr@V?$codecvt@DDH@std@@@std@@2PBVfacet@locale@2@B ; std::_Facetptr<std::codecvt<char,char,int> >::_Psave
PUBLIC	??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z ; std::use_facet<std::codecvt<char,char,int> >
;	COMDAT ?_Psave@?$_Facetptr@V?$codecvt@DDH@std@@@std@@2PBVfacet@locale@2@B
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
_BSS	SEGMENT
?_Psave@?$_Facetptr@V?$codecvt@DDH@std@@@std@@2PBVfacet@locale@2@B DD 01H DUP (?) ; std::_Facetptr<std::codecvt<char,char,int> >::_Psave
_BSS	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z$0
__ehfuncinfo$??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z
_TEXT	SEGMENT
__Psave$60682 = -36					; size = 4
__Lock$71757 = -32					; size = 4
__Lock$60681 = -28					; size = 4
$T71749 = -24						; size = 12
__$EHRec$ = -12						; size = 12
__Loc$ = 8						; size = 4
??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z PROC ; std::use_facet<std::codecvt<char,char,int> >, COMDAT

; 466  : 	{	// get facet reference from locale

	push	-1
	push	__ehhandler$??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	ebx
	push	esi
	push	edi

; 467  : 	_BEGIN_LOCK(_LOCK_LOCALE)	// the thread lock, make get atomic

	push	0
	lea	ecx, DWORD PTR __Lock$60681[esp+52]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit

; 468  : 		const locale::facet *_Psave =
; 469  : 			_Facetptr<_Facet>::_Psave;	// static pointer to lazy facet
; 470  : 
; 471  : 		size_t _Id = _Facet::id;

	cmp	DWORD PTR ?id@?$codecvt@DDH@std@@2V0locale@2@A, 0 ; std::codecvt<char,char,int>::id
	mov	ebx, DWORD PTR ?_Psave@?$_Facetptr@V?$codecvt@DDH@std@@@std@@2PBVfacet@locale@2@B ; std::_Facetptr<std::codecvt<char,char,int> >::_Psave
	mov	DWORD PTR __$EHRec$[esp+56], 0
	mov	DWORD PTR __Psave$60682[esp+48], ebx
	jne	SHORT $LN11@use_facet@2
	push	0
	lea	ecx, DWORD PTR __Lock$71757[esp+52]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	cmp	DWORD PTR ?id@?$codecvt@DDH@std@@2V0locale@2@A, 0 ; std::codecvt<char,char,int>::id
	jne	SHORT $LN10@use_facet@2
	mov	eax, DWORD PTR ?_Id_cnt@id@locale@std@@0HA ; std::locale::id::_Id_cnt
	add	eax, 1
	mov	DWORD PTR ?_Id_cnt@id@locale@std@@0HA, eax ; std::locale::id::_Id_cnt
	mov	DWORD PTR ?id@?$codecvt@DDH@std@@2V0locale@2@A, eax ; std::codecvt<char,char,int>::id
$LN10@use_facet@2:
	lea	ecx, DWORD PTR __Lock$71757[esp+48]
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
$LN11@use_facet@2:

; 472  : 		const locale::facet *_Pf = _Loc._Getfacet(_Id);

	mov	eax, DWORD PTR __Loc$[esp+44]
	mov	edi, DWORD PTR ?id@?$codecvt@DDH@std@@2V0locale@2@A ; std::codecvt<char,char,int>::id
	mov	eax, DWORD PTR [eax]
	cmp	edi, DWORD PTR [eax+12]
	jae	SHORT $LN20@use_facet@2
	mov	ecx, DWORD PTR [eax+8]
	mov	esi, DWORD PTR [ecx+edi*4]
	test	esi, esi
	jne	SHORT $LN24@use_facet@2
$LN26@use_facet@2:
	cmp	BYTE PTR [eax+20], 0
	je	SHORT $LN16@use_facet@2
	call	?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ ; std::locale::_Getgloballocale
	cmp	edi, DWORD PTR [eax+12]
	jae	SHORT $LN27@use_facet@2
	mov	edx, DWORD PTR [eax+8]
	mov	esi, DWORD PTR [edx+edi*4]
$LN16@use_facet@2:

; 473  : 
; 474  : 		if (_Pf != 0)

	test	esi, esi
	jne	SHORT $LN24@use_facet@2
$LN27@use_facet@2:

; 475  : 			;	// got facet from locale
; 476  : 		else if (_Psave != 0)

	test	ebx, ebx
	je	SHORT $LN4@use_facet@2

; 477  : 			_Pf = _Psave;	// lazy facet already allocated

	mov	esi, ebx
	jmp	SHORT $LN24@use_facet@2

; 472  : 		const locale::facet *_Pf = _Loc._Getfacet(_Id);

$LN20@use_facet@2:
	xor	esi, esi
	jmp	SHORT $LN26@use_facet@2
$LN4@use_facet@2:

; 478  : 		else if (_Facet::_Getcat(&_Psave) == (size_t)(-1))

	lea	eax, DWORD PTR __Psave$60682[esp+48]
	push	eax
	call	?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@@Z ; std::codecvt<char,char,int>::_Getcat
	add	esp, 4
	cmp	eax, -1
	jne	SHORT $LN2@use_facet@2

; 479  : 
; 480  :  #if _HAS_EXCEPTIONS
; 481  : 		_THROW_NCEE(bad_cast, _EMPTY_ARGUMENT);	// lazy disallowed

	push	OFFSET ??_C@_08EPJLHIJG@bad?5cast?$AA@
	lea	ecx, DWORD PTR $T71749[esp+52]
	call	??0bad_cast@std@@QAE@PBD@Z		; std::bad_cast::bad_cast
	push	OFFSET __TI2?AVbad_cast@std@@
	lea	ecx, DWORD PTR $T71749[esp+52]
	push	ecx
	call	__CxxThrowException@8
$LN31@use_facet@2:
$LN2@use_facet@2:

; 482  : 
; 483  : 	#else /* _HAS_EXCEPTIONS */
; 484  : 			abort();	// lazy disallowed
; 485  : 	#endif /* _HAS_EXCEPTIONS */
; 486  : 
; 487  : 		else
; 488  : 			{	// queue up lazy facet for destruction
; 489  : 			_Pf = _Psave;

	mov	esi, DWORD PTR __Psave$60682[esp+48]

; 490  : 			_Facetptr<_Facet>::_Psave = _Psave;
; 491  : 
; 492  : 			locale::facet *_Pfmod = (_Facet *)_Psave;
; 493  : 			_Pfmod->_Incref();

	mov	ecx, esi
	mov	DWORD PTR ?_Psave@?$_Facetptr@V?$codecvt@DDH@std@@@std@@2PBVfacet@locale@2@B, esi ; std::_Facetptr<std::codecvt<char,char,int> >::_Psave
	call	?_Incref@facet@locale@std@@QAEXXZ	; std::locale::facet::_Incref

; 494  : 			_Pfmod->_Register();

	push	esi
	call	?facet_Register@facet@locale@std@@CAXPAV123@@Z ; std::locale::facet::facet_Register
	add	esp, 4
$LN24@use_facet@2:

; 495  : 			}
; 496  : 
; 497  : 		return ((const _Facet&)(*_Pf));	// should be dynamic_cast

	lea	ecx, DWORD PTR __Lock$60681[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit

; 498  : 	_END_LOCK()
; 499  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	0
$LN29@use_facet@2:
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z$0:
	lea	ecx, DWORD PTR __Lock$60681[ebp]
	jmp	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
__ehhandler$??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z:
	mov	eax, OFFSET __ehfuncinfo$??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z ENDP ; std::use_facet<std::codecvt<char,char,int> >
PUBLIC	??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z ; std::basic_istream<char,std::char_traits<char> >::sentry::sentry
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
xdata$x	SEGMENT
__unwindtable$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z$0
__ehfuncinfo$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\istream
xdata$x	ENDS
;	COMDAT ??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Istr$ = 8						; size = 4
__Noskip$ = 12						; size = 1
??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z PROC ; std::basic_istream<char,std::char_traits<char> >::sentry::sentry, COMDAT
; _this$ = ecx

; 75   : 			{	// construct locking and calling _Ipfx

	push	-1
	push	__ehhandler$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	mov	eax, DWORD PTR __Istr$[esp+12]
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], eax
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [edx+eax+40]
	test	eax, eax
	mov	DWORD PTR _this$[esp+20], esi
	je	SHORT $LN11@sentry@2
	lea	ecx, DWORD PTR [eax+4]
	call	?_Lock@_Mutex@std@@QAEXXZ		; std::_Mutex::_Lock
$LN11@sentry@2:

; 76   : 			_Ok = this->_Myistr._Ipfx(_Noskip);

	mov	eax, DWORD PTR __Noskip$[esp+16]
	mov	ecx, DWORD PTR [esi]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+32], 0
	call	?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z ; std::basic_istream<char,std::char_traits<char> >::_Ipfx

; 77   : 			}

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	BYTE PTR [esi+4], al
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ ; std::basic_istream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
__ehhandler$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z:
	mov	eax, OFFSET __ehfuncinfo$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z ENDP ; std::basic_istream<char,std::char_traits<char> >::sentry::sentry
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
;	COMDAT ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z
_TEXT	SEGMENT
__Loc$ = 8						; size = 4
?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z PROC ; std::basic_filebuf<char,std::char_traits<char> >::imbue, COMDAT
; _this$ = ecx

; 456  : 		_Initcvt((_Cvt *)&_USE(_Loc, _Cvt));

	mov	eax, DWORD PTR __Loc$[esp-4]
	push	esi
	push	edi
	push	eax
	mov	edi, ecx
	call	??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z ; std::use_facet<std::codecvt<char,char,int> >
	mov	esi, eax
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+4]
	add	esp, 4
	mov	ecx, esi
	call	eax
	test	al, al
	je	SHORT $LN4@imbue
	mov	DWORD PTR [edi+60], 0
	pop	edi
	pop	esi

; 457  : 		}

	ret	4

; 456  : 		_Initcvt((_Cvt *)&_USE(_Loc, _Cvt));

$LN4@imbue:
	mov	ecx, edi
	mov	DWORD PTR [edi+60], esi
	call	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Init
	pop	edi
	pop	esi

; 457  : 		}

	ret	4
?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z ENDP ; std::basic_filebuf<char,std::char_traits<char> >::imbue
_TEXT	ENDS
PUBLIC	??_C@_1HM@HILPCDJB@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@ ; `string'
PUBLIC	?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z ; std::basic_istream<char,std::char_traits<char> >::getline
;	COMDAT ??_C@_1HM@HILPCDJB@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
; File c:\program files\microsoft visual studio 8\vc\include\streambuf
CONST	SEGMENT
??_C@_1HM@HILPCDJB@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@ DB 'C'
	DB	00H, ':', 00H, '\', 00H, 'P', 00H, 'r', 00H, 'o', 00H, 'g', 00H
	DB	'r', 00H, 'a', 00H, 'm', 00H, ' ', 00H, 'F', 00H, 'i', 00H, 'l'
	DB	00H, 'e', 00H, 's', 00H, '\', 00H, 'M', 00H, 'i', 00H, 'c', 00H
	DB	'r', 00H, 'o', 00H, 's', 00H, 'o', 00H, 'f', 00H, 't', 00H, ' '
	DB	00H, 'V', 00H, 'i', 00H, 's', 00H, 'u', 00H, 'a', 00H, 'l', 00H
	DB	' ', 00H, 'S', 00H, 't', 00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o'
	DB	00H, ' ', 00H, '8', 00H, '\', 00H, 'V', 00H, 'C', 00H, '\', 00H
	DB	'i', 00H, 'n', 00H, 'c', 00H, 'l', 00H, 'u', 00H, 'd', 00H, 'e'
	DB	00H, '\', 00H, 'i', 00H, 's', 00H, 't', 00H, 'r', 00H, 'e', 00H
	DB	'a', 00H, 'm', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__catchsym$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z$16 DD 040H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z$0
__tryblocktable$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z DD 01H
	DD	01H
	DD	08H
	DD	01H
	DD	FLAT:__catchsym$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z$16
__ehfuncinfo$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z DD 019930522H
	DD	09H
	DD	FLAT:__unwindtable$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
	DD	01H
	DD	FLAT:__tryblocktable$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z$2
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	03H
	DD	00H
	DD	02H
	DD	00H
	DD	05H
	DD	00H
	DD	02H
	DD	00H
	DD	07H
	DD	00H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\istream
xdata$x	ENDS
;	COMDAT ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
_TEXT	SEGMENT
__Ok$ = -32						; size = 8
_this$ = -24						; size = 4
__State$ = -20						; size = 4
__$EHRec$ = -16						; size = 16
__Str$ = 8						; size = 4
__Count$ = 12						; size = 4
__Delim$ = 16						; size = 1
?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z PROC ; std::basic_istream<char,std::char_traits<char> >::getline, COMDAT
; _this$ = ecx

; 600  : 		{	// get up to _Count characters into NTCS, discard _Delim

	push	ebp
	mov	ebp, esp
	push	-1
	push	__ehhandler$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H
	push	ebx
	push	esi
	push	edi

; 601  : 		_DEBUG_POINTER(_Str);

	mov	edi, DWORD PTR __Str$[ebp]
	xor	ebx, ebx
	cmp	edi, ebx
	mov	esi, ecx
	mov	DWORD PTR __$EHRec$[ebp], esp
	mov	DWORD PTR _this$[ebp], esi
	jne	SHORT $LN21@getline
	push	601					; 00000259H
	push	OFFSET ??_C@_1HM@HILPCDJB@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe?$AAs?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa@
	push	OFFSET ??_C@_1CK@EOPGIILJ@?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$AA@
	call	?_Debug_message@std@@YAXPB_W0I@Z	; std::_Debug_message
	add	esp, 12					; 0000000cH
$LN21@getline:

; 602  : 		ios_base::iostate _State = ios_base::goodbit;
; 603  : 		_Chcount = 0;

	mov	DWORD PTR [esi+4], ebx
	mov	DWORD PTR __State$[ebp], ebx

; 604  : 		const sentry _Ok(*this, true);

	mov	ebx, 1
	push	ebx
	push	esi
	lea	ecx, DWORD PTR __Ok$[ebp]
	call	??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z ; std::basic_istream<char,std::char_traits<char> >::sentry::sentry

; 605  : 
; 606  : 		if (_Ok && 0 < _Count)

	cmp	BYTE PTR __Ok$[ebp+4], 0
	mov	DWORD PTR __$EHRec$[ebp+12], 0
	je	$LN19@getline
	cmp	DWORD PTR __Count$[ebp], 0
	jle	$LN19@getline

; 607  : 			{	// state okay, use facet to extract
; 608  : 			int_type _Metadelim = _Traits::to_int_type(_Delim);
; 609  : 
; 610  : 			_TRY_IO_BEGIN
; 611  : 			int_type _Meta = _Myios::rdbuf()->sgetc();

	mov	eax, DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [ecx+esi+40]
	mov	eax, DWORD PTR [ecx+32]
	cmp	DWORD PTR [eax], 0
	mov	BYTE PTR __$EHRec$[ebp+12], bl
	je	SHORT $LN32@getline
	mov	edx, DWORD PTR [ecx+48]
	cmp	DWORD PTR [edx], 0
	jle	SHORT $LN32@getline
	mov	eax, DWORD PTR [eax]
	movzx	eax, BYTE PTR [eax]
	jmp	SHORT $LL134@getline
$LN32@getline:
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+16]
	call	edx
$LL134@getline:

; 612  : 
; 613  : 			for (; ; _Meta = _Myios::rdbuf()->snextc())
; 614  : 				if (_Traits::eq_int_type(_Traits::eof(), _Meta))

	cmp	eax, -1
	jne	SHORT $LN6@getline

; 615  : 					{	// end of file, quit
; 616  : 					_State |= ios_base::eofbit;

	or	DWORD PTR __State$[ebp], ebx
	jmp	SHORT $LN7@getline
$LN6@getline:

; 617  : 					break;
; 618  : 					}
; 619  : 				else if (_Meta == _Metadelim)

	movzx	ecx, BYTE PTR __Delim$[ebp]
	cmp	eax, ecx
	jne	SHORT $LN4@getline

; 620  : 					{	// got a delimiter, discard it and quit
; 621  : 					++_Chcount;

	add	DWORD PTR [esi+4], ebx

; 622  : 					_Myios::rdbuf()->sbumpc();

	mov	eax, DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [ecx+esi+40]
	mov	edx, DWORD PTR [ecx+32]
	cmp	DWORD PTR [edx], 0
	je	SHORT $LN52@getline
	mov	eax, DWORD PTR [ecx+48]
	cmp	DWORD PTR [eax], 0
	jle	SHORT $LN52@getline
	add	DWORD PTR [eax], -1
	mov	ecx, DWORD PTR [ecx+32]
	add	DWORD PTR [ecx], ebx
	jmp	SHORT $LN7@getline
$LN52@getline:
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+20]
	call	eax
	jmp	SHORT $LN7@getline
$LN4@getline:

; 623  : 					break;
; 624  : 					}
; 625  : 				else if (--_Count <= 0)

	mov	ecx, DWORD PTR __Count$[ebp]
	sub	ecx, ebx
	test	ecx, ecx
	mov	DWORD PTR __Count$[ebp], ecx
	jg	SHORT $LN2@getline

; 626  : 					{	// buffer full, quit
; 627  : 					_State |= ios_base::failbit;

	or	DWORD PTR __State$[ebp], 2
$LN7@getline:

; 634  : 					}
; 635  : 			_CATCH_IO_END

	mov	DWORD PTR __$EHRec$[ebp+12], 0
$LN19@getline:

; 636  : 			}
; 637  : 
; 638  : 		*_Str = _Elem();	// add terminating null character
; 639  : 		_Myios::setstate(_Chcount == 0 ? _State | ios_base::failbit : _State);

	mov	eax, DWORD PTR __State$[ebp]
	mov	BYTE PTR [edi], 0
	cmp	DWORD PTR [esi+4], 0
	jne	SHORT $LN15@getline
	or	eax, 2
$LN15@getline:
	mov	ecx, DWORD PTR [esi]
	mov	ecx, DWORD PTR [ecx+4]
	add	ecx, esi
	test	eax, eax
	je	SHORT $LN115@getline
	or	eax, DWORD PTR [ecx+8]
	cmp	DWORD PTR [ecx+40], 0
	jne	SHORT $LN117@getline
	or	eax, 4
$LN117@getline:
	push	0
	push	eax
	call	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear
$LN115@getline:

; 640  : 		return (*this);

	mov	eax, DWORD PTR __Ok$[ebp]
	mov	edx, DWORD PTR [eax]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx+eax+40]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[ebp+12], -1
	je	SHORT $LN129@getline
	lea	ecx, DWORD PTR [eax+4]
	call	?_Unlock@_Mutex@std@@QAEXXZ		; std::_Mutex::_Unlock
$LN129@getline:

; 641  : 		}

	mov	ecx, DWORD PTR __$EHRec$[ebp+4]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	12					; 0000000cH
$LN2@getline:

; 628  : 					break;
; 629  : 					}
; 630  : 				else
; 631  : 					{	// got a character, add it to string
; 632  : 					++_Chcount;

	add	DWORD PTR [esi+4], ebx

; 633  : 					*_Str++ = _Traits::to_char_type(_Meta);

	mov	BYTE PTR [edi], al
	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR [edx+esi+40]
	add	edi, ebx
	mov	DWORD PTR __Str$[ebp], edi
	call	?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ ; std::basic_streambuf<char,std::char_traits<char> >::snextc
	jmp	$LL134@getline
__catch$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z$0:

; 634  : 					}
; 635  : 			_CATCH_IO_END

	mov	ecx, DWORD PTR _this$[ebp]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+4]
	add	eax, ecx
	mov	ecx, DWORD PTR [eax+8]
	or	ecx, 4
	cmp	DWORD PTR [eax+40], 0
	jne	SHORT $LN71@getline
	or	ecx, 4
$LN71@getline:
	and	ecx, 23					; 00000017H
	test	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax+8], ecx
	jne	SHORT $LN80@getline
	mov	DWORD PTR __$EHRec$[ebp+12], 0
	mov	eax, $LN20@getline
	ret	0
$LN20@getline:
	mov	esi, DWORD PTR _this$[ebp]
	mov	edi, DWORD PTR __Str$[ebp]
	jmp	$LN19@getline
$LN80@getline:
	push	0
	push	0
	call	__CxxThrowException@8
$LN139@getline:
$LN138@getline:
	int	3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z$2:
	lea	ecx, DWORD PTR __Ok$[ebp]
	jmp	??1sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ
__ehhandler$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z:
	mov	eax, OFFSET __ehfuncinfo$?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z ENDP ; std::basic_istream<char,std::char_traits<char> >::getline
PUBLIC	?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z ; std::basic_filebuf<char,std::char_traits<char> >::open
EXTRN	?_Fiopen@std@@YAPAU_iobuf@@PBDHH@Z:PROC		; std::_Fiopen
;	COMDAT xdata$x
; File c:\program files\microsoft visual studio 8\vc\include\xlocale
xdata$x	SEGMENT
__unwindtable$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z$0
__ehfuncinfo$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
xdata$x	ENDS
;	COMDAT ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
__Filename$ = 8						; size = 4
__Mode$ = 12						; size = 4
$T72167 = 16						; size = 4
__Prot$ = 16						; size = 4
?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z PROC ; std::basic_filebuf<char,std::char_traits<char> >::open, COMDAT
; _this$ = ecx

; 152  : 		{	// open a C stream with specified mode

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ebx
	push	esi
	mov	esi, ecx

; 153  : 		_Filet *_File;
; 154  : 		if (_Myfile != 0 || (_File = _Fiopen(_Filename, _Mode, _Prot)) == 0)

	xor	ebx, ebx
	cmp	DWORD PTR [esi+76], ebx
	push	edi
	jne	$LN1@open
	mov	eax, DWORD PTR __Prot$[esp+20]
	mov	ecx, DWORD PTR __Mode$[esp+20]
	mov	edx, DWORD PTR __Filename$[esp+20]
	push	eax
	push	ecx
	push	edx
	call	?_Fiopen@std@@YAPAU_iobuf@@PBDHH@Z	; std::_Fiopen
	mov	edi, eax
	add	esp, 12					; 0000000cH
	cmp	edi, ebx
	je	$LN1@open

; 155  : 			return (0);	// open failed
; 156  : 
; 157  : 		_Init(_File, _Openfl);

	mov	ecx, esi
	mov	BYTE PTR [esi+72], 1
	mov	BYTE PTR [esi+65], bl
	call	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Init
	lea	ecx, DWORD PTR [edi+4]
	mov	DWORD PTR [esi+48], ecx
	mov	DWORD PTR [esi+52], ecx
	lea	eax, DWORD PTR [edi+8]

; 158  : 		_Initcvt((_Cvt *)&_USE(_Mysb::getloc(), _Cvt));

	lea	ecx, DWORD PTR $T72167[esp+20]
	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+20], eax
	mov	DWORD PTR [esi+32], edi
	mov	DWORD PTR [esi+36], edi
	mov	DWORD PTR [esi+76], edi
	mov	eax, DWORD PTR ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR [esi+68], eax
	mov	DWORD PTR [esi+60], ebx
	call	?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ ; std::basic_streambuf<char,std::char_traits<char> >::getloc
	push	eax
	mov	DWORD PTR __$EHRec$[esp+36], ebx
	call	??$use_facet@V?$codecvt@DDH@std@@@std@@YAABV?$codecvt@DDH@0@ABVlocale@0@@Z ; std::use_facet<std::codecvt<char,char,int> >
	mov	edi, eax
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+4]
	add	esp, 4
	mov	ecx, edi
	call	eax
	test	al, al
	je	SHORT $LN12@open
	lea	ecx, DWORD PTR $T72167[esp+20]
	mov	DWORD PTR [esi+60], ebx
	call	??1locale@std@@QAE@XZ			; std::locale::~locale

; 159  : 		return (this);	// open succeeded

	mov	eax, esi

; 160  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	add	esp, 12					; 0000000cH
	ret	12					; 0000000cH

; 158  : 		_Initcvt((_Cvt *)&_USE(_Mysb::getloc(), _Cvt));

$LN12@open:
	mov	ecx, esi
	mov	DWORD PTR [esi+60], edi
	call	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Init
	lea	ecx, DWORD PTR $T72167[esp+20]
	call	??1locale@std@@QAE@XZ			; std::locale::~locale

; 159  : 		return (this);	// open succeeded

	mov	eax, esi

; 160  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	add	esp, 12					; 0000000cH
	ret	12					; 0000000cH
$LN1@open:
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	xor	eax, eax
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 12					; 0000000cH
	ret	12					; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z$0:
	lea	ecx, DWORD PTR $T72167[ebp-4]
	jmp	??1locale@std@@QAE@XZ			; std::locale::~locale
__ehhandler$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z:
	mov	eax, OFFSET __ehfuncinfo$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z ENDP ; std::basic_filebuf<char,std::char_traits<char> >::open
PUBLIC	?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z ; std::basic_istream<char,std::char_traits<char> >::getline
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\istream
;	COMDAT ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
_TEXT	SEGMENT
__Str$ = 8						; size = 4
__Count$ = 12						; size = 4
?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z PROC ; std::basic_istream<char,std::char_traits<char> >::getline, COMDAT
; _this$ = ecx

; 594  : 		{	// get up to _Count characters into NTCS, discard newline

	push	esi
	mov	esi, ecx

; 595  : 		return (getline(_Str, _Count, _Myios::widen('\n')));

	mov	eax, DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax+4]
	push	10					; 0000000aH
	add	ecx, esi
	call	?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z ; std::basic_ios<char,std::char_traits<char> >::widen
	mov	ecx, DWORD PTR __Count$[esp]
	mov	edx, DWORD PTR __Str$[esp]
	push	eax
	push	ecx
	push	edx
	mov	ecx, esi
	call	?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z ; std::basic_istream<char,std::char_traits<char> >::getline
	pop	esi

; 596  : 		}

	ret	8
?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z ENDP ; std::basic_istream<char,std::char_traits<char> >::getline
_TEXT	ENDS
PUBLIC	??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ ; std::basic_ifstream<char,std::char_traits<char> >::`vbtable'
PUBLIC	??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z ; std::basic_ifstream<char,std::char_traits<char> >::basic_ifstream<char,std::char_traits<char> >
;	COMDAT ??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@
; File c:\program files\microsoft visual studio 8\vc\include\ios
CONST	SEGMENT
??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ DD 00H ; std::basic_ifstream<char,std::char_traits<char> >::`vbtable'
	DD	058H
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$0
	DD	00H
	DD	00H
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$2
__ehfuncinfo$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\fstream
xdata$x	ENDS
;	COMDAT ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z
_TEXT	SEGMENT
$T72206 = -20						; size = 4
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Filename$ = 8						; size = 4
__Mode$ = 12						; size = 4
__Prot$ = 16						; size = 4
_$initVBases$ = 20					; size = 4
??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z PROC ; std::basic_ifstream<char,std::char_traits<char> >::basic_ifstream<char,std::char_traits<char> >, COMDAT
; _this$ = ecx

; 582  : 		{	// construct with named file and specified mode

	push	-1
	push	__ehhandler$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	push	ebx
	xor	ebx, ebx
	cmp	DWORD PTR _$initVBases$[esp+20], ebx
	push	ebp
	mov	ebp, ecx
	mov	DWORD PTR _this$[esp+28], ebp
	mov	DWORD PTR $T72206[esp+28], ebx
	je	SHORT $LN2@basic_ifst
	mov	DWORD PTR [ebp], OFFSET ??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@
	mov	DWORD PTR [ebp+88], OFFSET ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@
	mov	DWORD PTR __$EHRec$[esp+36], ebx
	mov	DWORD PTR $T72206[esp+28], 1
$LN2@basic_ifst:
	mov	eax, DWORD PTR [ebp]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [ecx+ebp], OFFSET ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@
	mov	edx, DWORD PTR [ebp]
	push	esi
	mov	DWORD PTR [ebp+4], ebx
	mov	esi, DWORD PTR [edx+4]
	add	esi, ebp
	push	edi
	mov	ecx, esi
	call	?_Init@ios_base@std@@IAEXXZ		; std::ios_base::_Init
	lea	edi, DWORD PTR [ebp+8]
	push	32					; 00000020H
	mov	ecx, esi
	mov	DWORD PTR [esi+40], edi
	mov	DWORD PTR [esi+44], ebx
	call	?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z ; std::basic_ios<char,std::char_traits<char> >::widen
	cmp	DWORD PTR [esi+40], ebx
	mov	BYTE PTR [esi+48], al
	jne	SHORT $LN32@basic_ifst
	mov	eax, DWORD PTR [esi+8]
	or	eax, 4
	or	eax, 4
	push	ebx
	push	eax
	mov	ecx, esi
	call	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear
$LN32@basic_ifst:
	mov	DWORD PTR [esi+4], ebx
	mov	eax, DWORD PTR [ebp]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [ecx+ebp], OFFSET ??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@
	mov	ecx, edi
	mov	DWORD PTR __$EHRec$[esp+44], 2
	call	??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ ; std::basic_streambuf<char,std::char_traits<char> >::basic_streambuf<char,std::char_traits<char> >
	mov	ecx, edi
	mov	DWORD PTR [edi], OFFSET ??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@
	mov	BYTE PTR [edi+72], bl
	mov	BYTE PTR [edi+65], bl
	call	?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ ; std::basic_streambuf<char,std::char_traits<char> >::_Init
	mov	DWORD PTR [edi+76], ebx
	mov	edx, DWORD PTR ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA
	mov	DWORD PTR [edi+68], edx
	mov	DWORD PTR [edi+60], ebx

; 583  : 		if (_Filebuffer.open(_Filename, _Mode | ios_base::in, _Prot) == 0)

	mov	eax, DWORD PTR __Prot$[esp+32]
	mov	ecx, DWORD PTR __Mode$[esp+32]
	mov	edx, DWORD PTR __Filename$[esp+32]
	push	eax
	or	ecx, 1
	push	ecx
	push	edx
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+56], 3
	call	?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z ; std::basic_filebuf<char,std::char_traits<char> >::open
	test	eax, eax
	pop	edi
	pop	esi
	jne	SHORT $LN53@basic_ifst

; 584  : 			_Myios::setstate(ios_base::failbit);

	mov	eax, DWORD PTR [ebp]
	mov	ecx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [ecx+ebp+8]
	add	ecx, ebp
	or	eax, 2
	cmp	DWORD PTR [ecx+40], ebx
	jne	SHORT $LN51@basic_ifst
	or	eax, 4
$LN51@basic_ifst:
	push	ebx
	push	eax
	call	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear
$LN53@basic_ifst:

; 585  : 		}

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	eax, ebp
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$0:
	mov	eax, DWORD PTR $T72206[ebp]
	and	eax, 1
	je	$LN6@basic_ifst
	and	DWORD PTR $T72206[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 88					; 00000058H
	jmp	??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_ios<char,std::char_traits<char> >::~basic_ios<char,std::char_traits<char> >
$LN6@basic_ifst:
	ret	0
__unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 8
	jmp	??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_istream<char,std::char_traits<char> >::~basic_istream<char,std::char_traits<char> >
__unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$2:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 8
	jmp	??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_filebuf<char,std::char_traits<char> >::~basic_filebuf<char,std::char_traits<char> >
__ehhandler$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z ENDP ; std::basic_ifstream<char,std::char_traits<char> >::basic_ifstream<char,std::char_traits<char> >
PUBLIC	??_C@_0BD@GPGEHOMF@ConsoleCommand?4txt?$AA@	; `string'
EXTRN	_remove:PROC
;	COMDAT ??_C@_0BD@GPGEHOMF@ConsoleCommand?4txt?$AA@
; File c:\program files\microsoft visual studio 8\vc\include\xiosbase
CONST	SEGMENT
??_C@_0BD@GPGEHOMF@ConsoleCommand?4txt?$AA@ DB 'ConsoleCommand.txt', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z$1
__ehfuncinfo$?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
xdata$x	ENDS
;	COMDAT ?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z
_TEXT	SEGMENT
$T72421 = -468						; size = 1
_this$ = -464						; size = 4
__Lock$72430 = -460					; size = 4
$T72427 = -456						; size = 4
_cc$ = -452						; size = 140
_CommandRead$ = -312					; size = 300
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z PROC	; SH_ConsoleCommand::Timer_Expired, COMDAT
; _this$ = ecx

; 54   : {

	push	-1
	push	__ehhandler$?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 456				; 000001c8H

; 55   : 	char CommandRead[300];
; 56   : 	std::ifstream cc ("ConsoleCommand.txt");

	push	1
	push	64					; 00000040H
	push	1
	mov	DWORD PTR _this$[esp+480], ecx
	push	OFFSET ??_C@_0BD@GPGEHOMF@ConsoleCommand?4txt?$AA@
	lea	ecx, DWORD PTR _cc$[esp+484]
	call	??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z ; std::basic_ifstream<char,std::char_traits<char> >::basic_ifstream<char,std::char_traits<char> >

; 57   : 	if (cc.is_open())

	cmp	DWORD PTR _cc$[esp+552], 0
	mov	DWORD PTR __$EHRec$[esp+476], 0
	je	$LN1@Timer_Expi@2

; 58   : 	{
; 59   : 		while (!cc.eof())

	mov	eax, DWORD PTR _cc$[esp+468]
	mov	eax, DWORD PTR [eax+4]
	test	BYTE PTR _cc$[esp+eax+476], 1
	jne	$LN3@Timer_Expi@2
	push	ebp
	push	esi
	push	edi
	npad	2
$LL4@Timer_Expi@2:

; 60   : 		{
; 61   : 			cc.getline(CommandRead,300);

	lea	edx, DWORD PTR $T72427[esp+480]
	lea	ecx, DWORD PTR _cc$[esp+eax+480]
	push	edx
	call	?getloc@ios_base@std@@QBE?AVlocale@2@XZ	; std::ios_base::getloc
	push	eax
	mov	BYTE PTR __$EHRec$[esp+492], 1
	call	??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z ; std::use_facet<std::ctype<char> >
	mov	edi, DWORD PTR $T72427[esp+484]
	add	esp, 4
	test	edi, edi
	mov	ebp, eax
	mov	BYTE PTR __$EHRec$[esp+488], 0
	je	SHORT $LN54@Timer_Expi@2
	push	0
	lea	ecx, DWORD PTR __Lock$72430[esp+484]
	call	??0_Lockit@std@@QAE@H@Z			; std::_Lockit::_Lockit
	mov	eax, DWORD PTR [edi+4]
	test	eax, eax
	jbe	SHORT $LN25@Timer_Expi@2
	cmp	eax, -1
	jae	SHORT $LN25@Timer_Expi@2
	add	eax, -1
	mov	DWORD PTR [edi+4], eax
$LN25@Timer_Expi@2:
	mov	esi, DWORD PTR [edi+4]
	neg	esi
	sbb	esi, esi
	not	esi
	lea	ecx, DWORD PTR __Lock$72430[esp+480]
	and	esi, edi
	call	??1_Lockit@std@@QAE@XZ			; std::_Lockit::~_Lockit
	test	esi, esi
	je	SHORT $LN54@Timer_Expi@2
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax]
	push	0
	mov	ecx, esi
	call	edx
	push	esi
	call	_free
	add	esp, 4
$LN54@Timer_Expi@2:
	mov	eax, DWORD PTR [ebp]
	mov	edx, DWORD PTR [eax+24]
	push	10					; 0000000aH
	mov	ecx, ebp
	call	edx
	mov	BYTE PTR $T72421[esp+480], al
	mov	eax, DWORD PTR $T72421[esp+480]
	push	eax
	push	300					; 0000012cH
	lea	ecx, DWORD PTR _CommandRead$[esp+488]
	push	ecx
	lea	ecx, DWORD PTR _cc$[esp+492]
	call	?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z ; std::basic_istream<char,std::char_traits<char> >::getline

; 62   : 			if (CommandRead[0] != '\0')

	cmp	BYTE PTR _CommandRead$[esp+480], 0
	je	SHORT $LN2@Timer_Expi@2

; 63   : 			{
; 64   : 				Console_Input(CommandRead);

	lea	edx, DWORD PTR _CommandRead$[esp+480]
	push	edx
	call	?Console_Input@@YAXPBD@Z		; Console_Input
	add	esp, 4
$LN2@Timer_Expi@2:
	mov	eax, DWORD PTR _cc$[esp+480]
	mov	eax, DWORD PTR [eax+4]
	test	BYTE PTR _cc$[esp+eax+488], 1
	je	$LL4@Timer_Expi@2
	pop	edi
	pop	esi
	pop	ebp
$LN3@Timer_Expi@2:

; 65   : 			}
; 66   : 		}
; 67   : 		cc.close();

	lea	ecx, DWORD PTR _cc$[esp+476]
	call	?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ ; std::basic_filebuf<char,std::char_traits<char> >::close
	test	eax, eax
	jne	SHORT $LN42@Timer_Expi@2
	mov	ecx, DWORD PTR _cc$[esp+468]
	mov	ecx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR _cc$[esp+ecx+476]
	lea	ecx, DWORD PTR _cc$[esp+ecx+468]
	or	eax, 2
	cmp	DWORD PTR [ecx+40], 0
	jne	SHORT $LN44@Timer_Expi@2
	or	eax, 4
$LN44@Timer_Expi@2:
	push	0
	push	eax
	call	?clear@ios_base@std@@QAEXH_N@Z		; std::ios_base::clear
$LN42@Timer_Expi@2:

; 68   : 		if(!remove("ConsoleCommand.txt"))

	push	OFFSET ??_C@_0BD@GPGEHOMF@ConsoleCommand?4txt?$AA@
	call	_remove
	add	esp, 4
	test	eax, eax
	jne	SHORT $LN1@Timer_Expi@2

; 69   : 		{
; 70   : 			Commands->Start_Timer(obj,this,0.1f,0);	

	fld	DWORD PTR __real@3dcccccd
	mov	edx, DWORD PTR _this$[esp+468]
	push	eax
	mov	eax, DWORD PTR _obj$[esp+468]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	push	edx
	mov	edx, DWORD PTR [ecx+128]
	push	eax
	call	edx
	add	esp, 16					; 00000010H
$LN1@Timer_Expi@2:

; 71   : 		}
; 72   : 	}
; 73   : 
; 74   : }

	lea	ecx, DWORD PTR _cc$[esp+556]
	mov	DWORD PTR __$EHRec$[esp+476], -1
	call	??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ ; std::basic_ifstream<char,std::char_traits<char> >::~basic_ifstream<char,std::char_traits<char> >
	lea	eax, DWORD PTR _cc$[esp+556]
	push	eax
	mov	DWORD PTR _cc$[esp+560], OFFSET ??_7ios_base@std@@6B@
	call	?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z ; std::ios_base::_Ios_base_dtor
	mov	ecx, DWORD PTR __$EHRec$[esp+472]
	mov	DWORD PTR fs:0, ecx
	add	esp, 472				; 000001d8H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z$0:
	lea	ecx, DWORD PTR _cc$[ebp]
	jmp	??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ
__unwindfunclet$?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z$1:
	lea	ecx, DWORD PTR $T72427[ebp]
	jmp	??1locale@std@@QAE@XZ			; std::locale::~locale
__ehhandler$?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z:
	mov	eax, OFFSET __ehfuncinfo$?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Timer_Expired@SH_ConsoleCommand@@EAEXPAEH@Z ENDP	; SH_ConsoleCommand::Timer_Expired
PUBLIC	??_C@_0BC@GMMCCHND@SH_ConsoleCommand?$AA@	; `string'
PUBLIC	??_C@_00CNPNBAHC@?$AA@				; `string'
EXTRN	_atexit:PROC
;	COMDAT ??_C@_0BC@GMMCCHND@SH_ConsoleCommand?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BC@GMMCCHND@SH_ConsoleCommand?$AA@ DB 'SH_ConsoleCommand', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_00CNPNBAHC@?$AA@
CONST	SEGMENT
??_C@_00CNPNBAHC@?$AA@ DB 00H				; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ??__ESH_ConsoleCommand_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESH_ConsoleCommand_Registrant@@YAXXZ PROC		; `dynamic initializer for 'SH_ConsoleCommand_Registrant'', COMDAT

; 450  : ScriptRegistrant<SH_ConsoleCommand> SH_ConsoleCommand_Registrant("SH_ConsoleCommand","");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BC@GMMCCHND@SH_ConsoleCommand?$AA@
	mov	ecx, OFFSET ?SH_ConsoleCommand_Registrant@@3V?$ScriptRegistrant@VSH_ConsoleCommand@@@@A ; SH_ConsoleCommand_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSH_ConsoleCommand_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SH_ConsoleCommand_Registrant''
	mov	DWORD PTR ?SH_ConsoleCommand_Registrant@@3V?$ScriptRegistrant@VSH_ConsoleCommand@@@@A, OFFSET ??_7?$ScriptRegistrant@VSH_ConsoleCommand@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESH_ConsoleCommand_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'SH_ConsoleCommand_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0P@FGAJEFHD@SH_PCT_Powerup?$AA@		; `string'
;	COMDAT ??_C@_0P@FGAJEFHD@SH_PCT_Powerup?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0P@FGAJEFHD@SH_PCT_Powerup?$AA@ DB 'SH_PCT_Powerup', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ??__ESH_PCT_Powerup_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESH_PCT_Powerup_Registrant@@YAXXZ PROC		; `dynamic initializer for 'SH_PCT_Powerup_Registrant'', COMDAT

; 451  : ScriptRegistrant<SH_PCT_Powerup> SH_PCT_Powerup_Registrant("SH_PCT_Powerup","");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0P@FGAJEFHD@SH_PCT_Powerup?$AA@
	mov	ecx, OFFSET ?SH_PCT_Powerup_Registrant@@3V?$ScriptRegistrant@VSH_PCT_Powerup@@@@A ; SH_PCT_Powerup_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSH_PCT_Powerup_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SH_PCT_Powerup_Registrant''
	mov	DWORD PTR ?SH_PCT_Powerup_Registrant@@3V?$ScriptRegistrant@VSH_PCT_Powerup@@@@A, OFFSET ??_7?$ScriptRegistrant@VSH_PCT_Powerup@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESH_PCT_Powerup_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'SH_PCT_Powerup_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BB@MLHLLJPI@SH_PCT_On_Custom?$AA@	; `string'
;	COMDAT ??_C@_0BB@MLHLLJPI@SH_PCT_On_Custom?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BB@MLHLLJPI@SH_PCT_On_Custom?$AA@ DB 'SH_PCT_On_Custom', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ??__ESH_PCT_On_Custom_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESH_PCT_On_Custom_Registrant@@YAXXZ PROC		; `dynamic initializer for 'SH_PCT_On_Custom_Registrant'', COMDAT

; 452  : ScriptRegistrant<SH_PCT_Custom> SH_PCT_On_Custom_Registrant("SH_PCT_On_Custom","");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BB@MLHLLJPI@SH_PCT_On_Custom?$AA@
	mov	ecx, OFFSET ?SH_PCT_On_Custom_Registrant@@3V?$ScriptRegistrant@VSH_PCT_Custom@@@@A ; SH_PCT_On_Custom_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSH_PCT_On_Custom_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SH_PCT_On_Custom_Registrant''
	mov	DWORD PTR ?SH_PCT_On_Custom_Registrant@@3V?$ScriptRegistrant@VSH_PCT_Custom@@@@A, OFFSET ??_7?$ScriptRegistrant@VSH_PCT_Custom@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESH_PCT_On_Custom_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'SH_PCT_On_Custom_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BE@KLCEJOAP@SH_Spawn_Difficulty?$AA@	; `string'
PUBLIC	??_C@_0HM@JFCLLDCO@ObjectEasy?3string?0ObjectEasyEnab@ ; `string'
;	COMDAT ??_C@_0BE@KLCEJOAP@SH_Spawn_Difficulty?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BE@KLCEJOAP@SH_Spawn_Difficulty?$AA@ DB 'SH_Spawn_Difficulty', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0HM@JFCLLDCO@ObjectEasy?3string?0ObjectEasyEnab@
CONST	SEGMENT
??_C@_0HM@JFCLLDCO@ObjectEasy?3string?0ObjectEasyEnab@ DB 'ObjectEasy:str'
	DB	'ing,ObjectEasyEnabled:int,ObjectMedium:string,ObjectMediumEna'
	DB	'bled:int,ObjectHard:string,ObjectHardEnabled:int', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ??__ESH_Spawn_Difficulty_Created@@YAXXZ
text$yc	SEGMENT
??__ESH_Spawn_Difficulty_Created@@YAXXZ PROC		; `dynamic initializer for 'SH_Spawn_Difficulty_Created'', COMDAT

; 453  : ScriptRegistrant<SH_Spawn_Difficulty> SH_Spawn_Difficulty_Created("SH_Spawn_Difficulty","ObjectEasy:string,ObjectEasyEnabled:int,ObjectMedium:string,ObjectMediumEnabled:int,ObjectHard:string,ObjectHardEnabled:int");

	push	OFFSET ??_C@_0HM@JFCLLDCO@ObjectEasy?3string?0ObjectEasyEnab@
	push	OFFSET ??_C@_0BE@KLCEJOAP@SH_Spawn_Difficulty?$AA@
	mov	ecx, OFFSET ?SH_Spawn_Difficulty_Created@@3V?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@A ; SH_Spawn_Difficulty_Created
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSH_Spawn_Difficulty_Created@@YAXXZ ; `dynamic atexit destructor for 'SH_Spawn_Difficulty_Created''
	mov	DWORD PTR ?SH_Spawn_Difficulty_Created@@3V?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@A, OFFSET ??_7?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESH_Spawn_Difficulty_Created@@YAXXZ ENDP		; `dynamic initializer for 'SH_Spawn_Difficulty_Created''
text$yc	ENDS
PUBLIC	??_C@_0L@DPMIDBIO@INI?3string?$AA@		; `string'
;	COMDAT ??_C@_0L@DPMIDBIO@INI?3string?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0L@DPMIDBIO@INI?3string?$AA@ DB 'INI:string', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\shawk.cpp
CONST	ENDS
;	COMDAT ??__ESH_FileVerificationControllerScript_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESH_FileVerificationControllerScript_Registrant@@YAXXZ PROC ; `dynamic initializer for 'SH_FileVerificationControllerScript_Registrant'', COMDAT

; 454  : ScriptRegistrant<SH_FileVerificationControllerScript> SH_FileVerificationControllerScript_Registrant("SH_FileVerificationController","INI:string");

	push	OFFSET ??_C@_0L@DPMIDBIO@INI?3string?$AA@
	push	OFFSET ??_C@_0BO@LDFALLDO@SH_FileVerificationController?$AA@
	mov	ecx, OFFSET ?SH_FileVerificationControllerScript_Registrant@@3V?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@A ; SH_FileVerificationControllerScript_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSH_FileVerificationControllerScript_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SH_FileVerificationControllerScript_Registrant''
	mov	DWORD PTR ?SH_FileVerificationControllerScript_Registrant@@3V?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@A, OFFSET ??_7?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESH_FileVerificationControllerScript_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'SH_FileVerificationControllerScript_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__FSH_ConsoleCommand_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSH_ConsoleCommand_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'SH_ConsoleCommand_Registrant'', COMDAT
	mov	ecx, OFFSET ?SH_ConsoleCommand_Registrant@@3V?$ScriptRegistrant@VSH_ConsoleCommand@@@@A ; SH_ConsoleCommand_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSH_ConsoleCommand_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'SH_ConsoleCommand_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSH_PCT_Powerup_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSH_PCT_Powerup_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'SH_PCT_Powerup_Registrant'', COMDAT
	mov	ecx, OFFSET ?SH_PCT_Powerup_Registrant@@3V?$ScriptRegistrant@VSH_PCT_Powerup@@@@A ; SH_PCT_Powerup_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSH_PCT_Powerup_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'SH_PCT_Powerup_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSH_PCT_On_Custom_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSH_PCT_On_Custom_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'SH_PCT_On_Custom_Registrant'', COMDAT
	mov	ecx, OFFSET ?SH_PCT_On_Custom_Registrant@@3V?$ScriptRegistrant@VSH_PCT_Custom@@@@A ; SH_PCT_On_Custom_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSH_PCT_On_Custom_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'SH_PCT_On_Custom_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSH_Spawn_Difficulty_Created@@YAXXZ
text$yd	SEGMENT
??__FSH_Spawn_Difficulty_Created@@YAXXZ PROC		; `dynamic atexit destructor for 'SH_Spawn_Difficulty_Created'', COMDAT
	mov	ecx, OFFSET ?SH_Spawn_Difficulty_Created@@3V?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@A ; SH_Spawn_Difficulty_Created
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSH_Spawn_Difficulty_Created@@YAXXZ ENDP		; `dynamic atexit destructor for 'SH_Spawn_Difficulty_Created''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSH_FileVerificationControllerScript_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSH_FileVerificationControllerScript_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'SH_FileVerificationControllerScript_Registrant'', COMDAT
	mov	ecx, OFFSET ?SH_FileVerificationControllerScript_Registrant@@3V?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@A ; SH_FileVerificationControllerScript_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSH_FileVerificationControllerScript_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'SH_FileVerificationControllerScript_Registrant''
text$yd	ENDS
PUBLIC	?SH_Spawn_Difficulty_Created@@3V?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@A ; SH_Spawn_Difficulty_Created
PUBLIC	?SH_PCT_On_Custom_Registrant@@3V?$ScriptRegistrant@VSH_PCT_Custom@@@@A ; SH_PCT_On_Custom_Registrant
PUBLIC	?SH_ConsoleCommand_Registrant@@3V?$ScriptRegistrant@VSH_ConsoleCommand@@@@A ; SH_ConsoleCommand_Registrant
PUBLIC	?SH_PCT_Powerup_Registrant@@3V?$ScriptRegistrant@VSH_PCT_Powerup@@@@A ; SH_PCT_Powerup_Registrant
PUBLIC	?SH_FileVerificationControllerScript_Registrant@@3V?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@A ; SH_FileVerificationControllerScript_Registrant
PUBLIC	?id@?$codecvt@DDH@std@@2V0locale@2@A		; std::codecvt<char,char,int>::id
_BSS	SEGMENT
?SH_Spawn_Difficulty_Created@@3V?$ScriptRegistrant@VSH_Spawn_Difficulty@@@@A DB 010H DUP (?) ; SH_Spawn_Difficulty_Created
?SH_PCT_On_Custom_Registrant@@3V?$ScriptRegistrant@VSH_PCT_Custom@@@@A DB 010H DUP (?) ; SH_PCT_On_Custom_Registrant
?SH_ConsoleCommand_Registrant@@3V?$ScriptRegistrant@VSH_ConsoleCommand@@@@A DB 010H DUP (?) ; SH_ConsoleCommand_Registrant
?SH_PCT_Powerup_Registrant@@3V?$ScriptRegistrant@VSH_PCT_Powerup@@@@A DB 010H DUP (?) ; SH_PCT_Powerup_Registrant
?SH_FileVerificationControllerScript_Registrant@@3V?$ScriptRegistrant@VSH_FileVerificationControllerScript@@@@A DB 010H DUP (?) ; SH_FileVerificationControllerScript_Registrant
_BSS	ENDS
;	COMDAT ?id@?$codecvt@DDH@std@@2V0locale@2@A
_BSS	SEGMENT
?id@?$codecvt@DDH@std@@2V0locale@2@A DD 01H DUP (?)	; std::codecvt<char,char,int>::id
_BSS	ENDS
CRT$XCU	SEGMENT
_SH_ConsoleCommand_Registrant$initializer$ DD FLAT:??__ESH_ConsoleCommand_Registrant@@YAXXZ
_SH_PCT_Powerup_Registrant$initializer$ DD FLAT:??__ESH_PCT_Powerup_Registrant@@YAXXZ
_SH_PCT_On_Custom_Registrant$initializer$ DD FLAT:??__ESH_PCT_On_Custom_Registrant@@YAXXZ
_SH_Spawn_Difficulty_Created$initializer$ DD FLAT:??__ESH_Spawn_Difficulty_Created@@YAXXZ
_SH_FileVerificationControllerScript_Registrant$initializer$ DD FLAT:??__ESH_FileVerificationControllerScript_Registrant@@YAXXZ
CRT$XCU	ENDS
END
