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

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

INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES

PUBLIC	??_C@_0P@GHFPNOJB@bad?5allocation?$AA@		; `string'
PUBLIC	?Find_Purchase_Definition@@3PAXA		; Find_Purchase_Definition
PUBLIC	?Find_Team_Purchase_Definition@@3PAXA		; Find_Team_Purchase_Definition
PUBLIC	?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A ; DefinitionArray
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
_BSS	SEGMENT
?Find_Purchase_Definition@@3PAXA DD 01H DUP (?)		; Find_Purchase_Definition
?Find_Team_Purchase_Definition@@3PAXA DD 01H DUP (?)	; Find_Team_Purchase_Definition
?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A DD 01H DUP (?) ; DefinitionArray
_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	?Peek_Buffer@StringClass@@QAEPADXZ		; StringClass::Peek_Buffer
; Function compile flags: /Ogtpy
; File d:\source code\stgm\engine_string.h
;	COMDAT ?Peek_Buffer@StringClass@@QAEPADXZ
_TEXT	SEGMENT
?Peek_Buffer@StringClass@@QAEPADXZ PROC			; StringClass::Peek_Buffer, COMDAT
; _this$ = ecx

; 89   : 		return m_Buffer;

	mov	eax, DWORD PTR [ecx]

; 90   : 	}

	ret	0
?Peek_Buffer@StringClass@@QAEPADXZ ENDP			; StringClass::Peek_Buffer
_TEXT	ENDS
PUBLIC	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition
; Function compile flags: /Odtpy
; File d:\source code\stgm\engine_pt.cpp
;	COMDAT ?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z PROC ; TeamPurchaseSettingsDefClass::Get_Definition, COMDAT

; 31   : IMPLEMENT_THUNK_RETURN(Find_Team_Purchase_Definition)

	mov	eax, DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA ; Find_Team_Purchase_Definition
	jmp	eax
?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ENDP ; TeamPurchaseSettingsDefClass::Get_Definition
_TEXT	ENDS
PUBLIC	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
; Function compile flags: /Odtpy
;	COMDAT ?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z
_TEXT	SEGMENT
_type$ = 8						; size = 4
_team$ = 12						; size = 4
?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z PROC ; PurchaseSettingsDefClass::Find_Definition, COMDAT

; 33   : IMPLEMENT_THUNK_RETURN(Find_Purchase_Definition)

	mov	eax, DWORD PTR ?Find_Purchase_Definition@@3PAXA ; Find_Purchase_Definition
	jmp	eax
?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ENDP ; PurchaseSettingsDefClass::Find_Definition
_TEXT	ENDS
PUBLIC	?InitEnginePT@@YAXI@Z				; InitEnginePT
; Function compile flags: /Ogtpy
;	COMDAT ?InitEnginePT@@YAXI@Z
_TEXT	SEGMENT
_exe$ = 8						; size = 4
?InitEnginePT@@YAXI@Z PROC				; InitEnginePT, COMDAT

; 37   : 	switch(exe)

	mov	eax, DWORD PTR _exe$[esp-4]
	cmp	eax, 3
	ja	$LN1@InitEngine
	jmp	DWORD PTR $LN10@InitEngine[eax*4]
$LN5@InitEngine:

; 38   : 	{
; 39   : 		case 0: //game.exe
; 40   : 			DefinitionArray = (PurchaseSettingsDefClass **)0x0085E180;

	mov	DWORD PTR ?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A, 8774016 ; DefinitionArray, 0085e180H

; 41   : 			Find_Purchase_Definition = (void *)0x006F2BD0;

	mov	DWORD PTR ?Find_Purchase_Definition@@3PAXA, 7285712 ; Find_Purchase_Definition, 006f2bd0H

; 42   : 			Find_Team_Purchase_Definition = (void *)0x006F3430;

	mov	DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA, 7287856 ; Find_Team_Purchase_Definition, 006f3430H

; 63   : 			break;
; 64   : 	}
; 65   : }

	ret	0
$LN4@InitEngine:

; 43   : 			break;
; 44   : 		case 1: //server.dat
; 45   : 			DefinitionArray = (PurchaseSettingsDefClass **)0x0085D358;

	mov	DWORD PTR ?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A, 8770392 ; DefinitionArray, 0085d358H

; 46   : 			Find_Purchase_Definition = (void *)0x006F2190;

	mov	DWORD PTR ?Find_Purchase_Definition@@3PAXA, 7283088 ; Find_Purchase_Definition, 006f2190H

; 47   : 			Find_Team_Purchase_Definition = (void *)0x006F29F0;

	mov	DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA, 7285232 ; Find_Team_Purchase_Definition, 006f29f0H

; 63   : 			break;
; 64   : 	}
; 65   : }

	ret	0
$LN3@InitEngine:

; 48   : 			break;
; 49   : 		case 2: //RH73
; 50   : 			DefinitionArray = (PurchaseSettingsDefClass **)0x086CA920;

	mov	DWORD PTR ?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A, 141338912 ; DefinitionArray, 086ca920H

; 51   : 			Find_Purchase_Definition = (void *)0x08146D08;

	mov	DWORD PTR ?Find_Purchase_Definition@@3PAXA, 135556360 ; Find_Purchase_Definition, 08146d08H

; 52   : 			Find_Team_Purchase_Definition = (void *)0x0817A6D4;

	mov	DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA, 135767764 ; Find_Team_Purchase_Definition, 0817a6d4H

; 63   : 			break;
; 64   : 	}
; 65   : }

	ret	0
$LN2@InitEngine:

; 53   : 			break;
; 54   : 		case 3: //RH8
; 55   : 			DefinitionArray = (PurchaseSettingsDefClass **)0x085F2180;

	mov	DWORD PTR ?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A, 140452224 ; DefinitionArray, 085f2180H

; 56   : 			Find_Purchase_Definition = (void *)0x08135F3A;

	mov	DWORD PTR ?Find_Purchase_Definition@@3PAXA, 135487290 ; Find_Purchase_Definition, 08135f3aH

; 57   : 			Find_Team_Purchase_Definition = (void *)0x081658D6;

	mov	DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA, 135682262 ; Find_Team_Purchase_Definition, 081658d6H

; 63   : 			break;
; 64   : 	}
; 65   : }

	ret	0
$LN1@InitEngine:

; 58   : 			break;
; 59   : 		default:
; 60   : 			DefinitionArray = (PurchaseSettingsDefClass **)0;

	xor	eax, eax
	mov	DWORD PTR ?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A, eax ; DefinitionArray

; 61   : 			Find_Purchase_Definition = (void *)0;

	mov	DWORD PTR ?Find_Purchase_Definition@@3PAXA, eax ; Find_Purchase_Definition

; 62   : 			Find_Team_Purchase_Definition = (void *)0;

	mov	DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA, eax ; Find_Team_Purchase_Definition

; 63   : 			break;
; 64   : 	}
; 65   : }

	ret	0
	npad	2
$LN10@InitEngine:
	DD	$LN5@InitEngine
	DD	$LN4@InitEngine
	DD	$LN3@InitEngine
	DD	$LN2@InitEngine
?InitEnginePT@@YAXI@Z ENDP				; InitEnginePT
_TEXT	ENDS
PUBLIC	?Get_Team_Purchase_Definition@@YAPAVTeamPurchaseSettingsDefClass@@K@Z ; Get_Team_Purchase_Definition
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Team_Purchase_Definition@@YAPAVTeamPurchaseSettingsDefClass@@K@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Get_Team_Purchase_Definition@@YAPAVTeamPurchaseSettingsDefClass@@K@Z PROC ; Get_Team_Purchase_Definition, COMDAT

; 69   : 	return TeamPurchaseSettingsDefClass::Get_Definition(team);

	jmp	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition
?Get_Team_Purchase_Definition@@YAPAVTeamPurchaseSettingsDefClass@@K@Z ENDP ; Get_Team_Purchase_Definition
_TEXT	ENDS
PUBLIC	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z
_TEXT	SEGMENT
_type$ = 8						; size = 4
_team$ = 12						; size = 4
?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z PROC ; Get_Purchase_Definition, COMDAT

; 74   : 	return PurchaseSettingsDefClass::Find_Definition(type,team);

	jmp	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ENDP ; Get_Purchase_Definition
_TEXT	ENDS
PUBLIC	?Get_Team_Cost@@YAIPBDI@Z			; Get_Team_Cost
EXTRN	?Get_Definition_ID@@YAKPBD@Z:PROC		; Get_Definition_ID
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Team_Cost@@YAIPBDI@Z
_TEXT	SEGMENT
_preset$ = 8						; size = 4
_team$ = 12						; size = 4
?Get_Team_Cost@@YAIPBDI@Z PROC				; Get_Team_Cost, COMDAT

; 79   : 	unsigned int ID = Get_Definition_ID(preset);

	mov	eax, DWORD PTR _preset$[esp-4]
	push	ebp
	push	edi
	push	eax
	call	?Get_Definition_ID@@YAKPBD@Z		; Get_Definition_ID

; 80   : 	if (Get_Team_Purchase_Definition(team)->beaconpresetid == ID)

	mov	ebp, DWORD PTR _team$[esp+8]
	push	ebp
	mov	edi, eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition
	add	esp, 8
	cmp	DWORD PTR [eax+84], edi
	jne	SHORT $LN10@Get_Team_C

; 81   : 	{
; 82   : 		return Get_Team_Purchase_Definition(team)->beaconcost;

	push	ebp
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition
	mov	eax, DWORD PTR [eax+80]
	add	esp, 4
	pop	edi
	pop	ebp

; 99   : }

	ret	0
$LN10@Get_Team_C:
	push	ebx

; 83   : 	}
; 84   : 	for (unsigned int i = 0;i < 5;i++)

	xor	ebx, ebx
	push	esi
$LL24@Get_Team_C:

; 85   : 	{
; 86   : 		PurchaseSettingsDefClass *p = Get_Purchase_Definition(i,team);

	push	ebp
	push	ebx
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8

; 87   : 		if (p)

	test	eax, eax
	je	SHORT $LN8@Get_Team_C

; 88   : 		{
; 89   : 			for (unsigned int j = 0;j < 10;j++)

	xor	edx, edx
	lea	ecx, DWORD PTR [eax+200]
	lea	esi, DWORD PTR [eax+76]
	npad	4
$LL5@Get_Team_C:

; 90   : 			{
; 91   : 				if ((p->presetids[j] == ID) || (p->altpresetids[j][0] == ID) || (p->altpresetids[j][1] == ID) || (p->altpresetids[j][2] == ID))

	cmp	DWORD PTR [esi], edi
	je	SHORT $LN21@Get_Team_C
	cmp	DWORD PTR [ecx-4], edi
	je	SHORT $LN21@Get_Team_C
	cmp	DWORD PTR [ecx], edi
	je	SHORT $LN21@Get_Team_C
	cmp	DWORD PTR [ecx+4], edi
	je	SHORT $LN21@Get_Team_C
	add	edx, 1
	add	esi, 4
	add	ecx, 12					; 0000000cH
	cmp	edx, 10					; 0000000aH
	jb	SHORT $LL5@Get_Team_C
$LN8@Get_Team_C:

; 83   : 	}
; 84   : 	for (unsigned int i = 0;i < 5;i++)

	add	ebx, 1
	cmp	ebx, 5
	jb	SHORT $LL24@Get_Team_C
	pop	esi
	pop	ebx
	pop	edi

; 94   : 				}
; 95   : 			}
; 96   : 		}
; 97   : 	}
; 98   : 	return 0;

	xor	eax, eax
	pop	ebp

; 99   : }

	ret	0
$LN21@Get_Team_C:

; 92   : 				{
; 93   : 					return p->costs[j];

	mov	eax, DWORD PTR [eax+edx*4+36]
	pop	esi
	pop	ebx
	pop	edi
	pop	ebp

; 99   : }

	ret	0
?Get_Team_Cost@@YAIPBDI@Z ENDP				; Get_Team_Cost
_TEXT	ENDS
PUBLIC	?Get_Cost@@YAIPBD@Z				; Get_Cost
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Cost@@YAIPBD@Z
_TEXT	SEGMENT
_preset$ = 8						; size = 4
?Get_Cost@@YAIPBD@Z PROC				; Get_Cost, COMDAT

; 102  : {

	push	esi

; 103  : 	unsigned int cost = Get_Team_Cost(preset,0);

	mov	esi, DWORD PTR _preset$[esp]
	push	0
	push	esi
	call	?Get_Team_Cost@@YAIPBDI@Z		; Get_Team_Cost
	add	esp, 8

; 104  : 	if (!cost)

	test	eax, eax
	jne	SHORT $LN1@Get_Cost

; 105  : 	{
; 106  : 		cost = Get_Team_Cost(preset,1);

	push	1
	push	esi
	call	?Get_Team_Cost@@YAIPBDI@Z		; Get_Team_Cost
	add	esp, 8
$LN1@Get_Cost:
	pop	esi

; 107  : 	}
; 108  : 	return cost;
; 109  : }

	ret	0
?Get_Cost@@YAIPBD@Z ENDP				; Get_Cost
_TEXT	ENDS
PUBLIC	?Set_Enlisted@@YAXIIIIPBD@Z			; Set_Enlisted
EXTRN	??4StringClass@@QAEAAV0@PBD@Z:PROC		; StringClass::operator=
EXTRN	?memoryDestroyPassthrough@@3_NA:BYTE		; memoryDestroyPassthrough
EXTRN	?memoryPassthrough@@3_NA:BYTE			; memoryPassthrough
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Enlisted@@YAXIIIIPBD@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_position$ = 12						; size = 4
_presetid$ = 16						; size = 4
_stringid$ = 20						; size = 4
_texture$ = 24						; size = 4
?Set_Enlisted@@YAXIIIIPBD@Z PROC			; Set_Enlisted, COMDAT

; 113  : 	if ((team > 1) || (position > 3))

	mov	eax, DWORD PTR _team$[esp-4]
	cmp	eax, 1
	ja	SHORT $LN1@Set_Enlist
	push	esi
	mov	esi, DWORD PTR _position$[esp]
	cmp	esi, 3
	ja	SHORT $LN7@Set_Enlist

; 114  : 	{
; 115  : 		return;
; 116  : 	}
; 117  : 	TeamPurchaseSettingsDefClass *t = Get_Team_Purchase_Definition(team);

	push	eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition

; 118  : 	t->presetids[position] = presetid;

	mov	ecx, DWORD PTR _presetid$[esp+4]

; 119  : 	t->stringids[position] = stringid;

	mov	edx, DWORD PTR _stringid$[esp+4]
	mov	DWORD PTR [eax+esi*4+32], ecx

; 120  : #ifdef _MEMTRACK
; 121  : 	memoryPassthrough = true;
; 122  : 	memoryDestroyPassthrough = true;
; 123  : #endif
; 124  : 	t->textures[position] = texture;

	mov	ecx, DWORD PTR _texture$[esp+4]
	add	esp, 4
	mov	DWORD PTR [eax+esi*4+48], edx
	push	ecx
	lea	ecx, DWORD PTR [eax+esi*4+64]
	mov	BYTE PTR ?memoryPassthrough@@3_NA, 1	; memoryPassthrough
	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, 1 ; memoryDestroyPassthrough
	call	??4StringClass@@QAEAAV0@PBD@Z		; StringClass::operator=

; 125  : #ifdef _MEMTRACK
; 126  : 	memoryPassthrough = false;

	xor	al, al
	mov	BYTE PTR ?memoryPassthrough@@3_NA, al	; memoryPassthrough

; 127  : 	memoryDestroyPassthrough = false;

	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, al ; memoryDestroyPassthrough
$LN7@Set_Enlist:
	pop	esi
$LN1@Set_Enlist:

; 128  : #endif
; 129  : }

	ret	0
?Set_Enlisted@@YAXIIIIPBD@Z ENDP			; Set_Enlisted
_TEXT	ENDS
PUBLIC	?Set_Beacon@@YAXIIIIPBD@Z			; Set_Beacon
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Beacon@@YAXIIIIPBD@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_cost$ = 12						; size = 4
_presetid$ = 16						; size = 4
_stringid$ = 20						; size = 4
_texture$ = 24						; size = 4
?Set_Beacon@@YAXIIIIPBD@Z PROC				; Set_Beacon, COMDAT

; 132  : 	if (team > 1)

	mov	eax, DWORD PTR _team$[esp-4]
	cmp	eax, 1
	ja	SHORT $LN2@Set_Beacon

; 133  : 	{
; 134  : 		return;
; 135  : 	}
; 136  : 	TeamPurchaseSettingsDefClass *t = Get_Team_Purchase_Definition(team);

	push	eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition

; 137  : 	t->beaconcost = cost;

	mov	ecx, DWORD PTR _cost$[esp]

; 138  : 	t->beaconpresetid = presetid;

	mov	edx, DWORD PTR _presetid$[esp]
	mov	DWORD PTR [eax+80], ecx

; 139  : 	t->beaconstringid = stringid;

	mov	ecx, DWORD PTR _stringid$[esp]
	mov	DWORD PTR [eax+84], edx

; 140  : #ifdef _MEMTRACK
; 141  : 	memoryPassthrough = true;
; 142  : 	memoryDestroyPassthrough = true;
; 143  : #endif
; 144  : 	t->beacontexture = texture;

	mov	edx, DWORD PTR _texture$[esp]
	mov	DWORD PTR [eax+88], ecx
	add	esp, 4
	push	edx
	lea	ecx, DWORD PTR [eax+92]
	mov	BYTE PTR ?memoryPassthrough@@3_NA, 1	; memoryPassthrough
	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, 1 ; memoryDestroyPassthrough
	call	??4StringClass@@QAEAAV0@PBD@Z		; StringClass::operator=

; 145  : #ifdef _MEMTRACK
; 146  : 	memoryPassthrough = false;

	xor	al, al
	mov	BYTE PTR ?memoryPassthrough@@3_NA, al	; memoryPassthrough

; 147  : 	memoryDestroyPassthrough = false;

	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, al ; memoryDestroyPassthrough
$LN2@Set_Beacon:

; 148  : #endif
; 149  : }

	ret	0
?Set_Beacon@@YAXIIIIPBD@Z ENDP				; Set_Beacon
_TEXT	ENDS
PUBLIC	?Set_Refill@@YAXIIPBD@Z				; Set_Refill
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Refill@@YAXIIPBD@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_stringid$ = 12						; size = 4
_texture$ = 16						; size = 4
?Set_Refill@@YAXIIPBD@Z PROC				; Set_Refill, COMDAT

; 153  : 	if (team > 1)

	mov	eax, DWORD PTR _team$[esp-4]
	cmp	eax, 1
	ja	SHORT $LN2@Set_Refill

; 154  : 	{
; 155  : 		return;
; 156  : 	}
; 157  : 	TeamPurchaseSettingsDefClass *t = Get_Team_Purchase_Definition(team);

	push	eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition

; 158  : 	t->refillstringid = stringid;

	mov	ecx, DWORD PTR _stringid$[esp]

; 159  : #ifdef _MEMTRACK
; 160  : 	memoryPassthrough = true;
; 161  : 	memoryDestroyPassthrough = true;
; 162  : #endif
; 163  : 	t->refilltexture = texture;

	mov	edx, DWORD PTR _texture$[esp]
	mov	DWORD PTR [eax+96], ecx
	add	esp, 4
	push	edx
	lea	ecx, DWORD PTR [eax+100]
	mov	BYTE PTR ?memoryPassthrough@@3_NA, 1	; memoryPassthrough
	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, 1 ; memoryDestroyPassthrough
	call	??4StringClass@@QAEAAV0@PBD@Z		; StringClass::operator=

; 164  : #ifdef _MEMTRACK
; 165  : 	memoryPassthrough = false;

	xor	al, al
	mov	BYTE PTR ?memoryPassthrough@@3_NA, al	; memoryPassthrough

; 166  : 	memoryDestroyPassthrough = false;

	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, al ; memoryDestroyPassthrough
$LN2@Set_Refill:

; 167  : #endif
; 168  : }

	ret	0
?Set_Refill@@YAXIIPBD@Z ENDP				; Set_Refill
_TEXT	ENDS
PUBLIC	?Set_Preset@@YAXIIIIIIPBD@Z			; Set_Preset
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Preset@@YAXIIIIIIPBD@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_type$ = 12						; size = 4
_position$ = 16						; size = 4
_cost$ = 20						; size = 4
_presetid$ = 24						; size = 4
_stringid$ = 28						; size = 4
_texture$ = 32						; size = 4
?Set_Preset@@YAXIIIIIIPBD@Z PROC			; Set_Preset, COMDAT

; 172  : 	if ((team > 1) || (type > 4) || (position > 9))

	mov	eax, DWORD PTR _team$[esp-4]
	cmp	eax, 1
	ja	SHORT $LN2@Set_Preset
	mov	ecx, DWORD PTR _type$[esp-4]
	cmp	ecx, 4
	ja	SHORT $LN2@Set_Preset
	push	esi
	mov	esi, DWORD PTR _position$[esp]
	cmp	esi, 9
	ja	SHORT $LN8@Set_Preset

; 173  : 	{
; 174  : 		return;
; 175  : 	}
; 176  : 	PurchaseSettingsDefClass *p = Get_Purchase_Definition(type,team);

	push	eax
	push	ecx
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8

; 177  : 	if (!p)

	test	eax, eax
	je	SHORT $LN8@Set_Preset

; 178  : 	{
; 179  : 		return;
; 180  : 	}
; 181  : 	p->costs[position] = cost;

	mov	ecx, DWORD PTR _cost$[esp]

; 182  : 	p->presetids[position] = presetid;

	mov	edx, DWORD PTR _presetid$[esp]
	mov	DWORD PTR [eax+esi*4+36], ecx

; 183  : 	p->stringids[position] = stringid;

	mov	ecx, DWORD PTR _stringid$[esp]
	mov	DWORD PTR [eax+esi*4+76], edx

; 184  : #ifdef _MEMTRACK
; 185  : 	memoryPassthrough = true;
; 186  : 	memoryDestroyPassthrough = true;
; 187  : #endif
; 188  : 	p->textures[position] = texture;

	mov	edx, DWORD PTR _texture$[esp]
	mov	DWORD PTR [eax+esi*4+116], ecx
	push	edx
	lea	ecx, DWORD PTR [eax+esi*4+156]
	mov	BYTE PTR ?memoryPassthrough@@3_NA, 1	; memoryPassthrough
	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, 1 ; memoryDestroyPassthrough
	call	??4StringClass@@QAEAAV0@PBD@Z		; StringClass::operator=

; 189  : #ifdef _MEMTRACK
; 190  : 	memoryPassthrough = false;

	mov	BYTE PTR ?memoryPassthrough@@3_NA, 0	; memoryPassthrough

; 191  : 	memoryDestroyPassthrough = false;

	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, 0 ; memoryDestroyPassthrough
$LN8@Set_Preset:
	pop	esi
$LN2@Set_Preset:

; 192  : #endif
; 193  : }

	ret	0
?Set_Preset@@YAXIIIIIIPBD@Z ENDP			; Set_Preset
_TEXT	ENDS
PUBLIC	?Set_Alternate@@YAXIIIIIPBD@Z			; Set_Alternate
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Alternate@@YAXIIIIIPBD@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_type$ = 12						; size = 4
_position$ = 16						; size = 4
_altpos$ = 20						; size = 4
_presetid$ = 24						; size = 4
_texture$ = 28						; size = 4
?Set_Alternate@@YAXIIIIIPBD@Z PROC			; Set_Alternate, COMDAT

; 197  : 	if ((team > 1) || (type > 4) || (position > 9) || (altpos > 2))

	mov	eax, DWORD PTR _team$[esp-4]
	cmp	eax, 1
	ja	SHORT $LN1@Set_Altern
	mov	ecx, DWORD PTR _type$[esp-4]
	cmp	ecx, 4
	ja	SHORT $LN1@Set_Altern
	push	esi
	mov	esi, DWORD PTR _position$[esp]
	cmp	esi, 9
	ja	SHORT $LN7@Set_Altern
	push	edi
	mov	edi, DWORD PTR _altpos$[esp+4]
	cmp	edi, 2
	ja	SHORT $LN8@Set_Altern

; 198  : 	{
; 199  : 		return;
; 200  : 	}
; 201  : 	PurchaseSettingsDefClass *p = Get_Purchase_Definition(type,team);

	push	eax
	push	ecx
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition

; 202  : 	p->altpresetids[position][altpos] = presetid;

	mov	edx, DWORD PTR _presetid$[esp+12]
	lea	ecx, DWORD PTR [edi+esi*2]
	add	ecx, esi
	mov	DWORD PTR [eax+ecx*4+196], edx

; 203  : #ifdef _MEMTRACK
; 204  : 	memoryPassthrough = true;
; 205  : 	memoryDestroyPassthrough = true;
; 206  : #endif
; 207  : 	p->alttextures[position][altpos] = texture;

	mov	edx, DWORD PTR _texture$[esp+12]
	add	esp, 8
	push	edx
	lea	ecx, DWORD PTR [eax+ecx*4+316]
	mov	BYTE PTR ?memoryPassthrough@@3_NA, 1	; memoryPassthrough
	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, 1 ; memoryDestroyPassthrough
	call	??4StringClass@@QAEAAV0@PBD@Z		; StringClass::operator=

; 208  : #ifdef _MEMTRACK
; 209  : 	memoryPassthrough = false;

	xor	al, al
	mov	BYTE PTR ?memoryPassthrough@@3_NA, al	; memoryPassthrough

; 210  : 	memoryDestroyPassthrough = false;

	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, al ; memoryDestroyPassthrough
$LN8@Set_Altern:
	pop	edi
$LN7@Set_Altern:
	pop	esi
$LN1@Set_Altern:

; 211  : #endif
; 212  : }

	ret	0
?Set_Alternate@@YAXIIIIIPBD@Z ENDP			; Set_Alternate
_TEXT	ENDS
PUBLIC	??_C@_01CLKCMJKC@?5?$AA@			; `string'
PUBLIC	?Disable_Enlisted@@YAXII@Z			; Disable_Enlisted
;	COMDAT ??_C@_01CLKCMJKC@?5?$AA@
CONST	SEGMENT
??_C@_01CLKCMJKC@?5?$AA@ DB ' ', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Disable_Enlisted@@YAXII@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_position$ = 12						; size = 4
?Disable_Enlisted@@YAXII@Z PROC				; Disable_Enlisted, COMDAT

; 216  : 	if ((team > 1) || (position > 3))

	mov	eax, DWORD PTR _team$[esp-4]
	cmp	eax, 1
	ja	SHORT $LN1@Disable_En
	push	esi
	mov	esi, DWORD PTR _position$[esp]
	cmp	esi, 3
	ja	SHORT $LN7@Disable_En
	push	ebx

; 217  : 	{
; 218  : 		return;
; 219  : 	}
; 220  : 	TeamPurchaseSettingsDefClass *t = Get_Team_Purchase_Definition(team);

	push	eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition

; 221  : 	t->presetids[position] = 0;

	xor	ebx, ebx
	add	esp, 4
	mov	DWORD PTR [eax+esi*4+32], ebx

; 222  : 	t->stringids[position] = 0;

	mov	DWORD PTR [eax+esi*4+48], ebx

; 223  : #ifdef _MEMTRACK
; 224  : 	memoryPassthrough = true;
; 225  : 	memoryDestroyPassthrough = true;
; 226  : #endif
; 227  : 	t->textures[position] = " ";

	push	OFFSET ??_C@_01CLKCMJKC@?5?$AA@
	lea	ecx, DWORD PTR [eax+esi*4+64]
	mov	BYTE PTR ?memoryPassthrough@@3_NA, 1	; memoryPassthrough
	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, 1 ; memoryDestroyPassthrough
	call	??4StringClass@@QAEAAV0@PBD@Z		; StringClass::operator=

; 228  : #ifdef _MEMTRACK
; 229  : 	memoryPassthrough = false;

	mov	BYTE PTR ?memoryPassthrough@@3_NA, bl	; memoryPassthrough

; 230  : 	memoryDestroyPassthrough = false;

	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, bl ; memoryDestroyPassthrough
	pop	ebx
$LN7@Disable_En:
	pop	esi
$LN1@Disable_En:

; 231  : #endif
; 232  : }

	ret	0
?Disable_Enlisted@@YAXII@Z ENDP				; Disable_Enlisted
_TEXT	ENDS
PUBLIC	?Disable_Preset_By_Name@@YAXIPBD@Z		; Disable_Preset_By_Name
; Function compile flags: /Ogtpy
;	COMDAT ?Disable_Preset_By_Name@@YAXIPBD@Z
_TEXT	SEGMENT
_ID$ = -4						; size = 4
_Team$ = 8						; size = 4
_Name$ = 12						; size = 4
?Disable_Preset_By_Name@@YAXIPBD@Z PROC			; Disable_Preset_By_Name, COMDAT

; 235  : {

	push	ecx

; 236  : 	unsigned int ID = Get_Definition_ID(Name);

	mov	eax, DWORD PTR _Name$[esp]
	push	ebx
	push	ebp
	push	esi
	push	edi
	push	eax
	call	?Get_Definition_ID@@YAKPBD@Z		; Get_Definition_ID

; 237  : 	PurchaseSettingsDefClass *p = 0;
; 238  : 	unsigned int i;
; 239  : 	for (i = 0; i < 5; i++)

	mov	ebp, DWORD PTR _Team$[esp+20]
	add	esp, 4
	mov	DWORD PTR _ID$[esp+20], eax
	xor	esi, esi
	mov	ebx, 1000000				; 000f4240H
	mov	edi, 7265				; 00001c61H
$LL8@Disable_Pr:

; 240  : 	{
; 241  : 		p = Get_Purchase_Definition(i,Team);

	push	ebp
	push	esi
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8

; 242  : 		if (!p)

	test	eax, eax
	je	SHORT $LN7@Disable_Pr

; 243  : 		{
; 244  : 			continue;
; 245  : 		}
; 246  : 		for (unsigned int j = 0; j < 10; j++)

	add	eax, 76					; 0000004cH
	mov	ecx, 10					; 0000000aH
	npad	4
$LL4@Disable_Pr:

; 247  : 		{
; 248  : 			if (p->presetids[j] == ID)

	mov	edx, DWORD PTR _ID$[esp+20]
	cmp	DWORD PTR [eax], edx
	jne	SHORT $LN3@Disable_Pr

; 249  : 			{
; 250  : 				p->presetids[j] = 0;

	mov	DWORD PTR [eax], 0

; 251  : 				p->costs[j] = 1000000;

	mov	DWORD PTR [eax-40], ebx

; 252  : 				p->stringids[j] = 7265;

	mov	DWORD PTR [eax+40], edi
$LN3@Disable_Pr:
	add	eax, 4
	sub	ecx, 1
	jne	SHORT $LL4@Disable_Pr
$LN7@Disable_Pr:

; 237  : 	PurchaseSettingsDefClass *p = 0;
; 238  : 	unsigned int i;
; 239  : 	for (i = 0; i < 5; i++)

	add	esi, 1
	cmp	esi, 5
	jb	SHORT $LL8@Disable_Pr
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 253  : 			}
; 254  : 		}
; 255  : 	}
; 256  : }

	pop	ecx
	ret	0
?Disable_Preset_By_Name@@YAXIPBD@Z ENDP			; Disable_Preset_By_Name
_TEXT	ENDS
PUBLIC	?Disable_Enlisted_By_Name@@YAXIPBD@Z		; Disable_Enlisted_By_Name
; Function compile flags: /Ogtpy
;	COMDAT ?Disable_Enlisted_By_Name@@YAXIPBD@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
_Name$ = 12						; size = 4
?Disable_Enlisted_By_Name@@YAXIPBD@Z PROC		; Disable_Enlisted_By_Name, COMDAT

; 260  : 	unsigned int ID = Get_Definition_ID(Name);

	mov	eax, DWORD PTR _Name$[esp-4]
	push	esi
	push	eax
	call	?Get_Definition_ID@@YAKPBD@Z		; Get_Definition_ID

; 261  : 	TeamPurchaseSettingsDefClass *p = Get_Team_Purchase_Definition(Team);

	mov	ecx, DWORD PTR _Team$[esp+4]
	push	ecx
	mov	esi, eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition
	add	esp, 8

; 262  : 	for (unsigned int j = 0; j < 4; j++)
; 263  : 	{
; 264  : 		if (p->presetids[j] == ID)

	xor	ecx, ecx
	cmp	DWORD PTR [eax+32], esi
	jne	SHORT $LN3@Disable_En@2

; 265  : 		{
; 266  : 			p->presetids[j] = 0;

	mov	DWORD PTR [eax+32], ecx
$LN3@Disable_En@2:

; 262  : 	for (unsigned int j = 0; j < 4; j++)
; 263  : 	{
; 264  : 		if (p->presetids[j] == ID)

	cmp	DWORD PTR [eax+36], esi
	jne	SHORT $LN13@Disable_En@2

; 265  : 		{
; 266  : 			p->presetids[j] = 0;

	mov	DWORD PTR [eax+36], ecx
$LN13@Disable_En@2:

; 262  : 	for (unsigned int j = 0; j < 4; j++)
; 263  : 	{
; 264  : 		if (p->presetids[j] == ID)

	cmp	DWORD PTR [eax+40], esi
	jne	SHORT $LN15@Disable_En@2

; 265  : 		{
; 266  : 			p->presetids[j] = 0;

	mov	DWORD PTR [eax+40], ecx
$LN15@Disable_En@2:

; 262  : 	for (unsigned int j = 0; j < 4; j++)
; 263  : 	{
; 264  : 		if (p->presetids[j] == ID)

	cmp	DWORD PTR [eax+44], esi
	pop	esi
	jne	SHORT $LN17@Disable_En@2

; 265  : 		{
; 266  : 			p->presetids[j] = 0;

	mov	DWORD PTR [eax+44], ecx
$LN17@Disable_En@2:

; 267  : 		}
; 268  : 	}
; 269  : }

	ret	0
?Disable_Enlisted_By_Name@@YAXIPBD@Z ENDP		; Disable_Enlisted_By_Name
_TEXT	ENDS
PUBLIC	?Hide_Preset_By_Name@@YAXIPBD@Z			; Hide_Preset_By_Name
; Function compile flags: /Ogtpy
;	COMDAT ?Hide_Preset_By_Name@@YAXIPBD@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
_Name$ = 12						; size = 4
?Hide_Preset_By_Name@@YAXIPBD@Z PROC			; Hide_Preset_By_Name, COMDAT

; 273  : 	unsigned int ID = Get_Definition_ID(Name);

	mov	eax, DWORD PTR _Name$[esp-4]
	push	ebx
	push	ebp
	push	esi
	push	edi
	push	eax
	call	?Get_Definition_ID@@YAKPBD@Z		; Get_Definition_ID

; 274  : 	TeamPurchaseSettingsDefClass *t = Get_Team_Purchase_Definition(Team);

	mov	ebx, DWORD PTR _Team$[esp+16]
	push	ebx
	mov	edi, eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition
	add	esp, 8

; 275  : 	for (unsigned int j = 0; j < 4; j++)
; 276  : 	{
; 277  : 		if (t->presetids[j] == ID)

	cmp	DWORD PTR [eax+32], edi
	mov	ebp, 12574				; 0000311eH
	jne	SHORT $LN11@Hide_Prese

; 278  : 		{
; 279  : 			t->stringids[j] = 12574;

	mov	DWORD PTR [eax+48], ebp
$LN11@Hide_Prese:

; 275  : 	for (unsigned int j = 0; j < 4; j++)
; 276  : 	{
; 277  : 		if (t->presetids[j] == ID)

	cmp	DWORD PTR [eax+36], edi
	jne	SHORT $LN27@Hide_Prese

; 278  : 		{
; 279  : 			t->stringids[j] = 12574;

	mov	DWORD PTR [eax+52], ebp
$LN27@Hide_Prese:

; 275  : 	for (unsigned int j = 0; j < 4; j++)
; 276  : 	{
; 277  : 		if (t->presetids[j] == ID)

	cmp	DWORD PTR [eax+40], edi
	jne	SHORT $LN29@Hide_Prese

; 278  : 		{
; 279  : 			t->stringids[j] = 12574;

	mov	DWORD PTR [eax+56], ebp
$LN29@Hide_Prese:

; 275  : 	for (unsigned int j = 0; j < 4; j++)
; 276  : 	{
; 277  : 		if (t->presetids[j] == ID)

	cmp	DWORD PTR [eax+44], edi
	jne	SHORT $LN31@Hide_Prese

; 278  : 		{
; 279  : 			t->stringids[j] = 12574;

	mov	DWORD PTR [eax+60], ebp
$LN31@Hide_Prese:

; 280  : 		}
; 281  : 	}
; 282  : 	PurchaseSettingsDefClass *p = 0;
; 283  : 	unsigned int i;
; 284  : 	for (i = 0; i < 5; i++)

	xor	esi, esi
$LL8@Hide_Prese:

; 285  : 	{
; 286  : 		p = Get_Purchase_Definition(i,Team);

	push	ebx
	push	esi
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8

; 287  : 		if (!p)

	test	eax, eax
	je	SHORT $LN7@Hide_Prese

; 288  : 		{
; 289  : 			continue;
; 290  : 		}
; 291  : 		for (unsigned int j = 0; j < 10; j++)

	add	eax, 116				; 00000074H
	mov	ecx, 10					; 0000000aH
	npad	6
$LL4@Hide_Prese:

; 292  : 		{
; 293  : 			if (p->presetids[j] == ID)

	cmp	DWORD PTR [eax-40], edi
	jne	SHORT $LN3@Hide_Prese

; 294  : 			{
; 295  : 				p->stringids[j] = 12574;

	mov	DWORD PTR [eax], ebp
$LN3@Hide_Prese:

; 288  : 		{
; 289  : 			continue;
; 290  : 		}
; 291  : 		for (unsigned int j = 0; j < 10; j++)

	add	eax, 4
	sub	ecx, 1
	jne	SHORT $LL4@Hide_Prese
$LN7@Hide_Prese:

; 280  : 		}
; 281  : 	}
; 282  : 	PurchaseSettingsDefClass *p = 0;
; 283  : 	unsigned int i;
; 284  : 	for (i = 0; i < 5; i++)

	add	esi, 1
	cmp	esi, 5
	jb	SHORT $LL8@Hide_Prese
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 296  : 			}
; 297  : 		}
; 298  : 	}
; 299  : }

	ret	0
?Hide_Preset_By_Name@@YAXIPBD@Z ENDP			; Hide_Preset_By_Name
_TEXT	ENDS
PUBLIC	?Disable_Preset@@YAXIII@Z			; Disable_Preset
; Function compile flags: /Ogtpy
;	COMDAT ?Disable_Preset@@YAXIII@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_type$ = 12						; size = 4
_position$ = 16						; size = 4
?Disable_Preset@@YAXIII@Z PROC				; Disable_Preset, COMDAT

; 303  : 	if ((team > 1) || (type > 4) || (position > 9))

	mov	ecx, DWORD PTR _team$[esp-4]
	cmp	ecx, 1
	ja	$LN5@Disable_Pr@2
	mov	eax, DWORD PTR _type$[esp-4]
	cmp	eax, 4
	ja	$LN5@Disable_Pr@2
	push	edi
	mov	edi, DWORD PTR _position$[esp]
	cmp	edi, 9
	ja	SHORT $LN13@Disable_Pr@2
	push	ebx
	push	esi

; 304  : 	{
; 305  : 		return;
; 306  : 	}
; 307  : 	PurchaseSettingsDefClass *p = Get_Purchase_Definition(type,team);

	push	ecx
	push	eax
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	mov	esi, eax

; 308  : 	if (!p)

	xor	ebx, ebx
	add	esp, 8
	cmp	esi, ebx
	je	SHORT $LN14@Disable_Pr@2

; 309  : 	{
; 310  : 		return;
; 311  : 	}
; 312  : #ifdef _MEMTRACK
; 313  : 	memoryPassthrough = true;

	mov	BYTE PTR ?memoryPassthrough@@3_NA, 1	; memoryPassthrough

; 314  : 	memoryDestroyPassthrough = true;

	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, 1 ; memoryDestroyPassthrough

; 315  : #endif
; 316  : 	p->presetids[position] = 0;
; 317  : 	p->costs[position] = 0;
; 318  : 	p->stringids[position] = 0;
; 319  : 	p->textures[position] = " ";

	push	OFFSET ??_C@_01CLKCMJKC@?5?$AA@
	lea	ecx, DWORD PTR [esi+edi*4+156]
	mov	DWORD PTR [esi+edi*4+76], ebx
	mov	DWORD PTR [esi+edi*4+36], ebx
	mov	DWORD PTR [esi+edi*4+116], ebx
	call	??4StringClass@@QAEAAV0@PBD@Z		; StringClass::operator=
	lea	eax, DWORD PTR [edi+edi*2]
	lea	esi, DWORD PTR [esi+eax*4+316]
	lea	edi, DWORD PTR [ebx+3]
$LL3@Disable_Pr@2:

; 320  : 	for (unsigned int i = 0;i < 3;++i)
; 321  : 	{
; 322  : 		p->altpresetids[position][i] = 0;
; 323  : 		p->alttextures[position][i] = " ";

	push	OFFSET ??_C@_01CLKCMJKC@?5?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi-120], ebx
	call	??4StringClass@@QAEAAV0@PBD@Z		; StringClass::operator=
	add	esi, 4
	sub	edi, 1
	jne	SHORT $LL3@Disable_Pr@2

; 324  : 	}
; 325  : #ifdef _MEMTRACK
; 326  : 	memoryPassthrough = false;

	mov	BYTE PTR ?memoryPassthrough@@3_NA, bl	; memoryPassthrough

; 327  : 	memoryDestroyPassthrough = false;

	mov	BYTE PTR ?memoryDestroyPassthrough@@3_NA, bl ; memoryDestroyPassthrough
$LN14@Disable_Pr@2:
	pop	esi
	pop	ebx
$LN13@Disable_Pr@2:
	pop	edi
$LN5@Disable_Pr@2:

; 328  : #endif
; 329  : }

	ret	0
?Disable_Preset@@YAXIII@Z ENDP				; Disable_Preset
_TEXT	ENDS
PUBLIC	?Disable_All_Ground_Vehicles@@YAXI@Z		; Disable_All_Ground_Vehicles
EXTRN	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z:PROC	; Get_Vehicle_Definition_Mode_By_ID
; Function compile flags: /Ogtpy
;	COMDAT ?Disable_All_Ground_Vehicles@@YAXI@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Disable_All_Ground_Vehicles@@YAXI@Z PROC		; Disable_All_Ground_Vehicles, COMDAT

; 332  : {

	push	ebx

; 333  : 	PurchaseSettingsDefClass *p = Get_Purchase_Definition(VEHICLES,team);

	mov	ebx, DWORD PTR _team$[esp]
	push	esi
	push	edi
	push	ebx
	push	1
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8

; 334  : 	if (p)

	test	eax, eax
	je	SHORT $LN7@Disable_Al

; 335  : 	{
; 336  : 		unsigned int i;
; 337  : 		for (i = 0;i < 10;i++)

	lea	esi, DWORD PTR [eax+76]
	mov	edi, 10					; 0000000aH
	npad	2
$LL9@Disable_Al:

; 338  : 		{
; 339  : 			if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[i]) != FLYING)

	mov	eax, DWORD PTR [esi]
	push	eax
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID
	add	esp, 4
	cmp	eax, 3
	je	SHORT $LN8@Disable_Al

; 340  : 			{
; 341  : 				p->presetids[i] = 0;

	mov	DWORD PTR [esi], 0
$LN8@Disable_Al:

; 335  : 	{
; 336  : 		unsigned int i;
; 337  : 		for (i = 0;i < 10;i++)

	add	esi, 4
	sub	edi, 1
	jne	SHORT $LL9@Disable_Al
$LN7@Disable_Al:

; 342  : 			}
; 343  : 		}
; 344  : 	}
; 345  : 	p = Get_Purchase_Definition(SECRETVEHICLES,team);

	push	ebx
	push	4
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8

; 346  : 	if (!p)

	test	eax, eax
	je	SHORT $LN2@Disable_Al

; 347  : 	{
; 348  : 		return;
; 349  : 	}
; 350  : 	for (int i = 0;i < 10;i++)

	lea	esi, DWORD PTR [eax+76]
	mov	edi, 10					; 0000000aH
$LL4@Disable_Al:

; 351  : 	{
; 352  : 		if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[i]) != FLYING)

	mov	ecx, DWORD PTR [esi]
	push	ecx
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID
	add	esp, 4
	cmp	eax, 3
	je	SHORT $LN3@Disable_Al

; 353  : 		{
; 354  : 			p->presetids[i] = 0;

	mov	DWORD PTR [esi], 0
$LN3@Disable_Al:

; 347  : 	{
; 348  : 		return;
; 349  : 	}
; 350  : 	for (int i = 0;i < 10;i++)

	add	esi, 4
	sub	edi, 1
	jne	SHORT $LL4@Disable_Al
$LN2@Disable_Al:
	pop	edi
	pop	esi
	pop	ebx

; 355  : 		}
; 356  : 	}
; 357  : }

	ret	0
?Disable_All_Ground_Vehicles@@YAXI@Z ENDP		; Disable_All_Ground_Vehicles
_TEXT	ENDS
PUBLIC	?Disable_All_Flying_Vehicles@@YAXI@Z		; Disable_All_Flying_Vehicles
; Function compile flags: /Ogtpy
;	COMDAT ?Disable_All_Flying_Vehicles@@YAXI@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Disable_All_Flying_Vehicles@@YAXI@Z PROC		; Disable_All_Flying_Vehicles, COMDAT

; 360  : {

	push	ebx

; 361  : 	PurchaseSettingsDefClass *p = Get_Purchase_Definition(VEHICLES,team);

	mov	ebx, DWORD PTR _team$[esp]
	push	esi
	push	edi
	push	ebx
	push	1
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8

; 362  : 	if (p)

	test	eax, eax
	je	SHORT $LN7@Disable_Al@2

; 363  : 	{
; 364  : 		unsigned int i;
; 365  : 		for (i = 0;i < 10;i++)

	lea	esi, DWORD PTR [eax+76]
	mov	edi, 10					; 0000000aH
	npad	2
$LL9@Disable_Al@2:

; 366  : 		{
; 367  : 			if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[i]) == FLYING)

	mov	eax, DWORD PTR [esi]
	push	eax
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID
	add	esp, 4
	cmp	eax, 3
	jne	SHORT $LN8@Disable_Al@2

; 368  : 			{
; 369  : 				p->presetids[i] = 0;

	mov	DWORD PTR [esi], 0
$LN8@Disable_Al@2:

; 363  : 	{
; 364  : 		unsigned int i;
; 365  : 		for (i = 0;i < 10;i++)

	add	esi, 4
	sub	edi, 1
	jne	SHORT $LL9@Disable_Al@2
$LN7@Disable_Al@2:

; 370  : 			}
; 371  : 		}
; 372  : 	}
; 373  : 	p = Get_Purchase_Definition(SECRETVEHICLES,team);

	push	ebx
	push	4
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8

; 374  : 	if (!p)

	test	eax, eax
	je	SHORT $LN2@Disable_Al@2

; 375  : 	{
; 376  : 		return;
; 377  : 	}
; 378  : 	for (int i = 0;i < 10;i++)

	lea	esi, DWORD PTR [eax+76]
	mov	edi, 10					; 0000000aH
$LL4@Disable_Al@2:

; 379  : 	{
; 380  : 		if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[i]) == FLYING)

	mov	ecx, DWORD PTR [esi]
	push	ecx
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID
	add	esp, 4
	cmp	eax, 3
	jne	SHORT $LN3@Disable_Al@2

; 381  : 		{
; 382  : 			p->presetids[i] = 0;

	mov	DWORD PTR [esi], 0
$LN3@Disable_Al@2:

; 375  : 	{
; 376  : 		return;
; 377  : 	}
; 378  : 	for (int i = 0;i < 10;i++)

	add	esi, 4
	sub	edi, 1
	jne	SHORT $LL4@Disable_Al@2
$LN2@Disable_Al@2:
	pop	edi
	pop	esi
	pop	ebx

; 383  : 		}
; 384  : 	}
; 385  : }

	ret	0
?Disable_All_Flying_Vehicles@@YAXI@Z ENDP		; Disable_All_Flying_Vehicles
_TEXT	ENDS
PUBLIC	?Get_Team_Icon@@YAPADPBDI@Z			; Get_Team_Icon
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Team_Icon@@YAPADPBDI@Z
_TEXT	SEGMENT
_preset$ = 8						; size = 4
_team$ = 12						; size = 4
?Get_Team_Icon@@YAPADPBDI@Z PROC			; Get_Team_Icon, COMDAT

; 389  : 	unsigned int ID = Get_Definition_ID(preset);

	mov	eax, DWORD PTR _preset$[esp-4]
	push	ebp
	push	edi
	push	eax
	call	?Get_Definition_ID@@YAKPBD@Z		; Get_Definition_ID

; 390  : 	TeamPurchaseSettingsDefClass *t = Get_Team_Purchase_Definition(team);

	mov	ebp, DWORD PTR _team$[esp+8]
	push	ebp
	mov	edi, eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition
	add	esp, 8

; 391  : 	if (t->beaconpresetid == ID)

	cmp	DWORD PTR [eax+84], edi
	jne	SHORT $LN16@Get_Team_I

; 392  : 	{
; 393  : 		return t->beacontexture.Peek_Buffer();

	mov	eax, DWORD PTR [eax+92]
	pop	edi
	pop	ebp

; 429  : }

	ret	0
$LN16@Get_Team_I:

; 394  : 	}
; 395  : 	for (unsigned int i = 0;i < 3;i++)

	xor	ecx, ecx
	lea	edx, DWORD PTR [eax+32]
	npad	5
$LL15@Get_Team_I:

; 396  : 	{
; 397  : 		if (t->presetids[i] == ID)

	cmp	DWORD PTR [edx], edi
	je	SHORT $LN38@Get_Team_I
	add	ecx, 1
	add	edx, 4
	cmp	ecx, 3
	jb	SHORT $LL15@Get_Team_I
	push	ebx

; 400  : 		}
; 401  : 	}
; 402  : 	for (unsigned int i = 0;i < 5;i++)

	xor	ebx, ebx
	push	esi
$LL46@Get_Team_I:

; 403  : 	{
; 404  : 		PurchaseSettingsDefClass *p = Get_Purchase_Definition(i,team);

	push	ebp
	push	ebx
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8

; 405  : 		if (p)

	test	eax, eax
	je	SHORT $LN10@Get_Team_I

; 406  : 		{
; 407  : 			for (unsigned int j = 0;j < 10;j++)

	xor	ecx, ecx
	lea	edx, DWORD PTR [eax+200]
	lea	esi, DWORD PTR [eax+76]
	npad	4
$LL7@Get_Team_I:

; 408  : 			{
; 409  : 				if (p->presetids[j] == ID)

	cmp	DWORD PTR [esi], edi
	je	SHORT $LN39@Get_Team_I

; 412  : 				}
; 413  : 				if (p->altpresetids[j][0] == ID)

	cmp	DWORD PTR [edx-4], edi
	je	SHORT $LN40@Get_Team_I

; 416  : 				}
; 417  : 				if (p->altpresetids[j][1] == ID)

	cmp	DWORD PTR [edx], edi
	je	SHORT $LN41@Get_Team_I

; 420  : 				}
; 421  : 				if (p->altpresetids[j][2] == ID)

	cmp	DWORD PTR [edx+4], edi
	je	SHORT $LN42@Get_Team_I
	add	ecx, 1
	add	esi, 4
	add	edx, 12					; 0000000cH
	cmp	ecx, 10					; 0000000aH
	jb	SHORT $LL7@Get_Team_I
$LN10@Get_Team_I:

; 400  : 		}
; 401  : 	}
; 402  : 	for (unsigned int i = 0;i < 5;i++)

	add	ebx, 1
	cmp	ebx, 5
	jb	SHORT $LL46@Get_Team_I
	pop	esi
	pop	ebx
	pop	edi

; 424  : 				}
; 425  : 			}
; 426  : 		}
; 427  : 	}
; 428  : 	return 0;

	xor	eax, eax
	pop	ebp

; 429  : }

	ret	0
$LN38@Get_Team_I:

; 398  : 		{
; 399  : 			return t->textures[i].Peek_Buffer();

	mov	eax, DWORD PTR [eax+ecx*4+64]
	pop	edi
	pop	ebp

; 429  : }

	ret	0
$LN39@Get_Team_I:

; 410  : 				{
; 411  : 					return p->textures[j].Peek_Buffer();

	mov	eax, DWORD PTR [eax+ecx*4+156]
	pop	esi
	pop	ebx
	pop	edi
	pop	ebp

; 429  : }

	ret	0
$LN40@Get_Team_I:
	pop	esi
	pop	ebx

; 414  : 				{
; 415  : 					return p->alttextures[j][0].Peek_Buffer();

	lea	ecx, DWORD PTR [ecx+ecx*2]
	mov	eax, DWORD PTR [eax+ecx*4+316]
	pop	edi
	pop	ebp

; 429  : }

	ret	0
$LN41@Get_Team_I:
	pop	esi
	pop	ebx

; 418  : 				{
; 419  : 					return p->alttextures[j][1].Peek_Buffer();

	lea	edx, DWORD PTR [ecx+ecx*2]
	mov	eax, DWORD PTR [eax+edx*4+320]
	pop	edi
	pop	ebp

; 429  : }

	ret	0
$LN42@Get_Team_I:
	pop	esi
	pop	ebx

; 422  : 				{
; 423  : 					return p->alttextures[j][2].Peek_Buffer();

	lea	ecx, DWORD PTR [ecx+ecx*2+81]
	mov	eax, DWORD PTR [eax+ecx*4]
	pop	edi
	pop	ebp

; 429  : }

	ret	0
?Get_Team_Icon@@YAPADPBDI@Z ENDP			; Get_Team_Icon
_TEXT	ENDS
PUBLIC	?Get_Icon@@YAPADPBD@Z				; Get_Icon
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Icon@@YAPADPBD@Z
_TEXT	SEGMENT
_preset$ = 8						; size = 4
?Get_Icon@@YAPADPBD@Z PROC				; Get_Icon, COMDAT

; 432  : {

	push	esi

; 433  : 	char *icon = Get_Team_Icon(preset,0);

	mov	esi, DWORD PTR _preset$[esp]
	push	0
	push	esi
	call	?Get_Team_Icon@@YAPADPBDI@Z		; Get_Team_Icon
	add	esp, 8

; 434  : 	if (!icon)

	test	eax, eax
	jne	SHORT $LN1@Get_Icon

; 435  : 	{
; 436  : 		icon = Get_Team_Icon(preset,1);

	push	1
	push	esi
	call	?Get_Team_Icon@@YAPADPBDI@Z		; Get_Team_Icon
	add	esp, 8
$LN1@Get_Icon:
	pop	esi

; 437  : 	}
; 438  : 	return icon;
; 439  : }

	ret	0
?Get_Icon@@YAPADPBD@Z ENDP				; Get_Icon
_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
$T57995 = -12						; size = 12
_this$ = 8						; size = 4
$T58001 = 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 $T58001[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T57995[esp+20]
	mov	DWORD PTR $T58001[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T57995[esp+20]
	push	ecx
	mov	DWORD PTR $T57995[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
$T58007 = -12						; size = 12
$T58012 = 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 $T58012[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T58007[esp+20]
	mov	DWORD PTR $T58012[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T58007[esp+20]
	push	ecx
	mov	DWORD PTR $T58007[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
; 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
_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	??0?$allocator@D@std@@QAE@ABV01@@Z		; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
;	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	??$_DebugHeapDelete@X@std@@YAXPAX@Z		; std::_DebugHeapDelete<void>
EXTRN	_free:PROC
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
;	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

; 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:

; 62   : 		}
; 63   : 	}

	ret	0
??$_DebugHeapDelete@X@std@@YAXPAX@Z ENDP		; std::_DebugHeapDelete<void>
_TEXT	ENDS
PUBLIC	?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ; std::_DebugHeapAllocator<char>::deallocate
; Function compile flags: /Ogtpy
;	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	??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>
_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
END
