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

	TITLE	d:\Source Code\STGM\mdbevf.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	?ExpVehFac@@3PAPAVExpVehFacClass@@A		; ExpVehFac
_BSS	SEGMENT
?ExpVehFac@@3PAPAVExpVehFacClass@@A DD 02H DUP (?)	; ExpVehFac
_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	??0UnitInfo@@QAE@IIIII_N@Z			; UnitInfo::UnitInfo
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.h
;	COMDAT ??0UnitInfo@@QAE@IIIII_N@Z
_TEXT	SEGMENT
_type$ = 8						; size = 4
_pos$ = 12						; size = 4
_preset$ = 16						; size = 4
_cost$ = 20						; size = 4
_string$ = 24						; size = 4
_alternate$ = 28					; size = 1
??0UnitInfo@@QAE@IIIII_N@Z PROC				; UnitInfo::UnitInfo, COMDAT
; _this$ = ecx

; 30   : 	{

	mov	edx, DWORD PTR _pos$[esp-4]
	mov	eax, ecx
	mov	ecx, DWORD PTR _type$[esp-4]
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _preset$[esp-4]
	mov	DWORD PTR [eax+4], edx
	mov	edx, DWORD PTR _cost$[esp-4]
	mov	DWORD PTR [eax+8], ecx
	mov	ecx, DWORD PTR _string$[esp-4]
	mov	DWORD PTR [eax+12], edx
	mov	dl, BYTE PTR _alternate$[esp-4]
	mov	DWORD PTR [eax+16], ecx
	xor	ecx, ecx
	mov	BYTE PTR [eax+28], dl
	mov	BYTE PTR [eax+29], cl

; 31   : 		DMode = NOT_DISABLED;

	mov	DWORD PTR [eax+24], ecx

; 32   : 	}

	ret	24					; 00000018H
??0UnitInfo@@QAE@IIIII_N@Z ENDP				; UnitInfo::UnitInfo
_TEXT	ENDS
PUBLIC	?Timer_Expired@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAEH@Z ; MDB_ExpVehFac_Vehicle_Factory::Timer_Expired
EXTRN	?Set_Can_Generate_Vehicles@@YAXH_N@Z:PROC	; Set_Can_Generate_Vehicles
EXTRN	?Get_Object_Type@@YAHPAE@Z:PROC			; Get_Object_Type
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
;	COMDAT ?Timer_Expired@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAEH@Z PROC ; MDB_ExpVehFac_Vehicle_Factory::Timer_Expired, COMDAT
; _this$ = ecx

; 1349 : 	Set_Can_Generate_Vehicles(Get_Object_Type(obj),true);

	mov	eax, DWORD PTR _obj$[esp-4]
	push	1
	push	eax
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	add	esp, 4
	push	eax
	call	?Set_Can_Generate_Vehicles@@YAXH_N@Z	; Set_Can_Generate_Vehicles
	add	esp, 8

; 1350 : }

	ret	8
?Timer_Expired@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAEH@Z ENDP ; MDB_ExpVehFac_Vehicle_Factory::Timer_Expired
_TEXT	ENDS
PUBLIC	__real@00000000
PUBLIC	??_C@_0CA@HEBOGOMN@MDB_ExpVehFac_Cinematic_Vehicle?$AA@ ; `string'
PUBLIC	??_C@_00CNPNBAHC@?$AA@				; `string'
PUBLIC	??_C@_06BIJBOFNL@Origin?$AA@			; `string'
PUBLIC	??_C@_04GBPANCCF@Team?$AA@			; `string'
PUBLIC	?Created@MDB_ExpVehFac_Cinematic@@EAEXPAE@Z	; MDB_ExpVehFac_Cinematic::Created
EXTRN	?Set_Vehicle_Is_Visible@@YAXPAE_N@Z:PROC	; Set_Vehicle_Is_Visible
EXTRN	?Get_Definition_Name@@YAPBDK@Z:PROC		; Get_Definition_Name
EXTRN	?Commands@@3PAUScriptCommands@@A:DWORD		; Commands
EXTRN	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z:PROC ; ScriptImpClass::Get_Int_Parameter
EXTRN	__fltused:DWORD
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
CONST	ENDS
;	COMDAT ??_C@_0CA@HEBOGOMN@MDB_ExpVehFac_Cinematic_Vehicle?$AA@
CONST	SEGMENT
??_C@_0CA@HEBOGOMN@MDB_ExpVehFac_Cinematic_Vehicle?$AA@ DB 'MDB_ExpVehFac'
	DB	'_Cinematic_Vehicle', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_00CNPNBAHC@?$AA@
CONST	SEGMENT
??_C@_00CNPNBAHC@?$AA@ DB 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_06BIJBOFNL@Origin?$AA@
CONST	SEGMENT
??_C@_06BIJBOFNL@Origin?$AA@ DB 'Origin', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_04GBPANCCF@Team?$AA@
CONST	SEGMENT
??_C@_04GBPANCCF@Team?$AA@ DB 'Team', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@MDB_ExpVehFac_Cinematic@@EAEXPAE@Z
_TEXT	SEGMENT
$T62657 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@MDB_ExpVehFac_Cinematic@@EAEXPAE@Z PROC	; MDB_ExpVehFac_Cinematic::Created, COMDAT
; _this$ = ecx

; 1353 : {

	sub	esp, 12					; 0000000cH
	push	ebx
	push	ebp
	push	esi
	push	edi

; 1354 : 	int Team = Get_Int_Parameter("Team");

	push	OFFSET ??_C@_04GBPANCCF@Team?$AA@
	mov	ebx, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1355 : 	Commands->Set_Player_Type(obj,Team);

	mov	ebp, DWORD PTR _obj$[esp+24]
	mov	edi, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+252]
	push	edi
	push	ebp
	call	ecx

; 1356 : 	GameObject *Veh = Commands->Create_Object(Get_Definition_Name(ExpVehFac[Team]->LastFlyVehID),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T62657[esp+36]
	lea	esi, DWORD PTR [eax+100]
	mov	eax, DWORD PTR [eax+64]
	push	ebp
	push	edx
	call	eax
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	mov	edx, DWORD PTR [ecx+108]
	add	esp, 16					; 00000010H
	push	eax
	push	edx
	call	?Get_Definition_Name@@YAPBDK@Z		; Get_Definition_Name
	add	esp, 4
	push	eax
	mov	eax, DWORD PTR [esi]
	call	eax

; 1357 : 	Commands->Attach_To_Object_Bone(Veh,obj,"Origin");

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+572]
	push	OFFSET ??_C@_06BIJBOFNL@Origin?$AA@
	mov	esi, eax
	push	ebp
	push	esi
	call	edx

; 1358 : 	Commands->Attach_Script(Veh,"MDB_ExpVehFac_Cinematic_Vehicle","");

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+120]
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0CA@HEBOGOMN@MDB_ExpVehFac_Cinematic_Vehicle?$AA@
	push	esi
	call	ecx

; 1359 : 	Commands->Enable_Engine(Veh,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+552]
	push	1
	push	esi
	call	eax

; 1360 : 	Set_Vehicle_Is_Visible(Veh,false);

	xor	ebp, ebp
	push	ebp
	push	esi
	call	?Set_Vehicle_Is_Visible@@YAXPAE_N@Z	; Set_Vehicle_Is_Visible

; 1361 : 	Commands->Send_Custom_Event(Veh,Veh,CUSTOM_EVENT_VEHICLE_OWNER,ExpVehFac[Team]->LastFlyVehOwner,0);

	fldz
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	fstp	DWORD PTR [esp+44]
	mov	edx, DWORD PTR [ecx+112]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+140]
	add	esp, 44					; 0000002cH
	push	edx
	push	1000000036				; 3b9aca24H
	push	esi
	push	esi
	call	ecx

; 1362 : 	ExpVehFac[Team]->LastFlyVehID = 0;

	mov	edx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	mov	DWORD PTR [edx+108], ebp

; 1363 : 	ExpVehFac[Team]->LastFlyVehOwner = 0;

	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	mov	DWORD PTR [eax+112], ebp

; 1364 : 	ID = Commands->Get_ID(Veh);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+108]
	push	esi
	call	edx
	add	esp, 24					; 00000018H
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR [ebx+28], eax
	pop	ebx

; 1365 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@MDB_ExpVehFac_Cinematic@@EAEXPAE@Z ENDP	; MDB_ExpVehFac_Cinematic::Created
_TEXT	ENDS
PUBLIC	?Destroyed@MDB_ExpVehFac_Cinematic@@EAEXPAE@Z	; MDB_ExpVehFac_Cinematic::Destroyed
EXTRN	?Remove_Script@@YAXPAEPBD@Z:PROC		; Remove_Script
; Function compile flags: /Ogtpy
;	COMDAT ?Destroyed@MDB_ExpVehFac_Cinematic@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Destroyed@MDB_ExpVehFac_Cinematic@@EAEXPAE@Z PROC	; MDB_ExpVehFac_Cinematic::Destroyed, COMDAT
; _this$ = ecx

; 1369 : 	GameObject *Veh = Commands->Find_Object(ID);

	mov	eax, DWORD PTR [ecx+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+96]
	push	esi
	push	eax
	call	edx
	mov	esi, eax

; 1370 : 	Remove_Script(Veh,"MDB_ExpVehFac_Cinematic_Vehicle");

	push	OFFSET ??_C@_0CA@HEBOGOMN@MDB_ExpVehFac_Cinematic_Vehicle?$AA@
	push	esi
	call	?Remove_Script@@YAXPAEPBD@Z		; Remove_Script

; 1371 : 	Commands->Enable_Engine(Veh,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+552]
	push	0
	push	esi
	call	ecx

; 1372 : 	Set_Vehicle_Is_Visible(Veh,true);

	push	1
	push	esi
	call	?Set_Vehicle_Is_Visible@@YAXPAE_N@Z	; Set_Vehicle_Is_Visible
	add	esp, 28					; 0000001cH
	pop	esi

; 1373 : }

	ret	4
?Destroyed@MDB_ExpVehFac_Cinematic@@EAEXPAE@Z ENDP	; MDB_ExpVehFac_Cinematic::Destroyed
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@MDB_ExpVehFac_Cinematic@@EAEXXZ ; MDB_ExpVehFac_Cinematic::Register_Auto_Save_Variables
EXTRN	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z:PROC ; ScriptImpClass::Auto_Save_Variable
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@MDB_ExpVehFac_Cinematic@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@MDB_ExpVehFac_Cinematic@@EAEXXZ PROC ; MDB_ExpVehFac_Cinematic::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1377 : 	Auto_Save_Variable(1,4,&ID);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1378 : }

	ret	0
?Register_Auto_Save_Variables@MDB_ExpVehFac_Cinematic@@EAEXXZ ENDP ; MDB_ExpVehFac_Cinematic::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Damaged@MDB_ExpVehFac_Cinematic_Vehicle@@EAEXPAE0M@Z ; MDB_ExpVehFac_Cinematic_Vehicle::Damaged
; Function compile flags: /Ogtpy
;	COMDAT ?Damaged@MDB_ExpVehFac_Cinematic_Vehicle@@EAEXPAE0M@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_damager$ = 12						; size = 4
_damage$ = 16						; size = 4
?Damaged@MDB_ExpVehFac_Cinematic_Vehicle@@EAEXPAE0M@Z PROC ; MDB_ExpVehFac_Cinematic_Vehicle::Damaged, COMDAT
; _this$ = ecx

; 1382 : 	Commands->Set_Health(obj,Commands->Get_Max_Health(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	esi, DWORD PTR _obj$[esp]
	push	edi
	lea	edi, DWORD PTR [eax+228]
	mov	eax, DWORD PTR [eax+224]
	push	esi
	call	eax
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR [edi]
	push	esi
	call	ecx

; 1383 : 	Commands->Set_Shield_Strength(obj,Commands->Get_Max_Shield_Strength(obj));

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

; 1384 : }

	ret	12					; 0000000cH
?Damaged@MDB_ExpVehFac_Cinematic_Vehicle@@EAEXPAE0M@Z ENDP ; MDB_ExpVehFac_Cinematic_Vehicle::Damaged
_TEXT	ENDS
PUBLIC	?Created@MDB_ExpVehFac_Limit@@EAEXPAE@Z		; MDB_ExpVehFac_Limit::Created
; Function compile flags: /Ogtpy
;	COMDAT ?Created@MDB_ExpVehFac_Limit@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@MDB_ExpVehFac_Limit@@EAEXPAE@Z PROC		; MDB_ExpVehFac_Limit::Created, COMDAT
; _this$ = ecx

; 1388 : 	Team = Get_Object_Type(obj);

	mov	eax, DWORD PTR _obj$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	add	esp, 4
	mov	DWORD PTR [esi+28], eax
	pop	esi

; 1389 : }

	ret	4
?Created@MDB_ExpVehFac_Limit@@EAEXPAE@Z ENDP		; MDB_ExpVehFac_Limit::Created
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@MDB_ExpVehFac_Limit@@EAEXXZ ; MDB_ExpVehFac_Limit::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@MDB_ExpVehFac_Limit@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@MDB_ExpVehFac_Limit@@EAEXXZ PROC ; MDB_ExpVehFac_Limit::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1430 : 	Auto_Save_Variable(1,4,&Team);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1431 : }

	ret	0
?Register_Auto_Save_Variables@MDB_ExpVehFac_Limit@@EAEXXZ ENDP ; MDB_ExpVehFac_Limit::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAE@XZ ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::~ScriptRegistrant<MDB_ExpVehFac_Helipad>
EXTRN	??1ScriptFactory@@UAE@XZ:PROC			; ScriptFactory::~ScriptFactory
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAE@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::~ScriptRegistrant<MDB_ExpVehFac_Helipad>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAE@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::~ScriptRegistrant<MDB_ExpVehFac_Helipad>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAE@XZ ; ScriptRegistrant<MDB_ExpVehFac_Naval>::~ScriptRegistrant<MDB_ExpVehFac_Naval>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAE@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Naval>::~ScriptRegistrant<MDB_ExpVehFac_Naval>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAE@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Naval>::~ScriptRegistrant<MDB_ExpVehFac_Naval>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAE@XZ ; ScriptRegistrant<MDB_ExpVehFac_Vehicle_Factory>::~ScriptRegistrant<MDB_ExpVehFac_Vehicle_Factory>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAE@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Vehicle_Factory>::~ScriptRegistrant<MDB_ExpVehFac_Vehicle_Factory>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAE@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Vehicle_Factory>::~ScriptRegistrant<MDB_ExpVehFac_Vehicle_Factory>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAE@XZ ; ScriptRegistrant<MDB_ExpVehFac_Cinematic>::~ScriptRegistrant<MDB_ExpVehFac_Cinematic>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAE@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Cinematic>::~ScriptRegistrant<MDB_ExpVehFac_Cinematic>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAE@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Cinematic>::~ScriptRegistrant<MDB_ExpVehFac_Cinematic>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAE@XZ ; ScriptRegistrant<MDB_ExpVehFac_Cinematic_Vehicle>::~ScriptRegistrant<MDB_ExpVehFac_Cinematic_Vehicle>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAE@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Cinematic_Vehicle>::~ScriptRegistrant<MDB_ExpVehFac_Cinematic_Vehicle>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAE@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Cinematic_Vehicle>::~ScriptRegistrant<MDB_ExpVehFac_Cinematic_Vehicle>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAE@XZ ; ScriptRegistrant<MDB_ExpVehFac_Limit>::~ScriptRegistrant<MDB_ExpVehFac_Limit>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAE@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Limit>::~ScriptRegistrant<MDB_ExpVehFac_Limit>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAE@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Limit>::~ScriptRegistrant<MDB_ExpVehFac_Limit>
_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
$T62709 = -12						; size = 12
_this$ = 8						; size = 4
$T62715 = 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 $T62715[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T62709[esp+20]
	mov	DWORD PTR $T62715[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T62709[esp+20]
	push	ecx
	mov	DWORD PTR $T62709[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
$T62721 = -12						; size = 12
$T62726 = 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 $T62726[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T62721[esp+20]
	mov	DWORD PTR $T62726[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T62721[esp+20]
	push	ecx
	mov	DWORD PTR $T62721[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	?Count@?$SimpleDynVecClass@PAUUnitInfo@@@@QAEHXZ ; SimpleDynVecClass<UnitInfo *>::Count
; Function compile flags: /Ogtpy
; File d:\source code\stgm\engine_vector.h
;	COMDAT ?Count@?$SimpleDynVecClass@PAUUnitInfo@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$SimpleDynVecClass@PAUUnitInfo@@@@QAEHXZ PROC	; SimpleDynVecClass<UnitInfo *>::Count, COMDAT
; _this$ = ecx

; 268  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 269  : 	}

	ret	0
?Count@?$SimpleDynVecClass@PAUUnitInfo@@@@QAEHXZ ENDP	; SimpleDynVecClass<UnitInfo *>::Count
_TEXT	ENDS
PUBLIC	?Add@?$SimpleDynVecClass@PAUUnitInfo@@@@QAEHAAPAUUnitInfo@@@Z ; SimpleDynVecClass<UnitInfo *>::Add
; Function compile flags: /Ogtpy
;	COMDAT ?Add@?$SimpleDynVecClass@PAUUnitInfo@@@@QAEHAAPAUUnitInfo@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?Add@?$SimpleDynVecClass@PAUUnitInfo@@@@QAEHAAPAUUnitInfo@@@Z PROC ; SimpleDynVecClass<UnitInfo *>::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@PAUUnitInfo@@@@QAEHAAPAUUnitInfo@@@Z ENDP ; SimpleDynVecClass<UnitInfo *>::Add
_TEXT	ENDS
PUBLIC	??A?$SimpleVecClass@PAUUnitInfo@@@@QAEAAPAUUnitInfo@@H@Z ; SimpleVecClass<UnitInfo *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$SimpleVecClass@PAUUnitInfo@@@@QAEAAPAUUnitInfo@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$SimpleVecClass@PAUUnitInfo@@@@QAEAAPAUUnitInfo@@H@Z PROC ; SimpleVecClass<UnitInfo *>::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@PAUUnitInfo@@@@QAEAAPAUUnitInfo@@H@Z ENDP ; SimpleVecClass<UnitInfo *>::operator[]
_TEXT	ENDS
PUBLIC	??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@ ; `string'
PUBLIC	??_C@_0DD@IEMMGBBK@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@ ; `string'
PUBLIC	??_7?$SimpleVecClass@PAUUnitInfo@@@@6B@		; SimpleVecClass<UnitInfo *>::`vftable'
PUBLIC	??1?$SimpleVecClass@PAUUnitInfo@@@@UAE@XZ	; SimpleVecClass<UnitInfo *>::~SimpleVecClass<UnitInfo *>
PUBLIC	??_R4?$SimpleVecClass@PAUUnitInfo@@@@6B@	; SimpleVecClass<UnitInfo *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleVecClass@PAUUnitInfo@@@@@8	; SimpleVecClass<UnitInfo *> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleVecClass@PAUUnitInfo@@@@8		; SimpleVecClass<UnitInfo *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleVecClass@PAUUnitInfo@@@@8		; SimpleVecClass<UnitInfo *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleVecClass@PAUUnitInfo@@@@8	; SimpleVecClass<UnitInfo *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Uninitialised_Grow@?$SimpleVecClass@PAUUnitInfo@@@@UAE_NH@Z ; SimpleVecClass<UnitInfo *>::Uninitialised_Grow
PUBLIC	?Resize@?$SimpleVecClass@PAUUnitInfo@@@@UAE_NH@Z ; SimpleVecClass<UnitInfo *>::Resize
EXTRN	??_V@YAXPAX@Z:PROC				; operator delete[]
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
EXTRN	??_E?$SimpleVecClass@PAUUnitInfo@@@@UAEPAXI@Z:PROC ; SimpleVecClass<UnitInfo *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleVecClass@PAUUnitInfo@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleVecClass@PAUUnitInfo@@@@8 DD FLAT:??_R0?AV?$SimpleVecClass@PAUUnitInfo@@@@@8 ; SimpleVecClass<UnitInfo *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleVecClass@PAUUnitInfo@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleVecClass@PAUUnitInfo@@@@8
rdata$r	SEGMENT
??_R2?$SimpleVecClass@PAUUnitInfo@@@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleVecClass@PAUUnitInfo@@@@8 ; SimpleVecClass<UnitInfo *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleVecClass@PAUUnitInfo@@@@8
rdata$r	SEGMENT
??_R3?$SimpleVecClass@PAUUnitInfo@@@@8 DD 00H		; SimpleVecClass<UnitInfo *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$SimpleVecClass@PAUUnitInfo@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleVecClass@PAUUnitInfo@@@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleVecClass@PAUUnitInfo@@@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleVecClass<UnitInfo *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleVecClass@PAUUnitInfo@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleVecClass@PAUUnitInfo@@@@6B@
rdata$r	SEGMENT
??_R4?$SimpleVecClass@PAUUnitInfo@@@@6B@ DD 00H		; SimpleVecClass<UnitInfo *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleVecClass@PAUUnitInfo@@@@@8
	DD	FLAT:??_R3?$SimpleVecClass@PAUUnitInfo@@@@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@_0DD@IEMMGBBK@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@
CONST	SEGMENT
??_C@_0DD@IEMMGBBK@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@ DB 'SimpleVe'
	DB	'cClass<struct UnitInfo *>::~SimpleVecClass', 00H ; `string'
CONST	ENDS
;	COMDAT ??_7?$SimpleVecClass@PAUUnitInfo@@@@6B@
CONST	SEGMENT
??_7?$SimpleVecClass@PAUUnitInfo@@@@6B@ DD FLAT:??_R4?$SimpleVecClass@PAUUnitInfo@@@@6B@ ; SimpleVecClass<UnitInfo *>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@PAUUnitInfo@@@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleVecClass@PAUUnitInfo@@@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleVecClass@PAUUnitInfo@@@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1?$SimpleVecClass@PAUUnitInfo@@@@UAE@XZ
_TEXT	SEGMENT
??1?$SimpleVecClass@PAUUnitInfo@@@@UAE@XZ PROC		; SimpleVecClass<UnitInfo *>::~SimpleVecClass<UnitInfo *>, 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@PAUUnitInfo@@@@6B@
	je	SHORT $LN1@SimpleVecC

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

	push	OFFSET ??_C@_0DD@IEMMGBBK@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@
	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@PAUUnitInfo@@@@UAE@XZ ENDP		; SimpleVecClass<UnitInfo *>::~SimpleVecClass<UnitInfo *>
_TEXT	ENDS
PUBLIC	??_C@_0CI@HICDCLMN@?$FLI?$FN?5SimpleVecClass?5allocate?5from@ ; `string'
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0DG@IOKFMGHO@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@ ; `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@_0DG@IOKFMGHO@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@
CONST	SEGMENT
??_C@_0DG@IOKFMGHO@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@ DB 'SimpleVe'
	DB	'cClass<struct UnitInfo *>::Uninitialised_Grow', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Uninitialised_Grow@?$SimpleVecClass@PAUUnitInfo@@@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Uninitialised_Grow@?$SimpleVecClass@PAUUnitInfo@@@@UAE_NH@Z PROC ; SimpleVecClass<UnitInfo *>::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@_0DG@IOKFMGHO@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@
	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@_0DG@IOKFMGHO@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@
	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@PAUUnitInfo@@@@UAE_NH@Z ENDP ; SimpleVecClass<UnitInfo *>::Uninitialised_Grow
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0CK@FJJEAHKN@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@ ; `string'
EXTRN	_memcpy:PROC
;	COMDAT ??_C@_0CK@FJJEAHKN@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@
CONST	SEGMENT
??_C@_0CK@FJJEAHKN@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@ DB 'SimpleVe'
	DB	'cClass<struct UnitInfo *>::Resize', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Resize@?$SimpleVecClass@PAUUnitInfo@@@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Resize@?$SimpleVecClass@PAUUnitInfo@@@@UAE_NH@Z PROC	; SimpleVecClass<UnitInfo *>::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@_0CK@FJJEAHKN@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@
	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@_0CK@FJJEAHKN@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@
	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@_0CK@FJJEAHKN@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@
	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@PAUUnitInfo@@@@UAE_NH@Z ENDP	; SimpleVecClass<UnitInfo *>::Resize
_TEXT	ENDS
PUBLIC	?Count@?$SimpleDynVecClass@PAUCreationPos@@@@QAEHXZ ; SimpleDynVecClass<CreationPos *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$SimpleDynVecClass@PAUCreationPos@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$SimpleDynVecClass@PAUCreationPos@@@@QAEHXZ PROC ; SimpleDynVecClass<CreationPos *>::Count, COMDAT
; _this$ = ecx

; 268  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 269  : 	}

	ret	0
?Count@?$SimpleDynVecClass@PAUCreationPos@@@@QAEHXZ ENDP ; SimpleDynVecClass<CreationPos *>::Count
_TEXT	ENDS
PUBLIC	?Add@?$SimpleDynVecClass@PAUCreationPos@@@@QAEHAAPAUCreationPos@@@Z ; SimpleDynVecClass<CreationPos *>::Add
; Function compile flags: /Ogtpy
;	COMDAT ?Add@?$SimpleDynVecClass@PAUCreationPos@@@@QAEHAAPAUCreationPos@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?Add@?$SimpleDynVecClass@PAUCreationPos@@@@QAEHAAPAUCreationPos@@@Z PROC ; SimpleDynVecClass<CreationPos *>::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@2
	mov	edi, DWORD PTR [esi+4]
	mov	ecx, edi
$LL4@Add@2:

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

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

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

; 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@PAUCreationPos@@@@QAEHAAPAUCreationPos@@@Z ENDP ; SimpleDynVecClass<CreationPos *>::Add
_TEXT	ENDS
PUBLIC	??_C@_0DE@FOEEDNNM@SimpleDynVecClass?$DMstruct?5Creatio@ ; `string'
PUBLIC	?Delete_All@?$SimpleDynVecClass@PAUCreationPos@@@@QAEXXZ ; SimpleDynVecClass<CreationPos *>::Delete_All
;	COMDAT ??_C@_0DE@FOEEDNNM@SimpleDynVecClass?$DMstruct?5Creatio@
CONST	SEGMENT
??_C@_0DE@FOEEDNNM@SimpleDynVecClass?$DMstruct?5Creatio@ DB 'SimpleDynVec'
	DB	'Class<struct CreationPos *>::Delete_All', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Delete_All@?$SimpleDynVecClass@PAUCreationPos@@@@QAEXXZ
_TEXT	SEGMENT
?Delete_All@?$SimpleDynVecClass@PAUCreationPos@@@@QAEXXZ PROC ; SimpleDynVecClass<CreationPos *>::Delete_All, COMDAT
; _this$ = ecx

; 324  : 	{

	push	esi
	mov	esi, ecx

; 325  : 		ActiveCount = 0;
; 326  : 		VectorMax = 0;
; 327  : 		if (Vector)

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

; 328  : 		{
; 329  : 			delete[] Vector;

	push	OFFSET ??_C@_0DE@FOEEDNNM@SimpleDynVecClass?$DMstruct?5Creatio@
	push	329					; 00000149H
	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

; 330  : 			Vector = 0;

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

; 331  : 		}
; 332  : 	}

	ret	0
?Delete_All@?$SimpleDynVecClass@PAUCreationPos@@@@QAEXXZ ENDP ; SimpleDynVecClass<CreationPos *>::Delete_All
_TEXT	ENDS
PUBLIC	??A?$SimpleVecClass@PAUCreationPos@@@@QAEAAPAUCreationPos@@H@Z ; SimpleVecClass<CreationPos *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$SimpleVecClass@PAUCreationPos@@@@QAEAAPAUCreationPos@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$SimpleVecClass@PAUCreationPos@@@@QAEAAPAUCreationPos@@H@Z PROC ; SimpleVecClass<CreationPos *>::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@PAUCreationPos@@@@QAEAAPAUCreationPos@@H@Z ENDP ; SimpleVecClass<CreationPos *>::operator[]
_TEXT	ENDS
PUBLIC	??_C@_0DG@OANNENMH@SimpleVecClass?$DMstruct?5CreationPo@ ; `string'
PUBLIC	??_7?$SimpleVecClass@PAUCreationPos@@@@6B@	; SimpleVecClass<CreationPos *>::`vftable'
PUBLIC	??1?$SimpleVecClass@PAUCreationPos@@@@UAE@XZ	; SimpleVecClass<CreationPos *>::~SimpleVecClass<CreationPos *>
PUBLIC	??_R4?$SimpleVecClass@PAUCreationPos@@@@6B@	; SimpleVecClass<CreationPos *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleVecClass@PAUCreationPos@@@@@8	; SimpleVecClass<CreationPos *> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleVecClass@PAUCreationPos@@@@8	; SimpleVecClass<CreationPos *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleVecClass@PAUCreationPos@@@@8	; SimpleVecClass<CreationPos *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleVecClass@PAUCreationPos@@@@8 ; SimpleVecClass<CreationPos *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Uninitialised_Grow@?$SimpleVecClass@PAUCreationPos@@@@UAE_NH@Z ; SimpleVecClass<CreationPos *>::Uninitialised_Grow
PUBLIC	?Resize@?$SimpleVecClass@PAUCreationPos@@@@UAE_NH@Z ; SimpleVecClass<CreationPos *>::Resize
EXTRN	??_E?$SimpleVecClass@PAUCreationPos@@@@UAEPAXI@Z:PROC ; SimpleVecClass<CreationPos *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleVecClass@PAUCreationPos@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleVecClass@PAUCreationPos@@@@8 DD FLAT:??_R0?AV?$SimpleVecClass@PAUCreationPos@@@@@8 ; SimpleVecClass<CreationPos *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleVecClass@PAUCreationPos@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleVecClass@PAUCreationPos@@@@8
rdata$r	SEGMENT
??_R2?$SimpleVecClass@PAUCreationPos@@@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleVecClass@PAUCreationPos@@@@8 ; SimpleVecClass<CreationPos *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleVecClass@PAUCreationPos@@@@8
rdata$r	SEGMENT
??_R3?$SimpleVecClass@PAUCreationPos@@@@8 DD 00H	; SimpleVecClass<CreationPos *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$SimpleVecClass@PAUCreationPos@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleVecClass@PAUCreationPos@@@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleVecClass@PAUCreationPos@@@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleVecClass<CreationPos *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleVecClass@PAUCreationPos@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleVecClass@PAUCreationPos@@@@6B@
rdata$r	SEGMENT
??_R4?$SimpleVecClass@PAUCreationPos@@@@6B@ DD 00H	; SimpleVecClass<CreationPos *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleVecClass@PAUCreationPos@@@@@8
	DD	FLAT:??_R3?$SimpleVecClass@PAUCreationPos@@@@8
rdata$r	ENDS
;	COMDAT ??_C@_0DG@OANNENMH@SimpleVecClass?$DMstruct?5CreationPo@
CONST	SEGMENT
??_C@_0DG@OANNENMH@SimpleVecClass?$DMstruct?5CreationPo@ DB 'SimpleVecCla'
	DB	'ss<struct CreationPos *>::~SimpleVecClass', 00H ; `string'
CONST	ENDS
;	COMDAT ??_7?$SimpleVecClass@PAUCreationPos@@@@6B@
CONST	SEGMENT
??_7?$SimpleVecClass@PAUCreationPos@@@@6B@ DD FLAT:??_R4?$SimpleVecClass@PAUCreationPos@@@@6B@ ; SimpleVecClass<CreationPos *>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@PAUCreationPos@@@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleVecClass@PAUCreationPos@@@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleVecClass@PAUCreationPos@@@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1?$SimpleVecClass@PAUCreationPos@@@@UAE@XZ
_TEXT	SEGMENT
??1?$SimpleVecClass@PAUCreationPos@@@@UAE@XZ PROC	; SimpleVecClass<CreationPos *>::~SimpleVecClass<CreationPos *>, 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@PAUCreationPos@@@@6B@
	je	SHORT $LN1@SimpleVecC@2

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

	push	OFFSET ??_C@_0DG@OANNENMH@SimpleVecClass?$DMstruct?5CreationPo@
	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@PAUCreationPos@@@@UAE@XZ ENDP	; SimpleVecClass<CreationPos *>::~SimpleVecClass<CreationPos *>
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0DJ@FIHFCLCF@SimpleVecClass?$DMstruct?5CreationPo@ ; `string'
;	COMDAT ??_C@_0DJ@FIHFCLCF@SimpleVecClass?$DMstruct?5CreationPo@
CONST	SEGMENT
??_C@_0DJ@FIHFCLCF@SimpleVecClass?$DMstruct?5CreationPo@ DB 'SimpleVecCla'
	DB	'ss<struct CreationPos *>::Uninitialised_Grow', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Uninitialised_Grow@?$SimpleVecClass@PAUCreationPos@@@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Uninitialised_Grow@?$SimpleVecClass@PAUCreationPos@@@@UAE_NH@Z PROC ; SimpleVecClass<CreationPos *>::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@_0DJ@FIHFCLCF@SimpleVecClass?$DMstruct?5CreationPo@
	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@_0DJ@FIHFCLCF@SimpleVecClass?$DMstruct?5CreationPo@
	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@PAUCreationPos@@@@UAE_NH@Z ENDP ; SimpleVecClass<CreationPos *>::Uninitialised_Grow
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0CN@IICOJJHM@SimpleVecClass?$DMstruct?5CreationPo@ ; `string'
;	COMDAT ??_C@_0CN@IICOJJHM@SimpleVecClass?$DMstruct?5CreationPo@
CONST	SEGMENT
??_C@_0CN@IICOJJHM@SimpleVecClass?$DMstruct?5CreationPo@ DB 'SimpleVecCla'
	DB	'ss<struct CreationPos *>::Resize', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Resize@?$SimpleVecClass@PAUCreationPos@@@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Resize@?$SimpleVecClass@PAUCreationPos@@@@UAE_NH@Z PROC ; SimpleVecClass<CreationPos *>::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@_0CN@IICOJJHM@SimpleVecClass?$DMstruct?5CreationPo@
	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@_0CN@IICOJJHM@SimpleVecClass?$DMstruct?5CreationPo@
	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@_0CN@IICOJJHM@SimpleVecClass?$DMstruct?5CreationPo@
	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@PAUCreationPos@@@@UAE_NH@Z ENDP ; SimpleVecClass<CreationPos *>::Resize
_TEXT	ENDS
PUBLIC	?Count@?$SimpleDynVecClass@PAE@@QAEHXZ		; SimpleDynVecClass<unsigned char *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$SimpleDynVecClass@PAE@@QAEHXZ
_TEXT	SEGMENT
?Count@?$SimpleDynVecClass@PAE@@QAEHXZ PROC		; SimpleDynVecClass<unsigned char *>::Count, COMDAT
; _this$ = ecx

; 268  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 269  : 	}

	ret	0
?Count@?$SimpleDynVecClass@PAE@@QAEHXZ ENDP		; SimpleDynVecClass<unsigned char *>::Count
_TEXT	ENDS
PUBLIC	??_C@_0CP@KKDBFLF@SimpleDynVecClass?$DMunsigned?5char?5@ ; `string'
PUBLIC	?Delete_All@?$SimpleDynVecClass@PAE@@QAEXXZ	; SimpleDynVecClass<unsigned char *>::Delete_All
;	COMDAT ??_C@_0CP@KKDBFLF@SimpleDynVecClass?$DMunsigned?5char?5@
CONST	SEGMENT
??_C@_0CP@KKDBFLF@SimpleDynVecClass?$DMunsigned?5char?5@ DB 'SimpleDynVec'
	DB	'Class<unsigned char *>::Delete_All', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Delete_All@?$SimpleDynVecClass@PAE@@QAEXXZ
_TEXT	SEGMENT
?Delete_All@?$SimpleDynVecClass@PAE@@QAEXXZ PROC	; SimpleDynVecClass<unsigned char *>::Delete_All, COMDAT
; _this$ = ecx

; 324  : 	{

	push	esi
	mov	esi, ecx

; 325  : 		ActiveCount = 0;
; 326  : 		VectorMax = 0;
; 327  : 		if (Vector)

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

; 328  : 		{
; 329  : 			delete[] Vector;

	push	OFFSET ??_C@_0CP@KKDBFLF@SimpleDynVecClass?$DMunsigned?5char?5@
	push	329					; 00000149H
	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

; 330  : 			Vector = 0;

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

; 331  : 		}
; 332  : 	}

	ret	0
?Delete_All@?$SimpleDynVecClass@PAE@@QAEXXZ ENDP	; SimpleDynVecClass<unsigned char *>::Delete_All
_TEXT	ENDS
PUBLIC	??A?$SimpleVecClass@PAE@@QAEAAPAEH@Z		; SimpleVecClass<unsigned char *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$SimpleVecClass@PAE@@QAEAAPAEH@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$SimpleVecClass@PAE@@QAEAAPAEH@Z PROC		; SimpleVecClass<unsigned char *>::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@PAE@@QAEAAPAEH@Z ENDP		; SimpleVecClass<unsigned char *>::operator[]
_TEXT	ENDS
PUBLIC	??_C@_0DB@MPKFPOBN@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@ ; `string'
PUBLIC	??_7?$SimpleVecClass@PAE@@6B@			; SimpleVecClass<unsigned char *>::`vftable'
PUBLIC	??1?$SimpleVecClass@PAE@@UAE@XZ			; SimpleVecClass<unsigned char *>::~SimpleVecClass<unsigned char *>
PUBLIC	??_R4?$SimpleVecClass@PAE@@6B@			; SimpleVecClass<unsigned char *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleVecClass@PAE@@@8		; SimpleVecClass<unsigned char *> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleVecClass@PAE@@8			; SimpleVecClass<unsigned char *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleVecClass@PAE@@8			; SimpleVecClass<unsigned char *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleVecClass@PAE@@8		; SimpleVecClass<unsigned char *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z ; SimpleVecClass<unsigned char *>::Uninitialised_Grow
PUBLIC	?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z		; SimpleVecClass<unsigned char *>::Resize
EXTRN	??_E?$SimpleVecClass@PAE@@UAEPAXI@Z:PROC	; SimpleVecClass<unsigned char *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleVecClass@PAE@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleVecClass@PAE@@8 DD FLAT:??_R0?AV?$SimpleVecClass@PAE@@@8 ; SimpleVecClass<unsigned char *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleVecClass@PAE@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleVecClass@PAE@@8
rdata$r	SEGMENT
??_R2?$SimpleVecClass@PAE@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleVecClass@PAE@@8 ; SimpleVecClass<unsigned char *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleVecClass@PAE@@8
rdata$r	SEGMENT
??_R3?$SimpleVecClass@PAE@@8 DD 00H			; SimpleVecClass<unsigned char *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$SimpleVecClass@PAE@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleVecClass@PAE@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleVecClass@PAE@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleVecClass<unsigned char *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleVecClass@PAE@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleVecClass@PAE@@6B@
rdata$r	SEGMENT
??_R4?$SimpleVecClass@PAE@@6B@ DD 00H			; SimpleVecClass<unsigned char *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleVecClass@PAE@@@8
	DD	FLAT:??_R3?$SimpleVecClass@PAE@@8
rdata$r	ENDS
;	COMDAT ??_C@_0DB@MPKFPOBN@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
CONST	SEGMENT
??_C@_0DB@MPKFPOBN@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@ DB 'Simp'
	DB	'leVecClass<unsigned char *>::~SimpleVecClass', 00H ; `string'
CONST	ENDS
;	COMDAT ??_7?$SimpleVecClass@PAE@@6B@
CONST	SEGMENT
??_7?$SimpleVecClass@PAE@@6B@ DD FLAT:??_R4?$SimpleVecClass@PAE@@6B@ ; SimpleVecClass<unsigned char *>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleVecClass@PAE@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1?$SimpleVecClass@PAE@@UAE@XZ
_TEXT	SEGMENT
??1?$SimpleVecClass@PAE@@UAE@XZ PROC			; SimpleVecClass<unsigned char *>::~SimpleVecClass<unsigned char *>, 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@PAE@@6B@
	je	SHORT $LN1@SimpleVecC@3

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

	push	OFFSET ??_C@_0DB@MPKFPOBN@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
	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@PAE@@UAE@XZ ENDP			; SimpleVecClass<unsigned char *>::~SimpleVecClass<unsigned char *>
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0DE@EJFNJPJJ@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@ ; `string'
;	COMDAT ??_C@_0DE@EJFNJPJJ@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
CONST	SEGMENT
??_C@_0DE@EJFNJPJJ@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@ DB 'Simp'
	DB	'leVecClass<unsigned char *>::Uninitialised_Grow', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z PROC	; SimpleVecClass<unsigned char *>::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@_0DE@EJFNJPJJ@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
	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@_0DE@EJFNJPJJ@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
	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@PAE@@UAE_NH@Z ENDP	; SimpleVecClass<unsigned char *>::Uninitialised_Grow
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0CI@KCMMDBK@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@ ; `string'
;	COMDAT ??_C@_0CI@KCMMDBK@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
CONST	SEGMENT
??_C@_0CI@KCMMDBK@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@ DB 'Simpl'
	DB	'eVecClass<unsigned char *>::Resize', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z PROC		; SimpleVecClass<unsigned char *>::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@_0CI@KCMMDBK@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
	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@_0CI@KCMMDBK@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
	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@_0CI@KCMMDBK@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
	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@PAE@@UAE_NH@Z ENDP		; SimpleVecClass<unsigned char *>::Resize
_TEXT	ENDS
PUBLIC	?Count@?$SimpleDynVecClass@I@@QAEHXZ		; SimpleDynVecClass<unsigned int>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$SimpleDynVecClass@I@@QAEHXZ
_TEXT	SEGMENT
?Count@?$SimpleDynVecClass@I@@QAEHXZ PROC		; SimpleDynVecClass<unsigned int>::Count, COMDAT
; _this$ = ecx

; 268  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 269  : 	}

	ret	0
?Count@?$SimpleDynVecClass@I@@QAEHXZ ENDP		; SimpleDynVecClass<unsigned int>::Count
_TEXT	ENDS
PUBLIC	?Add@?$SimpleDynVecClass@I@@QAEHAAI@Z		; SimpleDynVecClass<unsigned int>::Add
; Function compile flags: /Ogtpy
;	COMDAT ?Add@?$SimpleDynVecClass@I@@QAEHAAI@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?Add@?$SimpleDynVecClass@I@@QAEHAAI@Z PROC		; SimpleDynVecClass<unsigned 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@3
	mov	edi, DWORD PTR [esi+4]
	mov	ecx, edi
$LL4@Add@3:

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

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

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

; 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@I@@QAEHAAI@Z ENDP		; SimpleDynVecClass<unsigned int>::Add
_TEXT	ENDS
PUBLIC	??A?$SimpleVecClass@I@@QAEAAIH@Z		; SimpleVecClass<unsigned int>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$SimpleVecClass@I@@QAEAAIH@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$SimpleVecClass@I@@QAEAAIH@Z PROC			; SimpleVecClass<unsigned 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@I@@QAEAAIH@Z ENDP			; SimpleVecClass<unsigned int>::operator[]
_TEXT	ENDS
PUBLIC	??_C@_0CO@MPCNNKCB@SimpleVecClass?$DMunsigned?5int?$DO?3?3?$HOS@ ; `string'
PUBLIC	??_7?$SimpleVecClass@I@@6B@			; SimpleVecClass<unsigned int>::`vftable'
PUBLIC	??1?$SimpleVecClass@I@@UAE@XZ			; SimpleVecClass<unsigned int>::~SimpleVecClass<unsigned int>
PUBLIC	??_R4?$SimpleVecClass@I@@6B@			; SimpleVecClass<unsigned int>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleVecClass@I@@@8			; SimpleVecClass<unsigned int> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleVecClass@I@@8			; SimpleVecClass<unsigned int>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleVecClass@I@@8			; SimpleVecClass<unsigned int>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleVecClass@I@@8		; SimpleVecClass<unsigned int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Uninitialised_Grow@?$SimpleVecClass@I@@UAE_NH@Z ; SimpleVecClass<unsigned int>::Uninitialised_Grow
PUBLIC	?Resize@?$SimpleVecClass@I@@UAE_NH@Z		; SimpleVecClass<unsigned int>::Resize
EXTRN	??_E?$SimpleVecClass@I@@UAEPAXI@Z:PROC		; SimpleVecClass<unsigned int>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleVecClass@I@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleVecClass@I@@8 DD FLAT:??_R0?AV?$SimpleVecClass@I@@@8 ; SimpleVecClass<unsigned int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleVecClass@I@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleVecClass@I@@8
rdata$r	SEGMENT
??_R2?$SimpleVecClass@I@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleVecClass@I@@8 ; SimpleVecClass<unsigned int>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleVecClass@I@@8
rdata$r	SEGMENT
??_R3?$SimpleVecClass@I@@8 DD 00H			; SimpleVecClass<unsigned int>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$SimpleVecClass@I@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleVecClass@I@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleVecClass@I@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleVecClass<unsigned int> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleVecClass@I@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleVecClass@I@@6B@
rdata$r	SEGMENT
??_R4?$SimpleVecClass@I@@6B@ DD 00H			; SimpleVecClass<unsigned int>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleVecClass@I@@@8
	DD	FLAT:??_R3?$SimpleVecClass@I@@8
rdata$r	ENDS
;	COMDAT ??_C@_0CO@MPCNNKCB@SimpleVecClass?$DMunsigned?5int?$DO?3?3?$HOS@
CONST	SEGMENT
??_C@_0CO@MPCNNKCB@SimpleVecClass?$DMunsigned?5int?$DO?3?3?$HOS@ DB 'Simp'
	DB	'leVecClass<unsigned int>::~SimpleVecClass', 00H ; `string'
CONST	ENDS
;	COMDAT ??_7?$SimpleVecClass@I@@6B@
CONST	SEGMENT
??_7?$SimpleVecClass@I@@6B@ DD FLAT:??_R4?$SimpleVecClass@I@@6B@ ; SimpleVecClass<unsigned int>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@I@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleVecClass@I@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleVecClass@I@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1?$SimpleVecClass@I@@UAE@XZ
_TEXT	SEGMENT
??1?$SimpleVecClass@I@@UAE@XZ PROC			; SimpleVecClass<unsigned int>::~SimpleVecClass<unsigned 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@I@@6B@
	je	SHORT $LN1@SimpleVecC@4

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

	push	OFFSET ??_C@_0CO@MPCNNKCB@SimpleVecClass?$DMunsigned?5int?$DO?3?3?$HOS@
	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@I@@UAE@XZ ENDP			; SimpleVecClass<unsigned int>::~SimpleVecClass<unsigned int>
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0DB@HGKHGJNJ@SimpleVecClass?$DMunsigned?5int?$DO?3?3Un@ ; `string'
;	COMDAT ??_C@_0DB@HGKHGJNJ@SimpleVecClass?$DMunsigned?5int?$DO?3?3Un@
CONST	SEGMENT
??_C@_0DB@HGKHGJNJ@SimpleVecClass?$DMunsigned?5int?$DO?3?3Un@ DB 'SimpleV'
	DB	'ecClass<unsigned int>::Uninitialised_Grow', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Uninitialised_Grow@?$SimpleVecClass@I@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Uninitialised_Grow@?$SimpleVecClass@I@@UAE_NH@Z PROC	; SimpleVecClass<unsigned 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@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@_0DB@HGKHGJNJ@SimpleVecClass?$DMunsigned?5int?$DO?3?3Un@
	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@_0DB@HGKHGJNJ@SimpleVecClass?$DMunsigned?5int?$DO?3?3Un@
	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@4:
	pop	edi

; 167  : 		}
; 168  : 		return true;

	mov	al, 1
	pop	esi

; 169  : 	}

	ret	4
?Uninitialised_Grow@?$SimpleVecClass@I@@UAE_NH@Z ENDP	; SimpleVecClass<unsigned int>::Uninitialised_Grow
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0CF@JPCAAIGO@SimpleVecClass?$DMunsigned?5int?$DO?3?3Re@ ; `string'
;	COMDAT ??_C@_0CF@JPCAAIGO@SimpleVecClass?$DMunsigned?5int?$DO?3?3Re@
CONST	SEGMENT
??_C@_0CF@JPCAAIGO@SimpleVecClass?$DMunsigned?5int?$DO?3?3Re@ DB 'SimpleV'
	DB	'ecClass<unsigned int>::Resize', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Resize@?$SimpleVecClass@I@@UAE_NH@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_newsize$ = 8						; size = 4
?Resize@?$SimpleVecClass@I@@UAE_NH@Z PROC		; SimpleVecClass<unsigned 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@4

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

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

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

	push	OFFSET ??_C@_0CF@JPCAAIGO@SimpleVecClass?$DMunsigned?5int?$DO?3?3Re@
	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@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));

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

; 217  : 				delete[] Vector;

	push	OFFSET ??_C@_0CF@JPCAAIGO@SimpleVecClass?$DMunsigned?5int?$DO?3?3Re@
	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@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@_0CF@JPCAAIGO@SimpleVecClass?$DMunsigned?5int?$DO?3?3Re@
	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@4:
	pop	edi

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

	mov	al, 1
	pop	esi

; 233  : 	}

	ret	4
?Resize@?$SimpleVecClass@I@@UAE_NH@Z ENDP		; SimpleVecClass<unsigned int>::Resize
_TEXT	ENDS
PUBLIC	??_7?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@6B@ ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`vftable'
PUBLIC	??0?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@QAE@PAD0@Z ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::ScriptRegistrant<MDB_ExpVehFac_Helipad>
PUBLIC	??_R4?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@6B@ ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@@8 ; ScriptRegistrant<MDB_ExpVehFac_Helipad> `RTTI Type Descriptor'
PUBLIC	??_R3?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8 ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8 ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8 ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`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@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::Create
EXTRN	??0ScriptFactory@@QAE@PAD0@Z:PROC		; ScriptFactory::ScriptFactory
EXTRN	??_E?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAXI@Z:PROC ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`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@VMDB_ExpVehFac_Helipad@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8 DD FLAT:??_R0?AV?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@@8 ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8
rdata$r	SEGMENT
??_R2?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8 DD FLAT:??_R1A@?0A@EA@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8 ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8
rdata$r	SEGMENT
??_R3?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8 DD 00H ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@@8
_DATA	SEGMENT
??_R0?AV?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@@8 DD FLAT:??_7type_info@@6B@ ; ScriptRegistrant<MDB_ExpVehFac_Helipad> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@6B@
rdata$r	SEGMENT
??_R4?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@6B@ DD 00H ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@@8
	DD	FLAT:??_R3?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@6B@ DD FLAT:??_R4?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@6B@ ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`vftable'
	DD	FLAT:??_E?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@QAE@PAD0@Z PROC ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::ScriptRegistrant<MDB_ExpVehFac_Helipad>, 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@VMDB_ExpVehFac_Helipad@@@@6B@

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<MDB_ExpVehFac_Limit>::ScriptRegistrant<MDB_ExpVehFac_Limit>
; 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@PAUUnitInfo@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleVecClass@PAUUnitInfo@@@@UAEPAXI@Z PROC	; SimpleVecClass<UnitInfo *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@PAUUnitInfo@@@@6B@
	je	SHORT $LN4@scalar@2
	push	OFFSET ??_C@_0DD@IEMMGBBK@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@
	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@2:
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN9@scalar@2
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN9@scalar@2:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleVecClass@PAUUnitInfo@@@@UAEPAXI@Z ENDP	; SimpleVecClass<UnitInfo *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleVecClass@PAUCreationPos@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleVecClass@PAUCreationPos@@@@UAEPAXI@Z PROC	; SimpleVecClass<CreationPos *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@PAUCreationPos@@@@6B@
	je	SHORT $LN4@scalar@3
	push	OFFSET ??_C@_0DG@OANNENMH@SimpleVecClass?$DMstruct?5CreationPo@
	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@PAUCreationPos@@@@UAEPAXI@Z ENDP	; SimpleVecClass<CreationPos *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleVecClass@PAE@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleVecClass@PAE@@UAEPAXI@Z PROC		; SimpleVecClass<unsigned char *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@PAE@@6B@
	je	SHORT $LN4@scalar@4
	push	OFFSET ??_C@_0DB@MPKFPOBN@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
	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@PAE@@UAEPAXI@Z ENDP		; SimpleVecClass<unsigned char *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleVecClass@I@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleVecClass@I@@UAEPAXI@Z PROC			; SimpleVecClass<unsigned 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@I@@6B@
	je	SHORT $LN4@scalar@5
	push	OFFSET ??_C@_0CO@MPCNNKCB@SimpleVecClass?$DMunsigned?5int?$DO?3?3?$HOS@
	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@I@@UAEPAXI@Z ENDP			; SimpleVecClass<unsigned int>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`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@6
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@6:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_ExpVehFac_Naval>::`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@VMDB_ExpVehFac_Naval@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_ExpVehFac_Naval>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_ExpVehFac_Vehicle_Factory>::`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@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_ExpVehFac_Vehicle_Factory>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_ExpVehFac_Cinematic>::`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@VMDB_ExpVehFac_Cinematic@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_ExpVehFac_Cinematic>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_ExpVehFac_Cinematic_Vehicle>::`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@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_ExpVehFac_Cinematic_Vehicle>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_ExpVehFac_Limit>::`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@VMDB_ExpVehFac_Limit@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_ExpVehFac_Limit>::`scalar deleting destructor'
_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?$SimpleVecClass@PAUUnitInfo@@@@QAE@I@Z	; SimpleVecClass<UnitInfo *>::SimpleVecClass<UnitInfo *>
; Function compile flags: /Ogtpy
; File d:\source code\stgm\engine_vector.h
;	COMDAT ??0?$SimpleVecClass@PAUUnitInfo@@@@QAE@I@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleVecClass@PAUUnitInfo@@@@QAE@I@Z PROC		; SimpleVecClass<UnitInfo *>::SimpleVecClass<UnitInfo *>, 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@PAUUnitInfo@@@@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@PAUUnitInfo@@@@UAE_NH@Z ; SimpleVecClass<UnitInfo *>::Resize
$LN4@SimpleVecC@5:

; 152  : 		}
; 153  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleVecClass@PAUUnitInfo@@@@QAE@I@Z ENDP		; SimpleVecClass<UnitInfo *>::SimpleVecClass<UnitInfo *>
_TEXT	ENDS
PUBLIC	??0?$SimpleVecClass@PAUCreationPos@@@@QAE@I@Z	; SimpleVecClass<CreationPos *>::SimpleVecClass<CreationPos *>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$SimpleVecClass@PAUCreationPos@@@@QAE@I@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleVecClass@PAUCreationPos@@@@QAE@I@Z PROC	; SimpleVecClass<CreationPos *>::SimpleVecClass<CreationPos *>, 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@PAUCreationPos@@@@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@PAUCreationPos@@@@UAE_NH@Z ; SimpleVecClass<CreationPos *>::Resize
$LN4@SimpleVecC@6:

; 152  : 		}
; 153  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleVecClass@PAUCreationPos@@@@QAE@I@Z ENDP	; SimpleVecClass<CreationPos *>::SimpleVecClass<CreationPos *>
_TEXT	ENDS
PUBLIC	??0?$SimpleVecClass@PAE@@QAE@I@Z		; SimpleVecClass<unsigned char *>::SimpleVecClass<unsigned char *>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$SimpleVecClass@PAE@@QAE@I@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleVecClass@PAE@@QAE@I@Z PROC			; SimpleVecClass<unsigned char *>::SimpleVecClass<unsigned char *>, 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@PAE@@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@PAE@@UAE_NH@Z	; SimpleVecClass<unsigned char *>::Resize
$LN4@SimpleVecC@7:

; 152  : 		}
; 153  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleVecClass@PAE@@QAE@I@Z ENDP			; SimpleVecClass<unsigned char *>::SimpleVecClass<unsigned char *>
_TEXT	ENDS
PUBLIC	__$ReturnAddr$
PUBLIC	??_C@_0CM@IMHJNILM@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@ ; `string'
PUBLIC	??4?$SimpleVecClass@PAE@@QAEAAV0@ABV0@@Z	; SimpleVecClass<unsigned char *>::operator=
;	COMDAT ??_C@_0CM@IMHJNILM@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
CONST	SEGMENT
??_C@_0CM@IMHJNILM@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@ DB 'Simp'
	DB	'leVecClass<unsigned char *>::operator =', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??4?$SimpleVecClass@PAE@@QAEAAV0@ABV0@@Z
_TEXT	SEGMENT
__$ReturnAddr$ = 4					; size = 4
_cl$ = 8						; size = 4
??4?$SimpleVecClass@PAE@@QAEAAV0@ABV0@@Z PROC		; SimpleVecClass<unsigned char *>::operator=, COMDAT
; _this$ = ecx

; 235  : 	{

	push	esi
	mov	esi, ecx

; 236  : 		if (Vector)

	cmp	DWORD PTR [esi+4], 0
	push	edi
	je	SHORT $LN5@operator

; 237  : 		{
; 238  : 			delete[] Vector;

	push	OFFSET ??_C@_0CM@IMHJNILM@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
	push	238					; 000000eeH
	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
$LN5@operator:

; 239  : 		}
; 240  : 		VectorMax = cl.VectorMax;

	mov	edi, DWORD PTR _cl$[esp+4]
	mov	ecx, DWORD PTR [edi+8]

; 241  : 		Vector = new T[VectorMax];

	push	OFFSET ??_C@_0CM@IMHJNILM@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
	push	241					; 000000f1H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	mov	DWORD PTR [esi+8], ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+8]
	xor	ecx, ecx
	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

; 242  : #ifdef _MEMTRACK
; 243  : 		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

; 244  : #endif
; 245  : 		memcpy(Vector,cl.Vector,VectorMax*sizeof(T));

	mov	ecx, DWORD PTR [esi+8]
	mov	edx, DWORD PTR [edi+4]
	mov	eax, DWORD PTR [esi+4]
	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	edx
	push	eax
	call	_memcpy
	add	esp, 36					; 00000024H
	pop	edi

; 246  : 		return *this;

	mov	eax, esi
	pop	esi

; 247  : 	}

	ret	4
??4?$SimpleVecClass@PAE@@QAEAAV0@ABV0@@Z ENDP		; SimpleVecClass<unsigned char *>::operator=
_TEXT	ENDS
PUBLIC	??0?$SimpleVecClass@I@@QAE@I@Z			; SimpleVecClass<unsigned int>::SimpleVecClass<unsigned int>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$SimpleVecClass@I@@QAE@I@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleVecClass@I@@QAE@I@Z PROC			; SimpleVecClass<unsigned int>::SimpleVecClass<unsigned 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@I@@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@I@@UAE_NH@Z	; SimpleVecClass<unsigned int>::Resize
$LN4@SimpleVecC@8:

; 152  : 		}
; 153  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleVecClass@I@@QAE@I@Z ENDP			; SimpleVecClass<unsigned int>::SimpleVecClass<unsigned int>
_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	??$_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	??_7MDB_ExpVehFac_Helipad@@6B@			; MDB_ExpVehFac_Helipad::`vftable'
PUBLIC	??0MDB_ExpVehFac_Helipad@@QAE@XZ		; MDB_ExpVehFac_Helipad::MDB_ExpVehFac_Helipad
PUBLIC	??_R4MDB_ExpVehFac_Helipad@@6B@			; MDB_ExpVehFac_Helipad::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_ExpVehFac_Helipad@@@8		; MDB_ExpVehFac_Helipad `RTTI Type Descriptor'
PUBLIC	??_R3MDB_ExpVehFac_Helipad@@8			; MDB_ExpVehFac_Helipad::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_ExpVehFac_Helipad@@8			; MDB_ExpVehFac_Helipad::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_ExpVehFac_Helipad@@8		; MDB_ExpVehFac_Helipad::`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	?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z	; MDB_ExpVehFac_Helipad::Created
PUBLIC	?Destroyed@MDB_ExpVehFac_Helipad@@EAEXPAE@Z	; MDB_ExpVehFac_Helipad::Destroyed
PUBLIC	?Killed@MDB_ExpVehFac_Helipad@@EAEXPAE0@Z	; MDB_ExpVehFac_Helipad::Killed
PUBLIC	?Custom@MDB_ExpVehFac_Helipad@@EAEXPAEHH0@Z	; MDB_ExpVehFac_Helipad::Custom
EXTRN	??0ScriptImpClass@@QAE@XZ:PROC			; ScriptImpClass::ScriptImpClass
EXTRN	??_EMDB_ExpVehFac_Helipad@@UAEPAXI@Z:PROC	; MDB_ExpVehFac_Helipad::`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	?Damaged@ScriptImpClass@@UAEXPAE0M@Z:PROC	; ScriptImpClass::Damaged
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	?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z:PROC	; ScriptImpClass::Timer_Expired
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@MDB_ExpVehFac_Helipad@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_ExpVehFac_Helipad@@8 DD FLAT:??_R0?AVMDB_ExpVehFac_Helipad@@@8 ; MDB_ExpVehFac_Helipad::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_ExpVehFac_Helipad@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_ExpVehFac_Helipad@@8
rdata$r	SEGMENT
??_R2MDB_ExpVehFac_Helipad@@8 DD FLAT:??_R1A@?0A@EA@MDB_ExpVehFac_Helipad@@8 ; MDB_ExpVehFac_Helipad::`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 ??_R3MDB_ExpVehFac_Helipad@@8
rdata$r	SEGMENT
??_R3MDB_ExpVehFac_Helipad@@8 DD 00H			; MDB_ExpVehFac_Helipad::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_ExpVehFac_Helipad@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_ExpVehFac_Helipad@@@8
_DATA	SEGMENT
??_R0?AVMDB_ExpVehFac_Helipad@@@8 DD FLAT:??_7type_info@@6B@ ; MDB_ExpVehFac_Helipad `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_ExpVehFac_Helipad@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_ExpVehFac_Helipad@@6B@
rdata$r	SEGMENT
??_R4MDB_ExpVehFac_Helipad@@6B@ DD 00H			; MDB_ExpVehFac_Helipad::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_ExpVehFac_Helipad@@@8
	DD	FLAT:??_R3MDB_ExpVehFac_Helipad@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_ExpVehFac_Helipad@@6B@
CONST	SEGMENT
??_7MDB_ExpVehFac_Helipad@@6B@ DD FLAT:??_R4MDB_ExpVehFac_Helipad@@6B@ ; MDB_ExpVehFac_Helipad::`vftable'
	DD	FLAT:??_EMDB_ExpVehFac_Helipad@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z
	DD	FLAT:?Destroyed@MDB_ExpVehFac_Helipad@@EAEXPAE@Z
	DD	FLAT:?Killed@MDB_ExpVehFac_Helipad@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@MDB_ExpVehFac_Helipad@@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 ??0MDB_ExpVehFac_Helipad@@QAE@XZ
_TEXT	SEGMENT
??0MDB_ExpVehFac_Helipad@@QAE@XZ PROC			; MDB_ExpVehFac_Helipad::MDB_ExpVehFac_Helipad, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7MDB_ExpVehFac_Helipad@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0MDB_ExpVehFac_Helipad@@QAE@XZ ENDP			; MDB_ExpVehFac_Helipad::MDB_ExpVehFac_Helipad
_TEXT	ENDS
PUBLIC	??_7MDB_ExpVehFac_Naval@@6B@			; MDB_ExpVehFac_Naval::`vftable'
PUBLIC	??0MDB_ExpVehFac_Naval@@QAE@XZ			; MDB_ExpVehFac_Naval::MDB_ExpVehFac_Naval
PUBLIC	??_R4MDB_ExpVehFac_Naval@@6B@			; MDB_ExpVehFac_Naval::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_ExpVehFac_Naval@@@8			; MDB_ExpVehFac_Naval `RTTI Type Descriptor'
PUBLIC	??_R3MDB_ExpVehFac_Naval@@8			; MDB_ExpVehFac_Naval::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_ExpVehFac_Naval@@8			; MDB_ExpVehFac_Naval::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_ExpVehFac_Naval@@8		; MDB_ExpVehFac_Naval::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z		; MDB_ExpVehFac_Naval::Created
PUBLIC	?Destroyed@MDB_ExpVehFac_Naval@@EAEXPAE@Z	; MDB_ExpVehFac_Naval::Destroyed
PUBLIC	?Killed@MDB_ExpVehFac_Naval@@EAEXPAE0@Z		; MDB_ExpVehFac_Naval::Killed
PUBLIC	?Custom@MDB_ExpVehFac_Naval@@EAEXPAEHH0@Z	; MDB_ExpVehFac_Naval::Custom
EXTRN	??_EMDB_ExpVehFac_Naval@@UAEPAXI@Z:PROC		; MDB_ExpVehFac_Naval::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@MDB_ExpVehFac_Naval@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_ExpVehFac_Naval@@8 DD FLAT:??_R0?AVMDB_ExpVehFac_Naval@@@8 ; MDB_ExpVehFac_Naval::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_ExpVehFac_Naval@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_ExpVehFac_Naval@@8
rdata$r	SEGMENT
??_R2MDB_ExpVehFac_Naval@@8 DD FLAT:??_R1A@?0A@EA@MDB_ExpVehFac_Naval@@8 ; MDB_ExpVehFac_Naval::`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 ??_R3MDB_ExpVehFac_Naval@@8
rdata$r	SEGMENT
??_R3MDB_ExpVehFac_Naval@@8 DD 00H			; MDB_ExpVehFac_Naval::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_ExpVehFac_Naval@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_ExpVehFac_Naval@@@8
_DATA	SEGMENT
??_R0?AVMDB_ExpVehFac_Naval@@@8 DD FLAT:??_7type_info@@6B@ ; MDB_ExpVehFac_Naval `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_ExpVehFac_Naval@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_ExpVehFac_Naval@@6B@
rdata$r	SEGMENT
??_R4MDB_ExpVehFac_Naval@@6B@ DD 00H			; MDB_ExpVehFac_Naval::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_ExpVehFac_Naval@@@8
	DD	FLAT:??_R3MDB_ExpVehFac_Naval@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_ExpVehFac_Naval@@6B@
CONST	SEGMENT
??_7MDB_ExpVehFac_Naval@@6B@ DD FLAT:??_R4MDB_ExpVehFac_Naval@@6B@ ; MDB_ExpVehFac_Naval::`vftable'
	DD	FLAT:??_EMDB_ExpVehFac_Naval@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z
	DD	FLAT:?Destroyed@MDB_ExpVehFac_Naval@@EAEXPAE@Z
	DD	FLAT:?Killed@MDB_ExpVehFac_Naval@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@MDB_ExpVehFac_Naval@@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 ??0MDB_ExpVehFac_Naval@@QAE@XZ
_TEXT	SEGMENT
??0MDB_ExpVehFac_Naval@@QAE@XZ PROC			; MDB_ExpVehFac_Naval::MDB_ExpVehFac_Naval, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7MDB_ExpVehFac_Naval@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0MDB_ExpVehFac_Naval@@QAE@XZ ENDP			; MDB_ExpVehFac_Naval::MDB_ExpVehFac_Naval
_TEXT	ENDS
PUBLIC	??_7MDB_ExpVehFac_Vehicle_Factory@@6B@		; MDB_ExpVehFac_Vehicle_Factory::`vftable'
PUBLIC	??0MDB_ExpVehFac_Vehicle_Factory@@QAE@XZ	; MDB_ExpVehFac_Vehicle_Factory::MDB_ExpVehFac_Vehicle_Factory
PUBLIC	??_R4MDB_ExpVehFac_Vehicle_Factory@@6B@		; MDB_ExpVehFac_Vehicle_Factory::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_ExpVehFac_Vehicle_Factory@@@8	; MDB_ExpVehFac_Vehicle_Factory `RTTI Type Descriptor'
PUBLIC	??_R3MDB_ExpVehFac_Vehicle_Factory@@8		; MDB_ExpVehFac_Vehicle_Factory::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_ExpVehFac_Vehicle_Factory@@8		; MDB_ExpVehFac_Vehicle_Factory::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_ExpVehFac_Vehicle_Factory@@8	; MDB_ExpVehFac_Vehicle_Factory::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z ; MDB_ExpVehFac_Vehicle_Factory::Created
PUBLIC	?Destroyed@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z ; MDB_ExpVehFac_Vehicle_Factory::Destroyed
PUBLIC	?Killed@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE0@Z ; MDB_ExpVehFac_Vehicle_Factory::Killed
PUBLIC	?Custom@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAEHH0@Z ; MDB_ExpVehFac_Vehicle_Factory::Custom
EXTRN	??_EMDB_ExpVehFac_Vehicle_Factory@@UAEPAXI@Z:PROC ; MDB_ExpVehFac_Vehicle_Factory::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@MDB_ExpVehFac_Vehicle_Factory@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_ExpVehFac_Vehicle_Factory@@8 DD FLAT:??_R0?AVMDB_ExpVehFac_Vehicle_Factory@@@8 ; MDB_ExpVehFac_Vehicle_Factory::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_ExpVehFac_Vehicle_Factory@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_ExpVehFac_Vehicle_Factory@@8
rdata$r	SEGMENT
??_R2MDB_ExpVehFac_Vehicle_Factory@@8 DD FLAT:??_R1A@?0A@EA@MDB_ExpVehFac_Vehicle_Factory@@8 ; MDB_ExpVehFac_Vehicle_Factory::`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 ??_R3MDB_ExpVehFac_Vehicle_Factory@@8
rdata$r	SEGMENT
??_R3MDB_ExpVehFac_Vehicle_Factory@@8 DD 00H		; MDB_ExpVehFac_Vehicle_Factory::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_ExpVehFac_Vehicle_Factory@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_ExpVehFac_Vehicle_Factory@@@8
_DATA	SEGMENT
??_R0?AVMDB_ExpVehFac_Vehicle_Factory@@@8 DD FLAT:??_7type_info@@6B@ ; MDB_ExpVehFac_Vehicle_Factory `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_ExpVehFac_Vehicle_Factory@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_ExpVehFac_Vehicle_Factory@@6B@
rdata$r	SEGMENT
??_R4MDB_ExpVehFac_Vehicle_Factory@@6B@ DD 00H		; MDB_ExpVehFac_Vehicle_Factory::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_ExpVehFac_Vehicle_Factory@@@8
	DD	FLAT:??_R3MDB_ExpVehFac_Vehicle_Factory@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_ExpVehFac_Vehicle_Factory@@6B@
CONST	SEGMENT
??_7MDB_ExpVehFac_Vehicle_Factory@@6B@ DD FLAT:??_R4MDB_ExpVehFac_Vehicle_Factory@@6B@ ; MDB_ExpVehFac_Vehicle_Factory::`vftable'
	DD	FLAT:??_EMDB_ExpVehFac_Vehicle_Factory@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z
	DD	FLAT:?Destroyed@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z
	DD	FLAT:?Killed@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@MDB_ExpVehFac_Vehicle_Factory@@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@MDB_ExpVehFac_Vehicle_Factory@@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 ??0MDB_ExpVehFac_Vehicle_Factory@@QAE@XZ
_TEXT	SEGMENT
??0MDB_ExpVehFac_Vehicle_Factory@@QAE@XZ PROC		; MDB_ExpVehFac_Vehicle_Factory::MDB_ExpVehFac_Vehicle_Factory, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7MDB_ExpVehFac_Vehicle_Factory@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0MDB_ExpVehFac_Vehicle_Factory@@QAE@XZ ENDP		; MDB_ExpVehFac_Vehicle_Factory::MDB_ExpVehFac_Vehicle_Factory
_TEXT	ENDS
PUBLIC	??_7MDB_ExpVehFac_Cinematic@@6B@		; MDB_ExpVehFac_Cinematic::`vftable'
PUBLIC	??0MDB_ExpVehFac_Cinematic@@QAE@XZ		; MDB_ExpVehFac_Cinematic::MDB_ExpVehFac_Cinematic
PUBLIC	??_R4MDB_ExpVehFac_Cinematic@@6B@		; MDB_ExpVehFac_Cinematic::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_ExpVehFac_Cinematic@@@8		; MDB_ExpVehFac_Cinematic `RTTI Type Descriptor'
PUBLIC	??_R3MDB_ExpVehFac_Cinematic@@8			; MDB_ExpVehFac_Cinematic::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_ExpVehFac_Cinematic@@8			; MDB_ExpVehFac_Cinematic::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_ExpVehFac_Cinematic@@8	; MDB_ExpVehFac_Cinematic::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EMDB_ExpVehFac_Cinematic@@UAEPAXI@Z:PROC	; MDB_ExpVehFac_Cinematic::`vector deleting destructor'
EXTRN	?Killed@ScriptImpClass@@UAEXPAE0@Z:PROC		; ScriptImpClass::Killed
EXTRN	?Custom@ScriptImpClass@@UAEXPAEHH0@Z:PROC	; ScriptImpClass::Custom
;	COMDAT ??_R1A@?0A@EA@MDB_ExpVehFac_Cinematic@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_ExpVehFac_Cinematic@@8 DD FLAT:??_R0?AVMDB_ExpVehFac_Cinematic@@@8 ; MDB_ExpVehFac_Cinematic::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_ExpVehFac_Cinematic@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_ExpVehFac_Cinematic@@8
rdata$r	SEGMENT
??_R2MDB_ExpVehFac_Cinematic@@8 DD FLAT:??_R1A@?0A@EA@MDB_ExpVehFac_Cinematic@@8 ; MDB_ExpVehFac_Cinematic::`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 ??_R3MDB_ExpVehFac_Cinematic@@8
rdata$r	SEGMENT
??_R3MDB_ExpVehFac_Cinematic@@8 DD 00H			; MDB_ExpVehFac_Cinematic::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_ExpVehFac_Cinematic@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_ExpVehFac_Cinematic@@@8
_DATA	SEGMENT
??_R0?AVMDB_ExpVehFac_Cinematic@@@8 DD FLAT:??_7type_info@@6B@ ; MDB_ExpVehFac_Cinematic `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_ExpVehFac_Cinematic@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_ExpVehFac_Cinematic@@6B@
rdata$r	SEGMENT
??_R4MDB_ExpVehFac_Cinematic@@6B@ DD 00H		; MDB_ExpVehFac_Cinematic::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_ExpVehFac_Cinematic@@@8
	DD	FLAT:??_R3MDB_ExpVehFac_Cinematic@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_ExpVehFac_Cinematic@@6B@
CONST	SEGMENT
??_7MDB_ExpVehFac_Cinematic@@6B@ DD FLAT:??_R4MDB_ExpVehFac_Cinematic@@6B@ ; MDB_ExpVehFac_Cinematic::`vftable'
	DD	FLAT:??_EMDB_ExpVehFac_Cinematic@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@MDB_ExpVehFac_Cinematic@@EAEXPAE@Z
	DD	FLAT:?Destroyed@MDB_ExpVehFac_Cinematic@@EAEXPAE@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@MDB_ExpVehFac_Cinematic@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0MDB_ExpVehFac_Cinematic@@QAE@XZ
_TEXT	SEGMENT
??0MDB_ExpVehFac_Cinematic@@QAE@XZ PROC			; MDB_ExpVehFac_Cinematic::MDB_ExpVehFac_Cinematic, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7MDB_ExpVehFac_Cinematic@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0MDB_ExpVehFac_Cinematic@@QAE@XZ ENDP			; MDB_ExpVehFac_Cinematic::MDB_ExpVehFac_Cinematic
_TEXT	ENDS
PUBLIC	??_7MDB_ExpVehFac_Cinematic_Vehicle@@6B@	; MDB_ExpVehFac_Cinematic_Vehicle::`vftable'
PUBLIC	??0MDB_ExpVehFac_Cinematic_Vehicle@@QAE@XZ	; MDB_ExpVehFac_Cinematic_Vehicle::MDB_ExpVehFac_Cinematic_Vehicle
PUBLIC	??_R4MDB_ExpVehFac_Cinematic_Vehicle@@6B@	; MDB_ExpVehFac_Cinematic_Vehicle::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_ExpVehFac_Cinematic_Vehicle@@@8	; MDB_ExpVehFac_Cinematic_Vehicle `RTTI Type Descriptor'
PUBLIC	??_R3MDB_ExpVehFac_Cinematic_Vehicle@@8		; MDB_ExpVehFac_Cinematic_Vehicle::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_ExpVehFac_Cinematic_Vehicle@@8		; MDB_ExpVehFac_Cinematic_Vehicle::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_ExpVehFac_Cinematic_Vehicle@@8 ; MDB_ExpVehFac_Cinematic_Vehicle::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EMDB_ExpVehFac_Cinematic_Vehicle@@UAEPAXI@Z:PROC ; MDB_ExpVehFac_Cinematic_Vehicle::`vector deleting destructor'
EXTRN	?Created@ScriptImpClass@@UAEXPAE@Z:PROC		; ScriptImpClass::Created
EXTRN	?Destroyed@ScriptImpClass@@UAEXPAE@Z:PROC	; ScriptImpClass::Destroyed
;	COMDAT ??_R1A@?0A@EA@MDB_ExpVehFac_Cinematic_Vehicle@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_ExpVehFac_Cinematic_Vehicle@@8 DD FLAT:??_R0?AVMDB_ExpVehFac_Cinematic_Vehicle@@@8 ; MDB_ExpVehFac_Cinematic_Vehicle::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_ExpVehFac_Cinematic_Vehicle@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_ExpVehFac_Cinematic_Vehicle@@8
rdata$r	SEGMENT
??_R2MDB_ExpVehFac_Cinematic_Vehicle@@8 DD FLAT:??_R1A@?0A@EA@MDB_ExpVehFac_Cinematic_Vehicle@@8 ; MDB_ExpVehFac_Cinematic_Vehicle::`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 ??_R3MDB_ExpVehFac_Cinematic_Vehicle@@8
rdata$r	SEGMENT
??_R3MDB_ExpVehFac_Cinematic_Vehicle@@8 DD 00H		; MDB_ExpVehFac_Cinematic_Vehicle::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_ExpVehFac_Cinematic_Vehicle@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_ExpVehFac_Cinematic_Vehicle@@@8
_DATA	SEGMENT
??_R0?AVMDB_ExpVehFac_Cinematic_Vehicle@@@8 DD FLAT:??_7type_info@@6B@ ; MDB_ExpVehFac_Cinematic_Vehicle `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_ExpVehFac_Cinematic_Vehicle@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_ExpVehFac_Cinematic_Vehicle@@6B@
rdata$r	SEGMENT
??_R4MDB_ExpVehFac_Cinematic_Vehicle@@6B@ DD 00H	; MDB_ExpVehFac_Cinematic_Vehicle::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_ExpVehFac_Cinematic_Vehicle@@@8
	DD	FLAT:??_R3MDB_ExpVehFac_Cinematic_Vehicle@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_ExpVehFac_Cinematic_Vehicle@@6B@
CONST	SEGMENT
??_7MDB_ExpVehFac_Cinematic_Vehicle@@6B@ DD FLAT:??_R4MDB_ExpVehFac_Cinematic_Vehicle@@6B@ ; MDB_ExpVehFac_Cinematic_Vehicle::`vftable'
	DD	FLAT:??_EMDB_ExpVehFac_Cinematic_Vehicle@@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@MDB_ExpVehFac_Cinematic_Vehicle@@EAEXPAE0M@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 ??0MDB_ExpVehFac_Cinematic_Vehicle@@QAE@XZ
_TEXT	SEGMENT
??0MDB_ExpVehFac_Cinematic_Vehicle@@QAE@XZ PROC		; MDB_ExpVehFac_Cinematic_Vehicle::MDB_ExpVehFac_Cinematic_Vehicle, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7MDB_ExpVehFac_Cinematic_Vehicle@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0MDB_ExpVehFac_Cinematic_Vehicle@@QAE@XZ ENDP		; MDB_ExpVehFac_Cinematic_Vehicle::MDB_ExpVehFac_Cinematic_Vehicle
_TEXT	ENDS
PUBLIC	??_7MDB_ExpVehFac_Limit@@6B@			; MDB_ExpVehFac_Limit::`vftable'
PUBLIC	??0MDB_ExpVehFac_Limit@@QAE@XZ			; MDB_ExpVehFac_Limit::MDB_ExpVehFac_Limit
PUBLIC	??_R4MDB_ExpVehFac_Limit@@6B@			; MDB_ExpVehFac_Limit::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_ExpVehFac_Limit@@@8			; MDB_ExpVehFac_Limit `RTTI Type Descriptor'
PUBLIC	??_R3MDB_ExpVehFac_Limit@@8			; MDB_ExpVehFac_Limit::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_ExpVehFac_Limit@@8			; MDB_ExpVehFac_Limit::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_ExpVehFac_Limit@@8		; MDB_ExpVehFac_Limit::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Destroyed@MDB_ExpVehFac_Limit@@EAEXPAE@Z	; MDB_ExpVehFac_Limit::Destroyed
EXTRN	??_EMDB_ExpVehFac_Limit@@UAEPAXI@Z:PROC		; MDB_ExpVehFac_Limit::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@MDB_ExpVehFac_Limit@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_ExpVehFac_Limit@@8 DD FLAT:??_R0?AVMDB_ExpVehFac_Limit@@@8 ; MDB_ExpVehFac_Limit::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_ExpVehFac_Limit@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_ExpVehFac_Limit@@8
rdata$r	SEGMENT
??_R2MDB_ExpVehFac_Limit@@8 DD FLAT:??_R1A@?0A@EA@MDB_ExpVehFac_Limit@@8 ; MDB_ExpVehFac_Limit::`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 ??_R3MDB_ExpVehFac_Limit@@8
rdata$r	SEGMENT
??_R3MDB_ExpVehFac_Limit@@8 DD 00H			; MDB_ExpVehFac_Limit::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_ExpVehFac_Limit@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_ExpVehFac_Limit@@@8
_DATA	SEGMENT
??_R0?AVMDB_ExpVehFac_Limit@@@8 DD FLAT:??_7type_info@@6B@ ; MDB_ExpVehFac_Limit `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_ExpVehFac_Limit@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_ExpVehFac_Limit@@6B@
rdata$r	SEGMENT
??_R4MDB_ExpVehFac_Limit@@6B@ DD 00H			; MDB_ExpVehFac_Limit::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_ExpVehFac_Limit@@@8
	DD	FLAT:??_R3MDB_ExpVehFac_Limit@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_ExpVehFac_Limit@@6B@
CONST	SEGMENT
??_7MDB_ExpVehFac_Limit@@6B@ DD FLAT:??_R4MDB_ExpVehFac_Limit@@6B@ ; MDB_ExpVehFac_Limit::`vftable'
	DD	FLAT:??_EMDB_ExpVehFac_Limit@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@MDB_ExpVehFac_Limit@@EAEXPAE@Z
	DD	FLAT:?Destroyed@MDB_ExpVehFac_Limit@@EAEXPAE@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@MDB_ExpVehFac_Limit@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0MDB_ExpVehFac_Limit@@QAE@XZ
_TEXT	SEGMENT
??0MDB_ExpVehFac_Limit@@QAE@XZ PROC			; MDB_ExpVehFac_Limit::MDB_ExpVehFac_Limit, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7MDB_ExpVehFac_Limit@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0MDB_ExpVehFac_Limit@@QAE@XZ ENDP			; MDB_ExpVehFac_Limit::MDB_ExpVehFac_Limit
_TEXT	ENDS
PUBLIC	??1MDB_ExpVehFac_Helipad@@UAE@XZ		; MDB_ExpVehFac_Helipad::~MDB_ExpVehFac_Helipad
EXTRN	??1ScriptImpClass@@UAE@XZ:PROC			; ScriptImpClass::~ScriptImpClass
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_ExpVehFac_Helipad@@UAE@XZ
_TEXT	SEGMENT
??1MDB_ExpVehFac_Helipad@@UAE@XZ PROC			; MDB_ExpVehFac_Helipad::~MDB_ExpVehFac_Helipad, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_ExpVehFac_Helipad@@UAE@XZ ENDP			; MDB_ExpVehFac_Helipad::~MDB_ExpVehFac_Helipad
_TEXT	ENDS
PUBLIC	??1MDB_ExpVehFac_Naval@@UAE@XZ			; MDB_ExpVehFac_Naval::~MDB_ExpVehFac_Naval
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_ExpVehFac_Naval@@UAE@XZ
_TEXT	SEGMENT
??1MDB_ExpVehFac_Naval@@UAE@XZ PROC			; MDB_ExpVehFac_Naval::~MDB_ExpVehFac_Naval, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_ExpVehFac_Naval@@UAE@XZ ENDP			; MDB_ExpVehFac_Naval::~MDB_ExpVehFac_Naval
_TEXT	ENDS
PUBLIC	??1MDB_ExpVehFac_Vehicle_Factory@@UAE@XZ	; MDB_ExpVehFac_Vehicle_Factory::~MDB_ExpVehFac_Vehicle_Factory
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_ExpVehFac_Vehicle_Factory@@UAE@XZ
_TEXT	SEGMENT
??1MDB_ExpVehFac_Vehicle_Factory@@UAE@XZ PROC		; MDB_ExpVehFac_Vehicle_Factory::~MDB_ExpVehFac_Vehicle_Factory, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_ExpVehFac_Vehicle_Factory@@UAE@XZ ENDP		; MDB_ExpVehFac_Vehicle_Factory::~MDB_ExpVehFac_Vehicle_Factory
_TEXT	ENDS
PUBLIC	??1MDB_ExpVehFac_Cinematic@@UAE@XZ		; MDB_ExpVehFac_Cinematic::~MDB_ExpVehFac_Cinematic
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_ExpVehFac_Cinematic@@UAE@XZ
_TEXT	SEGMENT
??1MDB_ExpVehFac_Cinematic@@UAE@XZ PROC			; MDB_ExpVehFac_Cinematic::~MDB_ExpVehFac_Cinematic, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_ExpVehFac_Cinematic@@UAE@XZ ENDP			; MDB_ExpVehFac_Cinematic::~MDB_ExpVehFac_Cinematic
_TEXT	ENDS
PUBLIC	??1MDB_ExpVehFac_Cinematic_Vehicle@@UAE@XZ	; MDB_ExpVehFac_Cinematic_Vehicle::~MDB_ExpVehFac_Cinematic_Vehicle
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_ExpVehFac_Cinematic_Vehicle@@UAE@XZ
_TEXT	SEGMENT
??1MDB_ExpVehFac_Cinematic_Vehicle@@UAE@XZ PROC		; MDB_ExpVehFac_Cinematic_Vehicle::~MDB_ExpVehFac_Cinematic_Vehicle, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_ExpVehFac_Cinematic_Vehicle@@UAE@XZ ENDP		; MDB_ExpVehFac_Cinematic_Vehicle::~MDB_ExpVehFac_Cinematic_Vehicle
_TEXT	ENDS
PUBLIC	??1MDB_ExpVehFac_Limit@@UAE@XZ			; MDB_ExpVehFac_Limit::~MDB_ExpVehFac_Limit
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_ExpVehFac_Limit@@UAE@XZ
_TEXT	SEGMENT
??1MDB_ExpVehFac_Limit@@UAE@XZ PROC			; MDB_ExpVehFac_Limit::~MDB_ExpVehFac_Limit, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_ExpVehFac_Limit@@UAE@XZ ENDP			; MDB_ExpVehFac_Limit::~MDB_ExpVehFac_Limit
_TEXT	ENDS
PUBLIC	?Disable_Ground@ExpVehFacClass@@QAEXXZ		; ExpVehFacClass::Disable_Ground
EXTRN	?Update_PT_Data@@3P6AXXZA:DWORD			; Update_PT_Data
EXTRN	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z:PROC ; Get_Purchase_Definition
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
;	COMDAT ?Disable_Ground@ExpVehFacClass@@QAEXXZ
_TEXT	SEGMENT
_x$ = -4						; size = 4
?Disable_Ground@ExpVehFacClass@@QAEXXZ PROC		; ExpVehFacClass::Disable_Ground, COMDAT
; _this$ = ecx

; 56   : {

	push	ecx
	push	ebx
	push	ebp
	push	edi
	mov	edi, ecx

; 57   : 	int x = Units->Count();

	mov	eax, DWORD PTR [edi]
	mov	eax, DWORD PTR [eax+12]

; 58   : 	for (int i = 0; i < x; i++)

	xor	ebx, ebx
	xor	ebp, ebp
	cmp	eax, ebx
	mov	DWORD PTR _x$[esp+16], eax
	jle	$LN7@Disable_Gr
	push	esi
	npad	4
$LL9@Disable_Gr:

; 59   : 	{
; 60   : 		if ((*Units)[i])

	mov	eax, DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+ebp*4], ebx
	lea	ecx, DWORD PTR [ecx+ebp*4]
	je	SHORT $LN8@Disable_Gr

; 61   : 		{
; 62   : 			if ((*Units)[i]->VehType == VEHTYPE_GROUND)

	mov	edx, DWORD PTR [ecx]
	cmp	DWORD PTR [edx+20], 1
	jne	SHORT $LN8@Disable_Gr
	mov	eax, DWORD PTR [eax+4]

; 63   : 			{
; 64   : 				unsigned int Pos = (*Units)[i]->Pos;

	mov	ecx, DWORD PTR [eax+ebp*4]
	mov	esi, DWORD PTR [ecx+4]

; 65   : 				PurchaseSettingsDefClass *p = Get_Purchase_Definition((*Units)[i]->Type,PTTEAM(Team));

	xor	edx, edx
	cmp	DWORD PTR [edi+16], ebx
	lea	eax, DWORD PTR [eax+ebp*4]
	sete	dl
	mov	eax, ecx
	mov	ecx, DWORD PTR [eax]
	push	edx
	push	ecx
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 66   : 				if ((!p) || ((*Units)[i]->Alternate))

	cmp	eax, ebx
	je	SHORT $LN8@Disable_Gr
	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+ebp*4]
	cmp	BYTE PTR [edx+28], bl
	jne	SHORT $LN8@Disable_Gr

; 67   : 				{
; 68   : 					continue;
; 69   : 				}
; 70   : 				if (Remove_on_Death)

	cmp	BYTE PTR [edi+38], bl
	je	SHORT $LN2@Disable_Gr

; 71   : 				{
; 72   : 					p->presetids[Pos] = 0;
; 73   : 					p->altpresetids[Pos][0] = 0;

	lea	ecx, DWORD PTR [esi+esi*2]
	mov	DWORD PTR [eax+esi*4+76], ebx
	lea	ecx, DWORD PTR [eax+ecx*4]

; 74   : 					p->altpresetids[Pos][1] = 0;
; 75   : 					p->altpresetids[Pos][2] = 0;

	lea	edx, DWORD PTR [esi+esi*2+51]
	mov	DWORD PTR [ecx+196], ebx
	mov	DWORD PTR [ecx+200], ebx
	mov	DWORD PTR [eax+edx*4], ebx
$LN2@Disable_Gr:

; 76   : 				}
; 77   : 				if (!Sidebar)

	cmp	BYTE PTR [edi+37], bl
	jne	SHORT $LN1@Disable_Gr

; 78   : 				{
; 79   : 					p->costs[Pos] = 1000000;

	mov	DWORD PTR [eax+esi*4+36], 1000000	; 000f4240H
$LN1@Disable_Gr:

; 80   : 				}
; 81   : 				p->stringids[Pos] = STRINGID_UNAVAIL;

	mov	DWORD PTR [eax+esi*4+116], 7265		; 00001c61H
$LN8@Disable_Gr:

; 58   : 	for (int i = 0; i < x; i++)

	add	ebp, 1
	cmp	ebp, DWORD PTR _x$[esp+20]
	jl	$LL9@Disable_Gr
	pop	esi
$LN7@Disable_Gr:
	pop	edi
	pop	ebp
	pop	ebx

; 86   : }

	add	esp, 4

; 82   : 			}
; 83   : 		}
; 84   : 	}
; 85   : 	Update_PT_Data();

	jmp	DWORD PTR ?Update_PT_Data@@3P6AXXZA	; Update_PT_Data
?Disable_Ground@ExpVehFacClass@@QAEXXZ ENDP		; ExpVehFacClass::Disable_Ground
_TEXT	ENDS
PUBLIC	?Disable_Flying@ExpVehFacClass@@QAEXXZ		; ExpVehFacClass::Disable_Flying
; Function compile flags: /Ogtpy
;	COMDAT ?Disable_Flying@ExpVehFacClass@@QAEXXZ
_TEXT	SEGMENT
_x$ = -4						; size = 4
?Disable_Flying@ExpVehFacClass@@QAEXXZ PROC		; ExpVehFacClass::Disable_Flying, COMDAT
; _this$ = ecx

; 89   : {

	push	ecx
	push	ebx
	push	ebp
	push	edi
	mov	edi, ecx

; 90   : 	int x = Units->Count();

	mov	eax, DWORD PTR [edi]
	mov	eax, DWORD PTR [eax+12]

; 91   : 	for (int i = 0; i < x; i++)

	xor	ebx, ebx
	xor	ebp, ebp
	cmp	eax, ebx
	mov	DWORD PTR _x$[esp+16], eax
	jle	$LN7@Disable_Fl
	push	esi
	npad	4
$LL9@Disable_Fl:

; 92   : 	{
; 93   : 		if ((*Units)[i])

	mov	eax, DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+ebp*4], ebx
	lea	ecx, DWORD PTR [ecx+ebp*4]
	je	SHORT $LN8@Disable_Fl

; 94   : 		{
; 95   : 			if ((*Units)[i]->VehType == VEHTYPE_FLYING)

	mov	edx, DWORD PTR [ecx]
	cmp	DWORD PTR [edx+20], 2
	jne	SHORT $LN8@Disable_Fl
	mov	eax, DWORD PTR [eax+4]

; 96   : 			{
; 97   : 				unsigned int Pos = (*Units)[i]->Pos;

	mov	ecx, DWORD PTR [eax+ebp*4]
	mov	esi, DWORD PTR [ecx+4]

; 98   : 				PurchaseSettingsDefClass *p = Get_Purchase_Definition((*Units)[i]->Type,PTTEAM(Team));

	xor	edx, edx
	cmp	DWORD PTR [edi+16], ebx
	lea	eax, DWORD PTR [eax+ebp*4]
	sete	dl
	mov	eax, ecx
	mov	ecx, DWORD PTR [eax]
	push	edx
	push	ecx
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 99   : 				if ((!p) || ((*Units)[i]->Alternate))

	cmp	eax, ebx
	je	SHORT $LN8@Disable_Fl
	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+ebp*4]
	cmp	BYTE PTR [edx+28], bl
	jne	SHORT $LN8@Disable_Fl

; 100  : 				{
; 101  : 					continue;
; 102  : 				}
; 103  : 				if (Remove_on_Death)

	cmp	BYTE PTR [edi+38], bl
	je	SHORT $LN2@Disable_Fl

; 104  : 				{
; 105  : 					p->presetids[Pos] = 0;
; 106  : 					p->altpresetids[Pos][0] = 0;

	lea	ecx, DWORD PTR [esi+esi*2]
	mov	DWORD PTR [eax+esi*4+76], ebx
	lea	ecx, DWORD PTR [eax+ecx*4]

; 107  : 					p->altpresetids[Pos][1] = 0;
; 108  : 					p->altpresetids[Pos][2] = 0;

	lea	edx, DWORD PTR [esi+esi*2+51]
	mov	DWORD PTR [ecx+196], ebx
	mov	DWORD PTR [ecx+200], ebx
	mov	DWORD PTR [eax+edx*4], ebx
$LN2@Disable_Fl:

; 109  : 				}
; 110  : 				if (!Sidebar)

	cmp	BYTE PTR [edi+37], bl
	jne	SHORT $LN1@Disable_Fl

; 111  : 				{
; 112  : 					p->costs[Pos] = 1000000;

	mov	DWORD PTR [eax+esi*4+36], 1000000	; 000f4240H
$LN1@Disable_Fl:

; 113  : 				}
; 114  : 				p->stringids[Pos] = STRINGID_UNAVAIL;

	mov	DWORD PTR [eax+esi*4+116], 7265		; 00001c61H
$LN8@Disable_Fl:

; 91   : 	for (int i = 0; i < x; i++)

	add	ebp, 1
	cmp	ebp, DWORD PTR _x$[esp+20]
	jl	$LL9@Disable_Fl
	pop	esi
$LN7@Disable_Fl:
	pop	edi
	pop	ebp
	pop	ebx

; 119  : }

	add	esp, 4

; 115  : 			}
; 116  : 		}
; 117  : 	}
; 118  : 	Update_PT_Data();

	jmp	DWORD PTR ?Update_PT_Data@@3P6AXXZA	; Update_PT_Data
?Disable_Flying@ExpVehFacClass@@QAEXXZ ENDP		; ExpVehFacClass::Disable_Flying
_TEXT	ENDS
PUBLIC	?Disable_Naval@ExpVehFacClass@@QAEXXZ		; ExpVehFacClass::Disable_Naval
; Function compile flags: /Ogtpy
;	COMDAT ?Disable_Naval@ExpVehFacClass@@QAEXXZ
_TEXT	SEGMENT
_x$ = -4						; size = 4
?Disable_Naval@ExpVehFacClass@@QAEXXZ PROC		; ExpVehFacClass::Disable_Naval, COMDAT
; _this$ = ecx

; 122  : {

	push	ecx
	push	ebx
	push	ebp
	push	edi
	mov	edi, ecx

; 123  : 	int x = Units->Count();

	mov	eax, DWORD PTR [edi]
	mov	eax, DWORD PTR [eax+12]

; 124  : 	for (int i = 0; i < x; i++)

	xor	ebx, ebx
	xor	ebp, ebp
	cmp	eax, ebx
	mov	DWORD PTR _x$[esp+16], eax
	jle	$LN7@Disable_Na
	push	esi
	npad	4
$LL9@Disable_Na:

; 125  : 	{
; 126  : 		if ((*Units)[i])

	mov	eax, DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+ebp*4], ebx
	lea	ecx, DWORD PTR [ecx+ebp*4]
	je	SHORT $LN8@Disable_Na

; 127  : 		{
; 128  : 			if ((*Units)[i]->VehType == VEHTYPE_NAVAL)

	mov	edx, DWORD PTR [ecx]
	cmp	DWORD PTR [edx+20], 3
	jne	SHORT $LN8@Disable_Na
	mov	eax, DWORD PTR [eax+4]

; 129  : 			{
; 130  : 				unsigned int Pos = (*Units)[i]->Pos;

	mov	ecx, DWORD PTR [eax+ebp*4]
	mov	esi, DWORD PTR [ecx+4]

; 131  : 				PurchaseSettingsDefClass *p = Get_Purchase_Definition((*Units)[i]->Type,PTTEAM(Team));

	xor	edx, edx
	cmp	DWORD PTR [edi+16], ebx
	lea	eax, DWORD PTR [eax+ebp*4]
	sete	dl
	mov	eax, ecx
	mov	ecx, DWORD PTR [eax]
	push	edx
	push	ecx
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 132  : 				if ((!p) || ((*Units)[i]->Alternate))

	cmp	eax, ebx
	je	SHORT $LN8@Disable_Na
	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+ebp*4]
	cmp	BYTE PTR [edx+28], bl
	jne	SHORT $LN8@Disable_Na

; 133  : 				{
; 134  : 					continue;
; 135  : 				}
; 136  : 				if (Remove_on_Death)

	cmp	BYTE PTR [edi+38], bl
	je	SHORT $LN2@Disable_Na

; 137  : 				{
; 138  : 					p->presetids[Pos] = 0;
; 139  : 					p->altpresetids[Pos][0] = 0;

	lea	ecx, DWORD PTR [esi+esi*2]
	mov	DWORD PTR [eax+esi*4+76], ebx
	lea	ecx, DWORD PTR [eax+ecx*4]

; 140  : 					p->altpresetids[Pos][1] = 0;
; 141  : 					p->altpresetids[Pos][2] = 0;

	lea	edx, DWORD PTR [esi+esi*2+51]
	mov	DWORD PTR [ecx+196], ebx
	mov	DWORD PTR [ecx+200], ebx
	mov	DWORD PTR [eax+edx*4], ebx
$LN2@Disable_Na:

; 142  : 				}
; 143  : 				if (!Sidebar)

	cmp	BYTE PTR [edi+37], bl
	jne	SHORT $LN1@Disable_Na

; 144  : 				{
; 145  : 					p->costs[Pos] = 1000000;

	mov	DWORD PTR [eax+esi*4+36], 1000000	; 000f4240H
$LN1@Disable_Na:

; 146  : 				}
; 147  : 				p->stringids[Pos] = STRINGID_UNAVAIL;

	mov	DWORD PTR [eax+esi*4+116], 7265		; 00001c61H
$LN8@Disable_Na:

; 124  : 	for (int i = 0; i < x; i++)

	add	ebp, 1
	cmp	ebp, DWORD PTR _x$[esp+20]
	jl	$LL9@Disable_Na
	pop	esi
$LN7@Disable_Na:
	pop	edi
	pop	ebp
	pop	ebx

; 152  : }

	add	esp, 4

; 148  : 			}
; 149  : 		}
; 150  : 	}
; 151  : 	Update_PT_Data();

	jmp	DWORD PTR ?Update_PT_Data@@3P6AXXZA	; Update_PT_Data
?Disable_Naval@ExpVehFacClass@@QAEXXZ ENDP		; ExpVehFacClass::Disable_Naval
_TEXT	ENDS
PUBLIC	?Set_Ground_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Ground_Currently_Building
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Ground_Currently_Building@ExpVehFacClass@@QAEX_N@Z
_TEXT	SEGMENT
_building$ = 8						; size = 1
?Set_Ground_Currently_Building@ExpVehFacClass@@QAEX_N@Z PROC ; ExpVehFacClass::Set_Ground_Currently_Building, COMDAT
; _this$ = ecx

; 156  : 	Is_Ground_Building = building;

	mov	al, BYTE PTR _building$[esp-4]
	push	ebx
	push	ebp
	push	edi
	mov	edi, ecx

; 157  : 	int x = Units->Count();

	mov	ecx, DWORD PTR [edi]
	mov	BYTE PTR [edi+104], al
	mov	ebx, DWORD PTR [ecx+12]

; 158  : 	for (int i = 0; i < x; i++)

	xor	ebp, ebp
	test	ebx, ebx
	jle	$LN11@Set_Ground
	push	esi
	npad	4
$LL37@Set_Ground:

; 159  : 	{
; 160  : 		if ((*Units)[i])

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+4]
	cmp	DWORD PTR [edx+ebp*4], 0
	lea	ecx, DWORD PTR [edx+ebp*4]
	je	$LN12@Set_Ground

; 161  : 		{
; 162  : 			if ((*Units)[i]->VehType == VEHTYPE_GROUND)

	mov	ecx, DWORD PTR [ecx]
	cmp	DWORD PTR [ecx+20], 1
	jne	$LN12@Set_Ground

; 163  : 			{
; 164  : 				unsigned int Pos = (*Units)[i]->Pos;

	mov	ecx, DWORD PTR [edx+ebp*4]
	mov	esi, DWORD PTR [ecx+4]
	lea	eax, DWORD PTR [edx+ebp*4]

; 165  : 				PurchaseSettingsDefClass *p = Get_Purchase_Definition((*Units)[i]->Type,PTTEAM(Team));

	xor	edx, edx
	cmp	DWORD PTR [edi+16], edx
	mov	eax, ecx
	mov	ecx, DWORD PTR [eax]
	sete	dl
	push	edx
	push	ecx
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 166  : 				if ((!p) || ((*Units)[i]->Alternate))

	test	eax, eax
	je	SHORT $LN12@Set_Ground
	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [ecx+ebp*4]
	cmp	BYTE PTR [ecx+28], 0
	jne	SHORT $LN12@Set_Ground

; 167  : 				{
; 168  : 					continue;
; 169  : 				}
; 170  : 				if (building)

	cmp	BYTE PTR _building$[esp+12], 0
	je	SHORT $LN6@Set_Ground

; 171  : 				{
; 172  : 					if (p->stringids[Pos] != STRINGID_UNAVAIL && p->stringids[Pos] != STRINGID_LIMIT)

	mov	ecx, DWORD PTR [eax+esi*4+116]
	cmp	ecx, 7265				; 00001c61H
	je	SHORT $LN12@Set_Ground
	cmp	ecx, 9724				; 000025fcH
	je	SHORT $LN12@Set_Ground

; 173  : 					{
; 174  : 						if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN4@Set_Ground

; 175  : 						{
; 176  : 							p->costs[Pos] = 1000000;

	mov	DWORD PTR [eax+esi*4+36], 1000000	; 000f4240H
$LN4@Set_Ground:

; 177  : 						}
; 178  : 						p->stringids[Pos] = STRINGID_BUILDING;

	mov	DWORD PTR [eax+esi*4+116], 7263		; 00001c5fH

; 179  : 					}
; 180  : 				}

	jmp	SHORT $LN12@Set_Ground
$LN6@Set_Ground:

; 181  : 				else if (p->stringids[Pos] == STRINGID_BUILDING)

	cmp	DWORD PTR [eax+esi*4+116], 7263		; 00001c5fH
	jne	SHORT $LN12@Set_Ground

; 182  : 				{
; 183  : 					if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN1@Set_Ground

; 184  : 					{
; 185  : 						p->costs[Pos] = (*Units)[i]->Cost;

	mov	edx, DWORD PTR [ecx+12]
	mov	DWORD PTR [eax+esi*4+36], edx
$LN1@Set_Ground:

; 186  : 					}
; 187  : 					p->stringids[Pos] = (*Units)[i]->StringID;

	mov	ecx, DWORD PTR [edi]
	mov	edx, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR [edx+ebp*4]
	mov	edx, DWORD PTR [ecx+16]
	mov	DWORD PTR [eax+esi*4+116], edx
$LN12@Set_Ground:
	add	ebp, 1
	cmp	ebp, ebx
	jl	$LL37@Set_Ground
	pop	esi
$LN11@Set_Ground:

; 188  : 				}
; 189  : 			}
; 190  : 		}
; 191  : 	}
; 192  : 	Update_PT_Data();

	call	DWORD PTR ?Update_PT_Data@@3P6AXXZA	; Update_PT_Data
	pop	edi
	pop	ebp
	pop	ebx

; 193  : }

	ret	4
?Set_Ground_Currently_Building@ExpVehFacClass@@QAEX_N@Z ENDP ; ExpVehFacClass::Set_Ground_Currently_Building
_TEXT	ENDS
PUBLIC	?Set_Flying_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Flying_Currently_Building
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Flying_Currently_Building@ExpVehFacClass@@QAEX_N@Z
_TEXT	SEGMENT
_building$ = 8						; size = 1
?Set_Flying_Currently_Building@ExpVehFacClass@@QAEX_N@Z PROC ; ExpVehFacClass::Set_Flying_Currently_Building, COMDAT
; _this$ = ecx

; 197  : 	Is_Flying_Building = building;

	mov	al, BYTE PTR _building$[esp-4]
	push	ebx
	push	ebp
	push	edi
	mov	edi, ecx

; 198  : 	int x = Units->Count();

	mov	ecx, DWORD PTR [edi]
	mov	BYTE PTR [edi+105], al
	mov	ebx, DWORD PTR [ecx+12]

; 199  : 	for (int i = 0; i < x; i++)

	xor	ebp, ebp
	test	ebx, ebx
	jle	$LN11@Set_Flying
	push	esi
	npad	4
$LL35@Set_Flying:

; 200  : 	{
; 201  : 		if ((*Units)[i])

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+4]
	cmp	DWORD PTR [edx+ebp*4], 0
	lea	ecx, DWORD PTR [edx+ebp*4]
	je	$LN12@Set_Flying

; 202  : 		{
; 203  : 			if ((*Units)[i]->VehType == VEHTYPE_FLYING)

	mov	ecx, DWORD PTR [ecx]
	cmp	DWORD PTR [ecx+20], 2
	jne	$LN12@Set_Flying

; 204  : 			{
; 205  : 				unsigned int Pos = (*Units)[i]->Pos;

	mov	ecx, DWORD PTR [edx+ebp*4]
	mov	esi, DWORD PTR [ecx+4]
	lea	eax, DWORD PTR [edx+ebp*4]

; 206  : 				PurchaseSettingsDefClass *p = Get_Purchase_Definition((*Units)[i]->Type,PTTEAM(Team));

	xor	edx, edx
	cmp	DWORD PTR [edi+16], edx
	mov	eax, ecx
	mov	ecx, DWORD PTR [eax]
	sete	dl
	push	edx
	push	ecx
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 207  : 				if ((!p) || ((*Units)[i]->Alternate))

	test	eax, eax
	je	SHORT $LN12@Set_Flying
	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [ecx+ebp*4]
	cmp	BYTE PTR [ecx+28], 0
	jne	SHORT $LN12@Set_Flying

; 208  : 				{
; 209  : 					continue;
; 210  : 				}
; 211  : 				if (building)

	cmp	BYTE PTR _building$[esp+12], 0
	je	SHORT $LN6@Set_Flying

; 212  : 				{
; 213  : 					if (p->stringids[Pos] != STRINGID_UNAVAIL && p->stringids[Pos] != STRINGID_LIMIT)

	mov	ecx, DWORD PTR [eax+esi*4+116]
	cmp	ecx, 7265				; 00001c61H
	je	SHORT $LN12@Set_Flying
	cmp	ecx, 9724				; 000025fcH
	je	SHORT $LN12@Set_Flying

; 214  : 					{
; 215  : 						if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN4@Set_Flying

; 216  : 						{
; 217  : 							p->costs[Pos] = 1000000;

	mov	DWORD PTR [eax+esi*4+36], 1000000	; 000f4240H
$LN4@Set_Flying:

; 218  : 						}
; 219  : 						p->stringids[Pos] = STRINGID_BUILDING;

	mov	DWORD PTR [eax+esi*4+116], 7263		; 00001c5fH

; 220  : 					}
; 221  : 				}

	jmp	SHORT $LN12@Set_Flying
$LN6@Set_Flying:

; 222  : 				else if (p->stringids[Pos] == STRINGID_BUILDING)

	cmp	DWORD PTR [eax+esi*4+116], 7263		; 00001c5fH
	jne	SHORT $LN12@Set_Flying

; 223  : 				{
; 224  : 					if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN1@Set_Flying

; 225  : 					{
; 226  : 						p->costs[Pos] = (*Units)[i]->Cost;

	mov	edx, DWORD PTR [ecx+12]
	mov	DWORD PTR [eax+esi*4+36], edx
$LN1@Set_Flying:

; 227  : 					}
; 228  : 					p->stringids[Pos] = (*Units)[i]->StringID;

	mov	ecx, DWORD PTR [edi]
	mov	edx, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR [edx+ebp*4]
	mov	edx, DWORD PTR [ecx+16]
	mov	DWORD PTR [eax+esi*4+116], edx
$LN12@Set_Flying:
	add	ebp, 1
	cmp	ebp, ebx
	jl	$LL35@Set_Flying
	pop	esi
$LN11@Set_Flying:

; 229  : 				}
; 230  : 			}
; 231  : 		}
; 232  : 	}
; 233  : 	Update_PT_Data();

	call	DWORD PTR ?Update_PT_Data@@3P6AXXZA	; Update_PT_Data
	pop	edi
	pop	ebp
	pop	ebx

; 234  : }

	ret	4
?Set_Flying_Currently_Building@ExpVehFacClass@@QAEX_N@Z ENDP ; ExpVehFacClass::Set_Flying_Currently_Building
_TEXT	ENDS
PUBLIC	?Set_Naval_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Naval_Currently_Building
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Naval_Currently_Building@ExpVehFacClass@@QAEX_N@Z
_TEXT	SEGMENT
_building$ = 8						; size = 1
?Set_Naval_Currently_Building@ExpVehFacClass@@QAEX_N@Z PROC ; ExpVehFacClass::Set_Naval_Currently_Building, COMDAT
; _this$ = ecx

; 238  : 	Is_Naval_Building = building;

	mov	al, BYTE PTR _building$[esp-4]
	push	ebx
	push	ebp
	push	edi
	mov	edi, ecx

; 239  : 	int x = Units->Count();

	mov	ecx, DWORD PTR [edi]
	mov	BYTE PTR [edi+106], al
	mov	ebx, DWORD PTR [ecx+12]

; 240  : 	for (int i = 0; i < x; i++)

	xor	ebp, ebp
	test	ebx, ebx
	jle	$LN11@Set_Naval_
	push	esi
	npad	4
$LL35@Set_Naval_:

; 241  : 	{
; 242  : 		if ((*Units)[i])

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+4]
	cmp	DWORD PTR [edx+ebp*4], 0
	lea	ecx, DWORD PTR [edx+ebp*4]
	je	$LN12@Set_Naval_

; 243  : 		{
; 244  : 			if ((*Units)[i]->VehType == VEHTYPE_NAVAL)

	mov	ecx, DWORD PTR [ecx]
	cmp	DWORD PTR [ecx+20], 3
	jne	$LN12@Set_Naval_

; 245  : 			{
; 246  : 				unsigned int Pos = (*Units)[i]->Pos;

	mov	ecx, DWORD PTR [edx+ebp*4]
	mov	esi, DWORD PTR [ecx+4]
	lea	eax, DWORD PTR [edx+ebp*4]

; 247  : 				PurchaseSettingsDefClass *p = Get_Purchase_Definition((*Units)[i]->Type,PTTEAM(Team));

	xor	edx, edx
	cmp	DWORD PTR [edi+16], edx
	mov	eax, ecx
	mov	ecx, DWORD PTR [eax]
	sete	dl
	push	edx
	push	ecx
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 248  : 				if ((!p) || ((*Units)[i]->Alternate))

	test	eax, eax
	je	SHORT $LN12@Set_Naval_
	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [ecx+ebp*4]
	cmp	BYTE PTR [ecx+28], 0
	jne	SHORT $LN12@Set_Naval_

; 249  : 				{
; 250  : 					continue;
; 251  : 				}
; 252  : 				if (building)

	cmp	BYTE PTR _building$[esp+12], 0
	je	SHORT $LN6@Set_Naval_

; 253  : 				{
; 254  : 					if (p->stringids[Pos] != STRINGID_UNAVAIL && p->stringids[Pos] != STRINGID_LIMIT)

	mov	ecx, DWORD PTR [eax+esi*4+116]
	cmp	ecx, 7265				; 00001c61H
	je	SHORT $LN12@Set_Naval_
	cmp	ecx, 9724				; 000025fcH
	je	SHORT $LN12@Set_Naval_

; 255  : 					{
; 256  : 						if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN4@Set_Naval_

; 257  : 						{
; 258  : 							p->costs[Pos] = 1000000;

	mov	DWORD PTR [eax+esi*4+36], 1000000	; 000f4240H
$LN4@Set_Naval_:

; 259  : 						}
; 260  : 						p->stringids[Pos] = STRINGID_BUILDING;

	mov	DWORD PTR [eax+esi*4+116], 7263		; 00001c5fH

; 261  : 					}
; 262  : 				}

	jmp	SHORT $LN12@Set_Naval_
$LN6@Set_Naval_:

; 263  : 				else if (p->stringids[Pos] == STRINGID_BUILDING)

	cmp	DWORD PTR [eax+esi*4+116], 7263		; 00001c5fH
	jne	SHORT $LN12@Set_Naval_

; 264  : 				{
; 265  : 					if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN1@Set_Naval_

; 266  : 					{
; 267  : 						p->costs[Pos] = (*Units)[i]->Cost;

	mov	edx, DWORD PTR [ecx+12]
	mov	DWORD PTR [eax+esi*4+36], edx
$LN1@Set_Naval_:

; 268  : 					}
; 269  : 					p->stringids[Pos] = (*Units)[i]->StringID;

	mov	ecx, DWORD PTR [edi]
	mov	edx, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR [edx+ebp*4]
	mov	edx, DWORD PTR [ecx+16]
	mov	DWORD PTR [eax+esi*4+116], edx
$LN12@Set_Naval_:
	add	ebp, 1
	cmp	ebp, ebx
	jl	$LL35@Set_Naval_
	pop	esi
$LN11@Set_Naval_:

; 270  : 				}
; 271  : 			}
; 272  : 		}
; 273  : 	}
; 274  : 	Update_PT_Data();

	call	DWORD PTR ?Update_PT_Data@@3P6AXXZA	; Update_PT_Data
	pop	edi
	pop	ebp
	pop	ebx

; 275  : }

	ret	4
?Set_Naval_Currently_Building@ExpVehFacClass@@QAEX_N@Z ENDP ; ExpVehFacClass::Set_Naval_Currently_Building
_TEXT	ENDS
PUBLIC	?Set_Ground_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Ground_Limit_Reached
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Ground_Limit_Reached@ExpVehFacClass@@QAEX_N@Z
_TEXT	SEGMENT
_x$ = -4						; size = 4
_Reached$ = 8						; size = 1
?Set_Ground_Limit_Reached@ExpVehFacClass@@QAEX_N@Z PROC	; ExpVehFacClass::Set_Ground_Limit_Reached, COMDAT
; _this$ = ecx

; 278  : {

	push	ecx
	push	ebp
	push	edi
	mov	edi, ecx

; 279  : 	int x = Units->Count();

	mov	eax, DWORD PTR [edi]
	mov	eax, DWORD PTR [eax+12]

; 280  : 	for (int i = 0; i < x; i++)

	xor	ebp, ebp
	test	eax, eax
	mov	DWORD PTR _x$[esp+12], eax
	jle	$LN18@Set_Ground@2
	push	esi
	npad	7
$LL20@Set_Ground@2:

; 281  : 	{
; 282  : 		if ((*Units)[i])

	mov	eax, DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+ebp*4], 0
	lea	ecx, DWORD PTR [ecx+ebp*4]
	je	$LN19@Set_Ground@2

; 283  : 		{
; 284  : 			if ((*Units)[i]->VehType == VEHTYPE_GROUND && !(*Units)[i]->Support)

	mov	ecx, DWORD PTR [ecx]
	cmp	DWORD PTR [ecx+20], 1
	jne	$LN19@Set_Ground@2
	cmp	BYTE PTR [ecx+29], 0
	jne	$LN19@Set_Ground@2
	mov	edx, DWORD PTR [eax+4]

; 285  : 			{
; 286  : 				unsigned int Pos = (*Units)[i]->Pos;

	mov	ecx, DWORD PTR [edx+ebp*4]
	mov	esi, DWORD PTR [ecx+4]
	lea	eax, DWORD PTR [edx+ebp*4]

; 287  : 				PurchaseSettingsDefClass *p = Get_Purchase_Definition((*Units)[i]->Type,PTTEAM(Team));

	xor	edx, edx
	cmp	DWORD PTR [edi+16], edx
	mov	eax, ecx
	mov	ecx, DWORD PTR [eax]
	sete	dl
	push	edx
	push	ecx
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 288  : 				if ((!p) || ((*Units)[i]->Alternate))

	test	eax, eax
	je	$LN19@Set_Ground@2
	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [ecx+ebp*4]
	cmp	BYTE PTR [ecx+28], 0
	jne	$LN19@Set_Ground@2

; 289  : 				{
; 290  : 					continue;
; 291  : 				}
; 292  : 				if (Reached)

	cmp	BYTE PTR _Reached$[esp+12], 0
	je	SHORT $LN13@Set_Ground@2

; 293  : 				{
; 294  : 					if (p->stringids[Pos] != STRINGID_UNAVAIL)

	cmp	DWORD PTR [eax+esi*4+116], 7265		; 00001c61H
	je	$LN19@Set_Ground@2

; 295  : 					{
; 296  : 						if ((*Units)[i]->DMode == DISABLED_UNIT)

	cmp	DWORD PTR [ecx+24], 2
	jne	SHORT $LN11@Set_Ground@2

; 297  : 						{
; 298  : 							(*Units)[i]->DMode = DISABLED_BOTH;

	mov	DWORD PTR [ecx+24], 3

; 299  : 						}
; 300  : 						else

	jmp	$LN19@Set_Ground@2
$LN11@Set_Ground@2:

; 301  : 						{
; 302  : 							if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN9@Set_Ground@2

; 303  : 							{
; 304  : 								p->costs[Pos] = 1000000;

	mov	DWORD PTR [eax+esi*4+36], 1000000	; 000f4240H
$LN9@Set_Ground@2:

; 305  : 							}
; 306  : 							(*Units)[i]->DMode = DISABLED_EVF;

	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+ebp*4]
	mov	DWORD PTR [edx+24], 1

; 307  : 							p->stringids[Pos] = STRINGID_LIMIT;

	mov	DWORD PTR [eax+esi*4+116], 9724		; 000025fcH

; 308  : 						}
; 309  : 					}
; 310  : 				}

	jmp	SHORT $LN19@Set_Ground@2
$LN13@Set_Ground@2:

; 311  : 				else if (p->stringids[Pos] == STRINGID_LIMIT)

	cmp	DWORD PTR [eax+esi*4+116], 9724		; 000025fcH
	jne	SHORT $LN19@Set_Ground@2

; 312  : 				{
; 313  : 					if ((*Units)[i]->DMode == DISABLED_EVF)

	mov	edx, DWORD PTR [ecx+24]
	cmp	edx, 1
	jne	SHORT $LN6@Set_Ground@2

; 314  : 					{
; 315  : 						if (Is_Ground_Building)

	cmp	BYTE PTR [edi+104], 0
	je	SHORT $LN5@Set_Ground@2

; 316  : 						{
; 317  : 							p->stringids[Pos] = STRINGID_BUILDING;

	mov	DWORD PTR [eax+esi*4+116], 7263		; 00001c5fH

; 318  : 						}
; 319  : 						else

	jmp	SHORT $LN19@Set_Ground@2
$LN5@Set_Ground@2:

; 320  : 						{
; 321  : 							if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN3@Set_Ground@2

; 322  : 							{
; 323  : 								p->costs[Pos] = (*Units)[i]->Cost;

	mov	ecx, DWORD PTR [ecx+12]
	mov	DWORD PTR [eax+esi*4+36], ecx
$LN3@Set_Ground@2:

; 324  : 							}
; 325  : 							p->stringids[Pos] = (*Units)[i]->StringID;

	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+ebp*4]
	mov	ecx, DWORD PTR [edx+16]
	mov	DWORD PTR [eax+esi*4+116], ecx

; 326  : 							(*Units)[i]->DMode = NOT_DISABLED;

	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [eax+ebp*4]
	mov	DWORD PTR [ecx+24], 0

; 327  : 						}

	jmp	SHORT $LN19@Set_Ground@2
$LN6@Set_Ground@2:

; 328  : 					}
; 329  : 					else if ((*Units)[i]->DMode == DISABLED_BOTH)

	cmp	edx, 3
	jne	SHORT $LN19@Set_Ground@2

; 330  : 					{
; 331  : 						(*Units)[i]->DMode = DISABLED_UNIT;

	mov	DWORD PTR [ecx+24], 2
$LN19@Set_Ground@2:

; 280  : 	for (int i = 0; i < x; i++)

	add	ebp, 1
	cmp	ebp, DWORD PTR _x$[esp+16]
	jl	$LL20@Set_Ground@2
	pop	esi
$LN18@Set_Ground@2:

; 332  : 					}
; 333  : 				}
; 334  : 			}
; 335  : 		}
; 336  : 	}
; 337  : 	Update_PT_Data();

	call	DWORD PTR ?Update_PT_Data@@3P6AXXZA	; Update_PT_Data
	pop	edi
	pop	ebp

; 338  : }

	pop	ecx
	ret	4
?Set_Ground_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ENDP	; ExpVehFacClass::Set_Ground_Limit_Reached
_TEXT	ENDS
PUBLIC	?Set_Flying_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Flying_Limit_Reached
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Flying_Limit_Reached@ExpVehFacClass@@QAEX_N@Z
_TEXT	SEGMENT
_x$ = -4						; size = 4
_Reached$ = 8						; size = 1
?Set_Flying_Limit_Reached@ExpVehFacClass@@QAEX_N@Z PROC	; ExpVehFacClass::Set_Flying_Limit_Reached, COMDAT
; _this$ = ecx

; 341  : {

	push	ecx
	push	ebp
	push	edi
	mov	edi, ecx

; 342  : 	int x = Units->Count();

	mov	eax, DWORD PTR [edi]
	mov	eax, DWORD PTR [eax+12]

; 343  : 	for (int i = 0; i < x; i++)

	xor	ebp, ebp
	test	eax, eax
	mov	DWORD PTR _x$[esp+12], eax
	jle	$LN18@Set_Flying@2
	push	esi
	npad	7
$LL20@Set_Flying@2:

; 344  : 	{
; 345  : 		if ((*Units)[i])

	mov	eax, DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+ebp*4], 0
	lea	ecx, DWORD PTR [ecx+ebp*4]
	je	$LN19@Set_Flying@2

; 346  : 		{
; 347  : 			if ((*Units)[i]->VehType == VEHTYPE_FLYING && !(*Units)[i]->Support)

	mov	ecx, DWORD PTR [ecx]
	cmp	DWORD PTR [ecx+20], 2
	jne	$LN19@Set_Flying@2
	cmp	BYTE PTR [ecx+29], 0
	jne	$LN19@Set_Flying@2
	mov	edx, DWORD PTR [eax+4]

; 348  : 			{
; 349  : 				unsigned int Pos = (*Units)[i]->Pos;

	mov	ecx, DWORD PTR [edx+ebp*4]
	mov	esi, DWORD PTR [ecx+4]
	lea	eax, DWORD PTR [edx+ebp*4]

; 350  : 				PurchaseSettingsDefClass *p = Get_Purchase_Definition((*Units)[i]->Type,PTTEAM(Team));

	xor	edx, edx
	cmp	DWORD PTR [edi+16], edx
	mov	eax, ecx
	mov	ecx, DWORD PTR [eax]
	sete	dl
	push	edx
	push	ecx
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 351  : 				if ((!p) || ((*Units)[i]->Alternate))

	test	eax, eax
	je	$LN19@Set_Flying@2
	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [ecx+ebp*4]
	cmp	BYTE PTR [ecx+28], 0
	jne	$LN19@Set_Flying@2

; 352  : 				{
; 353  : 					continue;
; 354  : 				}
; 355  : 				if (Reached)

	cmp	BYTE PTR _Reached$[esp+12], 0
	je	SHORT $LN13@Set_Flying@2

; 356  : 				{
; 357  : 					if (p->stringids[Pos] != STRINGID_UNAVAIL)

	cmp	DWORD PTR [eax+esi*4+116], 7265		; 00001c61H
	je	$LN19@Set_Flying@2

; 358  : 					{
; 359  : 						if ((*Units)[i]->DMode == DISABLED_UNIT)

	cmp	DWORD PTR [ecx+24], 2
	jne	SHORT $LN11@Set_Flying@2

; 360  : 						{
; 361  : 							(*Units)[i]->DMode = DISABLED_BOTH;

	mov	DWORD PTR [ecx+24], 3

; 362  : 						}
; 363  : 						else

	jmp	$LN19@Set_Flying@2
$LN11@Set_Flying@2:

; 364  : 						{
; 365  : 							if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN9@Set_Flying@2

; 366  : 							{
; 367  : 								p->costs[Pos] = 1000000;

	mov	DWORD PTR [eax+esi*4+36], 1000000	; 000f4240H
$LN9@Set_Flying@2:

; 368  : 							}
; 369  : 							(*Units)[i]->DMode = DISABLED_EVF;

	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+ebp*4]
	mov	DWORD PTR [edx+24], 1

; 370  : 							p->stringids[Pos] = STRINGID_LIMIT;

	mov	DWORD PTR [eax+esi*4+116], 9724		; 000025fcH

; 371  : 						}
; 372  : 					}
; 373  : 				}

	jmp	SHORT $LN19@Set_Flying@2
$LN13@Set_Flying@2:

; 374  : 				else if (p->stringids[Pos] == STRINGID_LIMIT)

	cmp	DWORD PTR [eax+esi*4+116], 9724		; 000025fcH
	jne	SHORT $LN19@Set_Flying@2

; 375  : 				{
; 376  : 					if ((*Units)[i]->DMode == DISABLED_EVF)

	mov	edx, DWORD PTR [ecx+24]
	cmp	edx, 1
	jne	SHORT $LN6@Set_Flying@2

; 377  : 					{
; 378  : 						if (Is_Flying_Building)

	cmp	BYTE PTR [edi+105], 0
	je	SHORT $LN5@Set_Flying@2

; 379  : 						{
; 380  : 							p->stringids[Pos] = STRINGID_BUILDING;

	mov	DWORD PTR [eax+esi*4+116], 7263		; 00001c5fH

; 381  : 						}
; 382  : 						else

	jmp	SHORT $LN19@Set_Flying@2
$LN5@Set_Flying@2:

; 383  : 						{
; 384  : 							if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN3@Set_Flying@2

; 385  : 							{
; 386  : 								p->costs[Pos] = (*Units)[i]->Cost;

	mov	ecx, DWORD PTR [ecx+12]
	mov	DWORD PTR [eax+esi*4+36], ecx
$LN3@Set_Flying@2:

; 387  : 							}
; 388  : 							p->stringids[Pos] = (*Units)[i]->StringID;

	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+ebp*4]
	mov	ecx, DWORD PTR [edx+16]
	mov	DWORD PTR [eax+esi*4+116], ecx

; 389  : 							(*Units)[i]->DMode = NOT_DISABLED;

	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [eax+ebp*4]
	mov	DWORD PTR [ecx+24], 0

; 390  : 						}

	jmp	SHORT $LN19@Set_Flying@2
$LN6@Set_Flying@2:

; 391  : 					}
; 392  : 					else if ((*Units)[i]->DMode == DISABLED_BOTH)

	cmp	edx, 3
	jne	SHORT $LN19@Set_Flying@2

; 393  : 					{
; 394  : 						(*Units)[i]->DMode = DISABLED_UNIT;

	mov	DWORD PTR [ecx+24], 2
$LN19@Set_Flying@2:

; 343  : 	for (int i = 0; i < x; i++)

	add	ebp, 1
	cmp	ebp, DWORD PTR _x$[esp+16]
	jl	$LL20@Set_Flying@2
	pop	esi
$LN18@Set_Flying@2:

; 395  : 					}
; 396  : 				}
; 397  : 			}
; 398  : 		}
; 399  : 	}
; 400  : 	Update_PT_Data();

	call	DWORD PTR ?Update_PT_Data@@3P6AXXZA	; Update_PT_Data
	pop	edi
	pop	ebp

; 401  : }

	pop	ecx
	ret	4
?Set_Flying_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ENDP	; ExpVehFacClass::Set_Flying_Limit_Reached
_TEXT	ENDS
PUBLIC	?Set_Naval_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Naval_Limit_Reached
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Naval_Limit_Reached@ExpVehFacClass@@QAEX_N@Z
_TEXT	SEGMENT
_x$ = -4						; size = 4
_Reached$ = 8						; size = 1
?Set_Naval_Limit_Reached@ExpVehFacClass@@QAEX_N@Z PROC	; ExpVehFacClass::Set_Naval_Limit_Reached, COMDAT
; _this$ = ecx

; 404  : {

	push	ecx
	push	ebp
	push	edi
	mov	edi, ecx

; 405  : 	int x = Units->Count();

	mov	eax, DWORD PTR [edi]
	mov	eax, DWORD PTR [eax+12]

; 406  : 	for (int i = 0; i < x; i++)

	xor	ebp, ebp
	test	eax, eax
	mov	DWORD PTR _x$[esp+12], eax
	jle	$LN18@Set_Naval_@2
	push	esi
	npad	7
$LL20@Set_Naval_@2:

; 407  : 	{
; 408  : 		if ((*Units)[i])

	mov	eax, DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+ebp*4], 0
	lea	ecx, DWORD PTR [ecx+ebp*4]
	je	$LN19@Set_Naval_@2

; 409  : 		{
; 410  : 			if ((*Units)[i]->VehType == VEHTYPE_NAVAL && !(*Units)[i]->Support)

	mov	ecx, DWORD PTR [ecx]
	cmp	DWORD PTR [ecx+20], 3
	jne	$LN19@Set_Naval_@2
	cmp	BYTE PTR [ecx+29], 0
	jne	$LN19@Set_Naval_@2
	mov	edx, DWORD PTR [eax+4]

; 411  : 			{
; 412  : 				unsigned int Pos = (*Units)[i]->Pos;

	mov	ecx, DWORD PTR [edx+ebp*4]
	mov	esi, DWORD PTR [ecx+4]
	lea	eax, DWORD PTR [edx+ebp*4]

; 413  : 				PurchaseSettingsDefClass *p = Get_Purchase_Definition((*Units)[i]->Type,PTTEAM(Team));

	xor	edx, edx
	cmp	DWORD PTR [edi+16], edx
	mov	eax, ecx
	mov	ecx, DWORD PTR [eax]
	sete	dl
	push	edx
	push	ecx
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 414  : 				if ((!p) || ((*Units)[i]->Alternate))

	test	eax, eax
	je	$LN19@Set_Naval_@2
	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [ecx+ebp*4]
	cmp	BYTE PTR [ecx+28], 0
	jne	$LN19@Set_Naval_@2

; 415  : 				{
; 416  : 					continue;
; 417  : 				}
; 418  : 				if (Reached)

	cmp	BYTE PTR _Reached$[esp+12], 0
	je	SHORT $LN13@Set_Naval_@2

; 419  : 				{
; 420  : 					if (p->stringids[Pos] != STRINGID_UNAVAIL)

	cmp	DWORD PTR [eax+esi*4+116], 7265		; 00001c61H
	je	$LN19@Set_Naval_@2

; 421  : 					{
; 422  : 						if ((*Units)[i]->DMode == DISABLED_UNIT)

	cmp	DWORD PTR [ecx+24], 2
	jne	SHORT $LN11@Set_Naval_@2

; 423  : 						{
; 424  : 							(*Units)[i]->DMode = DISABLED_BOTH;

	mov	DWORD PTR [ecx+24], 3

; 425  : 						}
; 426  : 						else

	jmp	$LN19@Set_Naval_@2
$LN11@Set_Naval_@2:

; 427  : 						{
; 428  : 							if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN9@Set_Naval_@2

; 429  : 							{
; 430  : 								p->costs[Pos] = 1000000;

	mov	DWORD PTR [eax+esi*4+36], 1000000	; 000f4240H
$LN9@Set_Naval_@2:

; 431  : 							}
; 432  : 							(*Units)[i]->DMode = DISABLED_EVF;

	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+ebp*4]
	mov	DWORD PTR [edx+24], 1

; 433  : 							p->stringids[Pos] = STRINGID_LIMIT;

	mov	DWORD PTR [eax+esi*4+116], 9724		; 000025fcH

; 434  : 						}
; 435  : 					}
; 436  : 				}

	jmp	SHORT $LN19@Set_Naval_@2
$LN13@Set_Naval_@2:

; 437  : 				else if (p->stringids[Pos] == STRINGID_LIMIT)

	cmp	DWORD PTR [eax+esi*4+116], 9724		; 000025fcH
	jne	SHORT $LN19@Set_Naval_@2

; 438  : 				{
; 439  : 					if ((*Units)[i]->DMode == DISABLED_EVF)

	mov	edx, DWORD PTR [ecx+24]
	cmp	edx, 1
	jne	SHORT $LN6@Set_Naval_@2

; 440  : 					{
; 441  : 						if (Is_Naval_Building)

	cmp	BYTE PTR [edi+106], 0
	je	SHORT $LN5@Set_Naval_@2

; 442  : 						{
; 443  : 							p->stringids[Pos] = STRINGID_BUILDING;

	mov	DWORD PTR [eax+esi*4+116], 7263		; 00001c5fH

; 444  : 						}
; 445  : 						else

	jmp	SHORT $LN19@Set_Naval_@2
$LN5@Set_Naval_@2:

; 446  : 						{
; 447  : 							if (!Sidebar)

	cmp	BYTE PTR [edi+37], 0
	jne	SHORT $LN3@Set_Naval_@2

; 448  : 							{
; 449  : 								p->costs[Pos] = (*Units)[i]->Cost;

	mov	ecx, DWORD PTR [ecx+12]
	mov	DWORD PTR [eax+esi*4+36], ecx
$LN3@Set_Naval_@2:

; 450  : 							}
; 451  : 							p->stringids[Pos] = (*Units)[i]->StringID;

	mov	edx, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+ebp*4]
	mov	ecx, DWORD PTR [edx+16]
	mov	DWORD PTR [eax+esi*4+116], ecx

; 452  : 							(*Units)[i]->DMode = NOT_DISABLED;

	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [eax+ebp*4]
	mov	DWORD PTR [ecx+24], 0

; 453  : 						}

	jmp	SHORT $LN19@Set_Naval_@2
$LN6@Set_Naval_@2:

; 454  : 					}
; 455  : 					else if ((*Units)[i]->DMode == DISABLED_BOTH)

	cmp	edx, 3
	jne	SHORT $LN19@Set_Naval_@2

; 456  : 					{
; 457  : 						(*Units)[i]->DMode = DISABLED_UNIT;

	mov	DWORD PTR [ecx+24], 2
$LN19@Set_Naval_@2:

; 406  : 	for (int i = 0; i < x; i++)

	add	ebp, 1
	cmp	ebp, DWORD PTR _x$[esp+16]
	jl	$LL20@Set_Naval_@2
	pop	esi
$LN18@Set_Naval_@2:

; 458  : 					}
; 459  : 				}
; 460  : 			}
; 461  : 		}
; 462  : 	}
; 463  : 	Update_PT_Data();

	call	DWORD PTR ?Update_PT_Data@@3P6AXXZA	; Update_PT_Data
	pop	edi
	pop	ebp

; 464  : }

	pop	ecx
	ret	4
?Set_Naval_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ENDP	; ExpVehFacClass::Set_Naval_Limit_Reached
_TEXT	ENDS
PUBLIC	?Set_Support_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Support_Limit_Reached
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Support_Limit_Reached@ExpVehFacClass@@QAEX_N@Z
_TEXT	SEGMENT
_x$ = -4						; size = 4
_Reached$ = 8						; size = 1
?Set_Support_Limit_Reached@ExpVehFacClass@@QAEX_N@Z PROC ; ExpVehFacClass::Set_Support_Limit_Reached, COMDAT
; _this$ = ecx

; 467  : {

	push	ecx
	push	ebp
	push	esi
	mov	esi, ecx

; 468  : 	int x = Units->Count();

	mov	eax, DWORD PTR [esi]
	mov	eax, DWORD PTR [eax+12]

; 469  : 	for (int i = 0; i < x; i++)

	xor	ebp, ebp
	test	eax, eax
	mov	DWORD PTR _x$[esp+12], eax
	jle	$LN21@Set_Suppor
	push	edi
	npad	7
$LL23@Set_Suppor:

; 470  : 	{
; 471  : 		if ((*Units)[i])

	mov	eax, DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+ebp*4], 0
	lea	ecx, DWORD PTR [ecx+ebp*4]
	je	$LN22@Set_Suppor

; 472  : 		{
; 473  : 			if ((*Units)[i]->Support)

	mov	edx, DWORD PTR [ecx]
	cmp	BYTE PTR [edx+29], 0
	je	$LN22@Set_Suppor
	mov	eax, DWORD PTR [eax+4]

; 474  : 			{
; 475  : 				unsigned int Pos = (*Units)[i]->Pos;

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

; 476  : 				PurchaseSettingsDefClass *p = Get_Purchase_Definition((*Units)[i]->Type,PTTEAM(Team));

	xor	edx, edx
	cmp	DWORD PTR [esi+16], edx
	lea	eax, DWORD PTR [eax+ebp*4]
	sete	dl
	mov	eax, ecx
	mov	ecx, DWORD PTR [eax]
	push	edx
	push	ecx
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 477  : 				if ((!p) || ((*Units)[i]->Alternate))

	test	eax, eax
	je	$LN22@Set_Suppor
	mov	edx, DWORD PTR [esi]
	mov	ecx, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [ecx+ebp*4]
	cmp	BYTE PTR [ecx+28], 0
	jne	$LN22@Set_Suppor

; 478  : 				{
; 479  : 					continue;
; 480  : 				}
; 481  : 				if (Reached)

	cmp	BYTE PTR _Reached$[esp+12], 0
	je	SHORT $LN16@Set_Suppor

; 482  : 				{
; 483  : 					if (p->stringids[Pos] != STRINGID_UNAVAIL)

	cmp	DWORD PTR [eax+edi*4+116], 7265		; 00001c61H
	je	$LN22@Set_Suppor

; 484  : 					{
; 485  : 						if ((*Units)[i]->DMode == DISABLED_UNIT)

	cmp	DWORD PTR [ecx+24], 2
	jne	SHORT $LN14@Set_Suppor

; 486  : 						{
; 487  : 							(*Units)[i]->DMode = DISABLED_BOTH;

	mov	DWORD PTR [ecx+24], 3

; 488  : 						}
; 489  : 						else

	jmp	$LN22@Set_Suppor
$LN14@Set_Suppor:

; 490  : 						{
; 491  : 							if (!Sidebar)

	cmp	BYTE PTR [esi+37], 0
	jne	SHORT $LN12@Set_Suppor

; 492  : 							{
; 493  : 								p->costs[Pos] = 1000000;

	mov	DWORD PTR [eax+edi*4+36], 1000000	; 000f4240H
$LN12@Set_Suppor:

; 494  : 							}
; 495  : 							(*Units)[i]->DMode = DISABLED_EVF;

	mov	edx, DWORD PTR [esi]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+ebp*4]
	mov	DWORD PTR [edx+24], 1

; 496  : 							p->stringids[Pos] = STRINGID_LIMIT;

	mov	DWORD PTR [eax+edi*4+116], 9724		; 000025fcH

; 497  : 						}
; 498  : 					}
; 499  : 				}

	jmp	SHORT $LN22@Set_Suppor
$LN16@Set_Suppor:

; 500  : 				else if (p->stringids[Pos] == STRINGID_LIMIT)

	cmp	DWORD PTR [eax+edi*4+116], 9724		; 000025fcH
	jne	SHORT $LN22@Set_Suppor

; 501  : 				{
; 502  : 					if ((*Units)[i]->DMode == DISABLED_EVF)

	mov	edx, DWORD PTR [ecx+24]
	cmp	edx, 1
	jne	SHORT $LN9@Set_Suppor

; 503  : 					{
; 504  : 						if (((*Units)[i]->VehType == VEHTYPE_GROUND && Is_Ground_Building) || ((*Units)[i]->VehType == VEHTYPE_FLYING && Is_Flying_Building) || ((*Units)[i]->VehType == VEHTYPE_NAVAL && Is_Naval_Building))

	mov	edx, DWORD PTR [ecx+20]
	cmp	edx, 1
	jne	SHORT $LN6@Set_Suppor
	cmp	BYTE PTR [esi+104], 0
	jne	SHORT $LN7@Set_Suppor
$LN6@Set_Suppor:
	cmp	edx, 2
	jne	SHORT $LN5@Set_Suppor
	cmp	BYTE PTR [esi+105], 0
	jne	SHORT $LN7@Set_Suppor
$LN5@Set_Suppor:
	cmp	edx, 3
	jne	SHORT $LN8@Set_Suppor
	cmp	BYTE PTR [esi+106], 0
	je	SHORT $LN8@Set_Suppor
$LN7@Set_Suppor:

; 505  : 						{
; 506  : 							p->stringids[Pos] = STRINGID_BUILDING;

	mov	DWORD PTR [eax+edi*4+116], 7263		; 00001c5fH

; 507  : 						}
; 508  : 						else

	jmp	SHORT $LN22@Set_Suppor
$LN8@Set_Suppor:

; 509  : 						{
; 510  : 							if (!Sidebar)

	cmp	BYTE PTR [esi+37], 0
	jne	SHORT $LN3@Set_Suppor

; 511  : 							{
; 512  : 								p->costs[Pos] = (*Units)[i]->Cost;

	mov	ecx, DWORD PTR [ecx+12]
	mov	DWORD PTR [eax+edi*4+36], ecx
$LN3@Set_Suppor:

; 513  : 							}
; 514  : 							p->stringids[Pos] = (*Units)[i]->StringID;

	mov	edx, DWORD PTR [esi]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx+ebp*4]
	mov	ecx, DWORD PTR [edx+16]
	mov	DWORD PTR [eax+edi*4+116], ecx

; 515  : 							(*Units)[i]->DMode = NOT_DISABLED;

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [eax+ebp*4]
	mov	DWORD PTR [ecx+24], 0

; 516  : 						}

	jmp	SHORT $LN22@Set_Suppor
$LN9@Set_Suppor:

; 517  : 					}
; 518  : 					else if ((*Units)[i]->DMode == DISABLED_BOTH)

	cmp	edx, 3
	jne	SHORT $LN22@Set_Suppor

; 519  : 					{
; 520  : 						(*Units)[i]->DMode = DISABLED_UNIT;

	mov	DWORD PTR [ecx+24], 2
$LN22@Set_Suppor:

; 469  : 	for (int i = 0; i < x; i++)

	add	ebp, 1
	cmp	ebp, DWORD PTR _x$[esp+16]
	jl	$LL23@Set_Suppor
	pop	edi
$LN21@Set_Suppor:

; 521  : 					}
; 522  : 				}
; 523  : 			}
; 524  : 		}
; 525  : 	}
; 526  : 	Update_PT_Data();

	call	DWORD PTR ?Update_PT_Data@@3P6AXXZA	; Update_PT_Data
	pop	esi
	pop	ebp

; 527  : }

	pop	ecx
	ret	4
?Set_Support_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ENDP ; ExpVehFacClass::Set_Support_Limit_Reached
_TEXT	ENDS
PUBLIC	?Is_In_Vector@ExpVehFacClass@@AAE_NAAV?$SimpleDynVecClass@I@@I@Z ; ExpVehFacClass::Is_In_Vector
; Function compile flags: /Ogtpy
;	COMDAT ?Is_In_Vector@ExpVehFacClass@@AAE_NAAV?$SimpleDynVecClass@I@@I@Z
_TEXT	SEGMENT
_Vec$ = 8						; size = 4
_Preset$ = 12						; size = 4
?Is_In_Vector@ExpVehFacClass@@AAE_NAAV?$SimpleDynVecClass@I@@I@Z PROC ; ExpVehFacClass::Is_In_Vector, COMDAT
; _this$ = ecx

; 532  : 	int x = Vec.Count();

	mov	ecx, DWORD PTR _Vec$[esp-4]
	mov	edx, DWORD PTR [ecx+12]

; 533  : 	for (int i = 0; i < x; i++)

	xor	eax, eax
	test	edx, edx
	push	esi
	jle	SHORT $LN2@Is_In_Vect
	mov	ecx, DWORD PTR [ecx+4]
	mov	esi, DWORD PTR _Preset$[esp]
$LL4@Is_In_Vect:

; 534  : 	{
; 535  : 		if (Vec[i] == Preset)

	cmp	DWORD PTR [ecx], esi
	je	SHORT $LN12@Is_In_Vect
	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jl	SHORT $LL4@Is_In_Vect
$LN2@Is_In_Vect:

; 538  : 		}
; 539  : 	}
; 540  : 	return false;

	xor	al, al
	pop	esi

; 541  : }

	ret	8
$LN12@Is_In_Vect:

; 536  : 		{
; 537  : 			return true;

	mov	al, 1
	pop	esi

; 541  : }

	ret	8
?Is_In_Vector@ExpVehFacClass@@AAE_NAAV?$SimpleDynVecClass@I@@I@Z ENDP ; ExpVehFacClass::Is_In_Vector
_TEXT	ENDS
PUBLIC	?Get_Unit_Info@ExpVehFacClass@@QAEPAUUnitInfo@@I@Z ; ExpVehFacClass::Get_Unit_Info
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Unit_Info@ExpVehFacClass@@QAEPAUUnitInfo@@I@Z
_TEXT	SEGMENT
_Preset$ = 8						; size = 4
?Get_Unit_Info@ExpVehFacClass@@QAEPAUUnitInfo@@I@Z PROC	; ExpVehFacClass::Get_Unit_Info, COMDAT
; _this$ = ecx

; 545  : 	int x = Units->Count();

	mov	ecx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [ecx+12]
	push	ebx
	push	esi

; 546  : 	for (int i = 0; i < x; i++)

	xor	eax, eax
	test	edx, edx
	push	edi
	jle	SHORT $LN3@Get_Unit_I
	mov	esi, DWORD PTR [ecx+4]
	mov	edi, DWORD PTR _Preset$[esp+8]
	mov	ecx, esi
$LL5@Get_Unit_I:

; 547  : 	{
; 548  : 		if ((*Units)[i])

	cmp	DWORD PTR [ecx], 0
	je	SHORT $LN4@Get_Unit_I

; 549  : 		{
; 550  : 			if (((*Units)[i])->Preset == Preset)

	mov	ebx, DWORD PTR [ecx]
	cmp	DWORD PTR [ebx+8], edi
	je	SHORT $LN17@Get_Unit_I
$LN4@Get_Unit_I:

; 546  : 	for (int i = 0; i < x; i++)

	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jl	SHORT $LL5@Get_Unit_I
$LN3@Get_Unit_I:
	pop	edi
	pop	esi

; 553  : 			}
; 554  : 		}
; 555  : 	}
; 556  : 	return 0;

	xor	eax, eax
	pop	ebx

; 557  : }

	ret	4
$LN17@Get_Unit_I:

; 551  : 			{
; 552  : 				return ((*Units)[i]);

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

; 557  : }

	ret	4
?Get_Unit_Info@ExpVehFacClass@@QAEPAUUnitInfo@@I@Z ENDP	; ExpVehFacClass::Get_Unit_Info
_TEXT	ENDS
PUBLIC	?Get_Flying_Landing_Position@ExpVehFacClass@@AAE?AUVector3@@XZ ; ExpVehFacClass::Get_Flying_Landing_Position
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Flying_Landing_Position@ExpVehFacClass@@AAE?AUVector3@@XZ
_TEXT	SEGMENT
$T63577 = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
?Get_Flying_Landing_Position@ExpVehFacClass@@AAE?AUVector3@@XZ PROC ; ExpVehFacClass::Get_Flying_Landing_Position, COMDAT
; _this$ = ecx

; 561  : 	Last_Flying_Landing_Pos++;

	add	DWORD PTR [ecx+8], 1
	mov	edx, DWORD PTR [ecx+8]

; 562  : 	if (Last_Flying_Landing_Pos >= Flying_Landing_Positions->Count())

	mov	eax, DWORD PTR [ecx+76]
	sub	esp, 12					; 0000000cH
	cmp	edx, DWORD PTR [eax+12]
	jl	SHORT $LN1@Get_Flying

; 563  : 	{
; 564  : 		Last_Flying_Landing_Pos = 0;

	mov	DWORD PTR [ecx+8], 0
$LN1@Get_Flying:

; 565  : 	}
; 566  : 	return Commands->Get_Position((*Flying_Landing_Positions)[Last_Flying_Landing_Pos]);

	mov	edx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [ecx+8]
	lea	eax, DWORD PTR [edx+ecx*4]
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T63577[esp+16]
	push	ecx
	call	eax
	mov	edx, DWORD PTR [eax]
	mov	ecx, DWORD PTR ___$ReturnUdt$[esp+16]
	mov	DWORD PTR [ecx], edx
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR [ecx+4], edx
	mov	DWORD PTR [ecx+8], eax
	mov	eax, ecx

; 567  : }

	add	esp, 20					; 00000014H
	ret	4
?Get_Flying_Landing_Position@ExpVehFacClass@@AAE?AUVector3@@XZ ENDP ; ExpVehFacClass::Get_Flying_Landing_Position
_TEXT	ENDS
PUBLIC	?Get_Naval_Creation_Position@ExpVehFacClass@@AAEPAEI@Z ; ExpVehFacClass::Get_Naval_Creation_Position
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Naval_Creation_Position@ExpVehFacClass@@AAEPAEI@Z
_TEXT	SEGMENT
_Preset$ = 8						; size = 4
?Get_Naval_Creation_Position@ExpVehFacClass@@AAEPAEI@Z PROC ; ExpVehFacClass::Get_Naval_Creation_Position, COMDAT
; _this$ = ecx

; 571  : 	if (Naval_Creation_Positions->Count())

	mov	eax, DWORD PTR [ecx+72]
	cmp	DWORD PTR [eax+12], 0
	je	SHORT $LN8@Get_Naval_

; 572  : 	{
; 573  : 		Last_Naval_Creation_Pos++;

	add	DWORD PTR [ecx+12], 1
	mov	edx, DWORD PTR [ecx+12]

; 574  : 		if (Last_Naval_Creation_Pos >= Naval_Creation_Positions->Count())

	cmp	edx, DWORD PTR [eax+12]
	jl	SHORT $LN7@Get_Naval_

; 575  : 		{
; 576  : 			Last_Naval_Creation_Pos = 0;

	mov	DWORD PTR [ecx+12], 0
$LN7@Get_Naval_:

; 577  : 		}
; 578  : 		return (*Naval_Creation_Positions)[Last_Naval_Creation_Pos];

	mov	ecx, DWORD PTR [ecx+12]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [edx+ecx*4]

; 595  : }

	ret	4
$LN8@Get_Naval_:

; 579  : 	}
; 580  : 	else
; 581  : 	{
; 582  : 		int x = Naval_Creation_Pos_Per_Vehicle->Count();

	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx+12]
	push	ebx
	push	esi

; 583  : 		for (int i = 0; i < x; i++)

	xor	eax, eax
	test	edx, edx
	push	edi
	jle	SHORT $LN3@Get_Naval_
	mov	esi, DWORD PTR [ecx+4]
	mov	edi, DWORD PTR _Preset$[esp+8]
	mov	ecx, esi
$LL5@Get_Naval_:

; 584  : 		{
; 585  : 			if ((*Naval_Creation_Pos_Per_Vehicle)[i])

	cmp	DWORD PTR [ecx], 0
	je	SHORT $LN4@Get_Naval_

; 586  : 			{
; 587  : 				if ((*Naval_Creation_Pos_Per_Vehicle)[i]->Preset == Preset)

	mov	ebx, DWORD PTR [ecx]
	cmp	DWORD PTR [ebx], edi
	je	SHORT $LN26@Get_Naval_
$LN4@Get_Naval_:

; 583  : 		for (int i = 0; i < x; i++)

	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jl	SHORT $LL5@Get_Naval_
$LN3@Get_Naval_:
	pop	edi
	pop	esi

; 590  : 				}
; 591  : 			}
; 592  : 		}
; 593  : 	}
; 594  : 	return 0;

	xor	eax, eax
	pop	ebx

; 595  : }

	ret	4
$LN26@Get_Naval_:

; 588  : 				{
; 589  : 					return (*Naval_Creation_Pos_Per_Vehicle)[i]->Pos;

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

; 595  : }

	ret	4
?Get_Naval_Creation_Position@ExpVehFacClass@@AAEPAEI@Z ENDP ; ExpVehFacClass::Get_Naval_Creation_Position
_TEXT	ENDS
PUBLIC	??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@		; `string'
PUBLIC	??_C@_0BG@MKMJMKII@ExpVehFacClass?3?3Clear?$AA@	; `string'
PUBLIC	?Clear@ExpVehFacClass@@QAEXXZ			; ExpVehFacClass::Clear
EXTRN	?RemoveObjectCreateHook@@3P6AXH@ZA:DWORD	; RemoveObjectCreateHook
EXTRN	?RemoveVehiclePurchaseHook@@3P6AXH@ZA:DWORD	; RemoveVehiclePurchaseHook
;	COMDAT ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@ DB '.\mdbevf.cpp', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@MKMJMKII@ExpVehFacClass?3?3Clear?$AA@
CONST	SEGMENT
??_C@_0BG@MKMJMKII@ExpVehFacClass?3?3Clear?$AA@ DB 'ExpVehFacClass::Clear'
	DB	00H						; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
CONST	ENDS
;	COMDAT ?Clear@ExpVehFacClass@@QAEXXZ
_TEXT	SEGMENT
?Clear@ExpVehFacClass@@QAEXXZ PROC			; ExpVehFacClass::Clear, COMDAT
; _this$ = ecx

; 924  : {

	push	ebx
	push	ebp
	push	esi
	mov	esi, ecx

; 925  : 	RemoveVehiclePurchaseHook(PHookID);

	mov	eax, DWORD PTR [esi+20]
	push	edi
	push	eax
	call	DWORD PTR ?RemoveVehiclePurchaseHook@@3P6AXH@ZA ; RemoveVehiclePurchaseHook

; 926  : 	PHookID = 0;
; 927  : 	RemoveObjectCreateHook(OHookID);

	mov	ecx, DWORD PTR [esi+24]
	xor	ebx, ebx
	push	ecx
	mov	DWORD PTR [esi+20], ebx
	call	DWORD PTR ?RemoveObjectCreateHook@@3P6AXH@ZA ; RemoveObjectCreateHook

; 928  : 	OHookID = 0;
; 929  : 	delete OHookStruct;

	push	OFFSET ??_C@_0BG@MKMJMKII@ExpVehFacClass?3?3Clear?$AA@
	push	929					; 000003a1H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	mov	DWORD PTR [esi+24], ebx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+28]
	push	edx
	call	??3@YAXPAX@Z				; operator delete

; 930  : 	OHookStruct = 0;
; 931  : 	Script = 0;
; 932  : 	Using_Naval = false;
; 933  : 	Sidebar = false;
; 934  : 	int x = Units->Count();

	mov	eax, DWORD PTR [esi]
	mov	DWORD PTR [esi+28], ebx
	mov	DWORD PTR [esi+32], ebx
	mov	BYTE PTR [esi+36], bl
	mov	BYTE PTR [esi+37], bl
	mov	ebp, DWORD PTR [eax+12]
	add	esp, 24					; 00000018H

; 935  : 	for (int i = 0; i < x; i++)

	xor	edi, edi
	cmp	ebp, ebx
	jle	SHORT $LN6@Clear
	npad	7
$LL8@Clear:

; 936  : 	{
; 937  : 		if ((*Units)[i])

	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx+4]
	cmp	DWORD PTR [edx+edi*4], ebx
	je	SHORT $LN7@Clear

; 938  : 		{
; 939  : 			delete (*Units)[i];

	push	OFFSET ??_C@_0BG@MKMJMKII@ExpVehFacClass?3?3Clear?$AA@
	push	939					; 000003abH
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx+edi*4]
	push	edx
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 16					; 00000010H
$LN7@Clear:
	add	edi, 1
	cmp	edi, ebp
	jl	SHORT $LL8@Clear
$LN6@Clear:

; 940  : 		}
; 941  : 	}
; 942  : 	delete Units;

	push	OFFSET ??_C@_0BG@MKMJMKII@ExpVehFacClass?3?3Clear?$AA@
	push	942					; 000003aeH
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi]
	add	esp, 12					; 0000000cH
	cmp	ecx, ebx
	je	SHORT $LN53@Clear
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	push	1
	call	edx
$LN53@Clear:

; 943  : 	Units = 0;
; 944  : 	x = Naval_Creation_Pos_Per_Vehicle->Count();

	mov	eax, DWORD PTR [esi+4]
	mov	DWORD PTR [esi], ebx
	mov	ebp, DWORD PTR [eax+12]

; 945  : 	for (int i = 0; i < x; i++)

	xor	edi, edi
	cmp	ebp, ebx
	jle	SHORT $LN2@Clear
	npad	6
$LL4@Clear:

; 946  : 	{
; 947  : 		if ((*Naval_Creation_Pos_Per_Vehicle)[i])

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx+4]
	cmp	DWORD PTR [edx+edi*4], ebx
	je	SHORT $LN3@Clear

; 948  : 		{
; 949  : 			delete (*Naval_Creation_Pos_Per_Vehicle)[i];

	push	OFFSET ??_C@_0BG@MKMJMKII@ExpVehFacClass?3?3Clear?$AA@
	push	949					; 000003b5H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx+edi*4]
	push	edx
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 16					; 00000010H
$LN3@Clear:
	add	edi, 1
	cmp	edi, ebp
	jl	SHORT $LL4@Clear
$LN2@Clear:

; 950  : 		}
; 951  : 	}
; 952  : 	Naval_Creation_Pos_Per_Vehicle->Delete_All();

	mov	edi, DWORD PTR [esi+4]
	cmp	DWORD PTR [edi+4], ebx
	mov	DWORD PTR [edi+12], ebx
	mov	DWORD PTR [edi+8], ebx
	je	SHORT $LN33@Clear
	push	OFFSET ??_C@_0DE@FOEEDNNM@SimpleDynVecClass?$DMstruct?5Creatio@
	push	329					; 00000149H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [edi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [edi+4], ebx
$LN33@Clear:

; 953  : 	Naval_Creation_Positions->Delete_All();

	mov	edi, DWORD PTR [esi+72]
	cmp	DWORD PTR [edi+4], ebx
	mov	DWORD PTR [edi+12], ebx
	mov	DWORD PTR [edi+8], ebx
	je	SHORT $LN38@Clear
	push	OFFSET ??_C@_0CP@KKDBFLF@SimpleDynVecClass?$DMunsigned?5char?5@
	push	329					; 00000149H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [edi+4]
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [edi+4], ebx
$LN38@Clear:

; 954  : 	Flying_Landing_Positions->Delete_All();

	mov	edi, DWORD PTR [esi+76]
	cmp	DWORD PTR [edi+4], ebx
	mov	DWORD PTR [edi+12], ebx
	mov	DWORD PTR [edi+8], ebx
	je	SHORT $LN52@Clear
	push	OFFSET ??_C@_0CP@KKDBFLF@SimpleDynVecClass?$DMunsigned?5char?5@
	push	329					; 00000149H
	push	OFFSET ??_C@_0CE@HMEOMKIG@d?3?2source?5code?2stgm?2engine_vecto@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [edi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [edi+4], ebx
$LN52@Clear:
	pop	edi

; 955  : 	Loaded = false;

	mov	BYTE PTR [esi+107], bl
	pop	esi
	pop	ebp
	pop	ebx

; 956  : }

	ret	0
?Clear@ExpVehFacClass@@QAEXXZ ENDP			; ExpVehFacClass::Clear
_TEXT	ENDS
PUBLIC	__real@40a00000
PUBLIC	??_C@_0DA@EHCLJPMO@The?5limit?5for?5Ground?5vehicles?5ha@ ; `string'
PUBLIC	??_C@_0BB@NHJNEILC@Invisible_Object?$AA@	; `string'
PUBLIC	??_C@_0P@ILJCPIMA@Test_Cinematic?$AA@		; `string'
PUBLIC	??_C@_0BA@ELHCEGPO@ExpVehFac_0?4txt?$AA@	; `string'
PUBLIC	??_C@_0BA@IACOJFFL@ExpVehFac_1?4txt?$AA@	; `string'
PUBLIC	??_C@_0DA@DDGIFENP@The?5limit?5for?5Flying?5vehicles?5ha@ ; `string'
PUBLIC	??_C@_04OHJIHAFH@None?$AA@			; `string'
PUBLIC	__real@47c34f80
PUBLIC	??_C@_0CP@NIACEBMO@The?5limit?5for?5Naval?5vehicles?5has@ ; `string'
PUBLIC	??_C@_0DB@EAPDLBJM@The?5limit?5for?5Support?5vehicles?5h@ ; `string'
PUBLIC	?Purchase_Hook@ExpVehFacClass@@SAHPAVBaseControllerClass@@PAEIIPBD@Z ; ExpVehFacClass::Purchase_Hook
EXTRN	?Create_Vehicle@@YAXPBDMPAEH@Z:PROC		; Create_Vehicle
EXTRN	?Get_Build_Time_Multiplier@@3P6AMH@ZA:DWORD	; Get_Build_Time_Multiplier
EXTRN	?Send_Message_Player@@3P6AXPAEIIIPBD@ZA:DWORD	; Send_Message_Player
EXTRN	?Damage_All_Objects_In_Zone@@YAXPAEMPBD0@Z:PROC	; Damage_All_Objects_In_Zone
EXTRN	?Find_Closest_Zone@@YAPAEAAUVector3@@I@Z:PROC	; Find_Closest_Zone
EXTRN	?Set_Currently_Building@@3P6AX_NH@ZA:DWORD	; Set_Currently_Building
EXTRN	?Purchase_Item@@YA_NPAEH@Z:PROC			; Purchase_Item
EXTRN	?Can_Team_Build_Vehicle@@YA_NH@Z:PROC		; Can_Team_Build_Vehicle
;	COMDAT __real@40a00000
CONST	SEGMENT
__real@40a00000 DD 040a00000r			; 5
CONST	ENDS
;	COMDAT ??_C@_0DA@EHCLJPMO@The?5limit?5for?5Ground?5vehicles?5ha@
CONST	SEGMENT
??_C@_0DA@EHCLJPMO@The?5limit?5for?5Ground?5vehicles?5ha@ DB 'The limit f'
	DB	'or Ground vehicles has been reached.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
CONST	SEGMENT
??_C@_0BB@NHJNEILC@Invisible_Object?$AA@ DB 'Invisible_Object', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@ILJCPIMA@Test_Cinematic?$AA@
CONST	SEGMENT
??_C@_0P@ILJCPIMA@Test_Cinematic?$AA@ DB 'Test_Cinematic', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@ELHCEGPO@ExpVehFac_0?4txt?$AA@
CONST	SEGMENT
??_C@_0BA@ELHCEGPO@ExpVehFac_0?4txt?$AA@ DB 'ExpVehFac_0.txt', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@IACOJFFL@ExpVehFac_1?4txt?$AA@
CONST	SEGMENT
??_C@_0BA@IACOJFFL@ExpVehFac_1?4txt?$AA@ DB 'ExpVehFac_1.txt', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DA@DDGIFENP@The?5limit?5for?5Flying?5vehicles?5ha@
CONST	SEGMENT
??_C@_0DA@DDGIFENP@The?5limit?5for?5Flying?5vehicles?5ha@ DB 'The limit f'
	DB	'or Flying vehicles has been reached.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_04OHJIHAFH@None?$AA@
CONST	SEGMENT
??_C@_04OHJIHAFH@None?$AA@ DB 'None', 00H		; `string'
CONST	ENDS
;	COMDAT __real@47c34f80
CONST	SEGMENT
__real@47c34f80 DD 047c34f80r			; 99999
CONST	ENDS
;	COMDAT ??_C@_0CP@NIACEBMO@The?5limit?5for?5Naval?5vehicles?5has@
CONST	SEGMENT
??_C@_0CP@NIACEBMO@The?5limit?5for?5Naval?5vehicles?5has@ DB 'The limit f'
	DB	'or Naval vehicles has been reached.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0DB@EAPDLBJM@The?5limit?5for?5Support?5vehicles?5h@
CONST	SEGMENT
??_C@_0DB@EAPDLBJM@The?5limit?5for?5Support?5vehicles?5h@ DB 'The limit f'
	DB	'or Support vehicles has been reached.', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Purchase_Hook@ExpVehFacClass@@SAHPAVBaseControllerClass@@PAEIIPBD@Z
_TEXT	SEGMENT
_Pos$57467 = -24					; size = 12
$T63699 = -12						; size = 12
$T63696 = -12						; size = 12
_base$ = 8						; size = 4
_purchaser$ = 12					; size = 4
_cost$ = 16						; size = 4
_preset$ = 20						; size = 4
_data$ = 24						; size = 4
?Purchase_Hook@ExpVehFacClass@@SAHPAVBaseControllerClass@@PAEIIPBD@Z PROC ; ExpVehFacClass::Purchase_Hook, COMDAT

; 959  : {

	sub	esp, 24					; 00000018H
	push	ebx
	push	ebp

; 960  : 	int Team = Get_Object_Type(purchaser);

	mov	ebp, DWORD PTR _purchaser$[esp+28]
	push	esi
	push	ebp
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	esi, eax

; 961  : 	if (!Can_Team_Build_Vehicle(Team) || cost >= 100000 || !preset)

	push	esi
	call	?Can_Team_Build_Vehicle@@YA_NH@Z	; Can_Team_Build_Vehicle
	add	esp, 8
	test	al, al
	je	$LN32@Purchase_H
	cmp	DWORD PTR _cost$[esp+32], 100000	; 000186a0H
	jae	$LN32@Purchase_H
	mov	ebx, DWORD PTR _preset$[esp+32]
	test	ebx, ebx
	je	$LN32@Purchase_H
	push	edi

; 964  : 	}
; 965  : 	UnitInfo *Temp = ExpVehFac[Team]->Get_Unit_Info(preset);

	mov	edi, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	push	ebx
	mov	ecx, edi
	call	?Get_Unit_Info@ExpVehFacClass@@QAEPAUUnitInfo@@I@Z ; ExpVehFacClass::Get_Unit_Info

; 966  : 	if (Temp->VehType == VEHTYPE_NAVAL)

	mov	ecx, DWORD PTR [eax+20]
	cmp	ecx, 3
	jne	$LN31@Purchase_H

; 967  : 	{
; 968  : 		if (Temp->Support)

	cmp	BYTE PTR [eax+29], 0
	je	SHORT $LN30@Purchase_H

; 969  : 		{
; 970  : 			if (ExpVehFac[Team]->Support_Limit && ExpVehFac[Team]->Support_Amount >= ExpVehFac[Team]->Support_Limit)

	mov	eax, DWORD PTR [edi+52]
	test	eax, eax
	je	SHORT $LN27@Purchase_H
	cmp	DWORD PTR [edi+68], eax
	jb	SHORT $LN27@Purchase_H

; 971  : 			{
; 972  : 				Send_Message_Player(purchaser,255,255,255,"The limit for Support vehicles has been reached.");

	push	OFFSET ??_C@_0DB@EAPDLBJM@The?5limit?5for?5Support?5vehicles?5h@

; 973  : 				return 3;

	jmp	$LN44@Purchase_H
$LN30@Purchase_H:

; 974  : 			}
; 975  : 		}
; 976  : 		else if (ExpVehFac[Team]->Naval_Limit && ExpVehFac[Team]->Naval_Amount >= ExpVehFac[Team]->Naval_Limit)

	mov	eax, DWORD PTR [edi+48]
	test	eax, eax
	je	SHORT $LN27@Purchase_H
	cmp	DWORD PTR [edi+64], eax
	jb	SHORT $LN27@Purchase_H

; 977  : 		{
; 978  : 			Send_Message_Player(purchaser,255,255,255,"The limit for Naval vehicles has been reached.");

	push	OFFSET ??_C@_0CP@NIACEBMO@The?5limit?5for?5Naval?5vehicles?5has@

; 979  : 			return 3;

	jmp	$LN44@Purchase_H
$LN27@Purchase_H:

; 980  : 		}
; 981  : 		if (ExpVehFac[Team]->Is_Naval_Building)

	cmp	BYTE PTR [edi+106], 0

; 982  : 		{
; 983  : 			return 3;

	jne	$LN43@Purchase_H

; 984  : 		}
; 985  : 		else if (Purchase_Item(purchaser,cost))

	mov	eax, DWORD PTR _cost$[esp+36]
	push	eax
	push	ebp
	call	?Purchase_Item@@YA_NPAEH@Z		; Purchase_Item
	add	esp, 8
	test	al, al
	je	$LN3@Purchase_H

; 986  : 		{
; 987  : 			if (ExpVehFac[Team]->Naval_Build_Time[0] > 0.0f)

	fldz
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fcomp	DWORD PTR [ecx+96]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN38@Purchase_H

; 988  : 			{
; 989  : 				Set_Currently_Building(true,Team);

	push	esi
	push	1
	call	DWORD PTR ?Set_Currently_Building@@3P6AX_NH@ZA ; Set_Currently_Building

; 990  : 				Commands->Send_Custom_Event(0,ExpVehFac[Team]->Script,129310,Team,ExpVehFac[Team]->Naval_Build_Time[0]);

	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fld	DWORD PTR [eax+96]
	mov	edx, DWORD PTR [eax+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp+4]
	mov	ecx, DWORD PTR [eax+140]
	add	esp, 4
	push	esi
	push	129310					; 0001f91eH
	push	edx
	push	0
	call	ecx
	add	esp, 20					; 00000014H
$LN38@Purchase_H:

; 991  : 			}
; 992  : 			if (ExpVehFac[Team]->Naval_Build_Time[1] > 0.0f)

	fldz
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fcomp	DWORD PTR [ecx+100]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN22@Purchase_H

; 993  : 			{
; 994  : 				ExpVehFac[Team]->Set_Naval_Currently_Building(true);

	push	1
	call	?Set_Naval_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Naval_Currently_Building

; 995  : 				Commands->Send_Custom_Event(0,ExpVehFac[Team]->Script,129311,Team,ExpVehFac[Team]->Naval_Build_Time[1]);

	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fld	DWORD PTR [eax+100]
	mov	edx, DWORD PTR [eax+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	fstp	DWORD PTR [esp]
	push	esi
	push	129311					; 0001f91fH
	push	edx
	push	0
	call	ecx
	add	esp, 20					; 00000014H
$LN22@Purchase_H:

; 996  : 			}
; 997  : 			GameObject *obj = ExpVehFac[Team]->Get_Naval_Creation_Position(preset);

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	push	ebx
	call	?Get_Naval_Creation_Position@ExpVehFacClass@@AAEPAEI@Z ; ExpVehFacClass::Get_Naval_Creation_Position
	mov	edi, eax

; 998  : 			Vector3 Pos = Commands->Get_Position(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T63696[esp+40]
	push	edi
	push	edx
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _Pos$57467[esp+48], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _Pos$57467[esp+52], ecx
	mov	edx, DWORD PTR [eax+8]

; 999  : 			GameObject *Zone = Find_Closest_Zone(Pos,VEHICLE_CONSTRUCTION);

	lea	eax, DWORD PTR _Pos$57467[esp+48]
	push	2
	push	eax
	mov	DWORD PTR _Pos$57467[esp+64], edx
	call	?Find_Closest_Zone@@YAPAEAAUVector3@@I@Z ; Find_Closest_Zone

; 1000 : 			Damage_All_Objects_In_Zone(Zone,99999.0f,"None",0);

	fld	DWORD PTR __real@47c34f80
	add	esp, 16					; 00000010H
	push	0
	push	OFFSET ??_C@_04OHJIHAFH@None?$AA@
	push	ecx
	fstp	DWORD PTR [esp]
	push	eax
	call	?Damage_All_Objects_In_Zone@@YAXPAEMPBD0@Z ; Damage_All_Objects_In_Zone

; 1001 : 			GameObject *Veh = Commands->Create_Object(Get_Definition_Name(preset),Pos);

	mov	esi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR _Pos$57467[esp+40]
	push	ecx
	push	ebx
	add	esi, 100				; 00000064H
	call	?Get_Definition_Name@@YAPBDK@Z		; Get_Definition_Name
	mov	edx, DWORD PTR [esi]
	add	esp, 4
	push	eax
	call	edx
	mov	esi, eax

; 1002 : 			Commands->Set_Facing(Veh,Commands->Get_Facing(obj));

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

; 1003 : 			Commands->Send_Custom_Event(Veh,Veh,CUSTOM_EVENT_VEHICLE_OWNER,Commands->Get_ID(purchaser),0);

	fldz
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp+4]
	mov	edx, DWORD PTR [eax+108]
	add	esp, 4
	push	ebp
	lea	edi, DWORD PTR [eax+140]
	call	edx
	add	esp, 4
	push	eax
	mov	eax, DWORD PTR [edi]
	push	1000000036				; 3b9aca24H
	push	esi
	push	esi
	call	eax
	add	esp, 20					; 00000014H
$LN1@Purchase_H:
	pop	edi
	pop	esi
	pop	ebp

; 1042 : 			return 0;

	xor	eax, eax
	pop	ebx

; 1081 : 	}
; 1082 : }

	add	esp, 24					; 00000018H
	ret	0
$LN31@Purchase_H:

; 1004 : 			return 0;
; 1005 : 		}
; 1006 : 		return 2;
; 1007 : 	}
; 1008 : 	else if (Temp->VehType == VEHTYPE_FLYING)

	cmp	ecx, 2
	jne	$LN20@Purchase_H

; 1009 : 	{
; 1010 : 		if (Temp->Support)

	cmp	BYTE PTR [eax+29], 0
	je	SHORT $LN19@Purchase_H

; 1011 : 		{
; 1012 : 			if (ExpVehFac[Team]->Support_Limit && ExpVehFac[Team]->Support_Amount >= ExpVehFac[Team]->Support_Limit)

	mov	eax, DWORD PTR [edi+52]
	test	eax, eax
	je	SHORT $LN16@Purchase_H
	cmp	DWORD PTR [edi+68], eax
	jb	SHORT $LN16@Purchase_H

; 1013 : 			{
; 1014 : 				Send_Message_Player(purchaser,255,255,255,"The limit for Support vehicles has been reached.");

	push	OFFSET ??_C@_0DB@EAPDLBJM@The?5limit?5for?5Support?5vehicles?5h@

; 1015 : 				return 3;

	jmp	$LN44@Purchase_H
$LN19@Purchase_H:

; 1016 : 			}
; 1017 : 		}
; 1018 : 		else if (ExpVehFac[Team]->Flying_Limit && ExpVehFac[Team]->Flying_Amount >= ExpVehFac[Team]->Flying_Limit)

	mov	eax, DWORD PTR [edi+44]
	test	eax, eax
	je	SHORT $LN16@Purchase_H
	cmp	DWORD PTR [edi+60], eax
	jb	SHORT $LN16@Purchase_H

; 1019 : 		{
; 1020 : 			Send_Message_Player(purchaser,255,255,255,"The limit for Flying vehicles has been reached.");

	push	OFFSET ??_C@_0DA@DDGIFENP@The?5limit?5for?5Flying?5vehicles?5ha@

; 1021 : 			return 3;

	jmp	$LN44@Purchase_H
$LN16@Purchase_H:

; 1022 : 		}
; 1023 : 		if (ExpVehFac[Team]->Is_Flying_Building)

	cmp	BYTE PTR [edi+105], 0

; 1024 : 		{
; 1025 : 			return 3;

	jne	$LN43@Purchase_H

; 1026 : 		}
; 1027 : 		else if (Purchase_Item(purchaser,cost))

	mov	ecx, DWORD PTR _cost$[esp+36]
	push	ecx
	push	ebp
	call	?Purchase_Item@@YA_NPAEH@Z		; Purchase_Item
	add	esp, 8
	test	al, al
	je	$LN3@Purchase_H

; 1028 : 		{
; 1029 : 			if (ExpVehFac[Team]->Flying_Build_Time[0] > 0.0f)

	fldz
	mov	edx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fcomp	DWORD PTR [edx+88]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN39@Purchase_H

; 1030 : 			{
; 1031 : 				Set_Currently_Building(true,Team);

	push	esi
	push	1
	call	DWORD PTR ?Set_Currently_Building@@3P6AX_NH@ZA ; Set_Currently_Building

; 1032 : 				Commands->Send_Custom_Event(0,ExpVehFac[Team]->Script,129310,Team,ExpVehFac[Team]->Flying_Build_Time[0]);

	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fld	DWORD PTR [eax+88]
	mov	eax, DWORD PTR [eax+32]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp+4]
	mov	edx, DWORD PTR [ecx+140]
	add	esp, 4
	push	esi
	push	129310					; 0001f91eH
	push	eax
	push	0
	call	edx
	add	esp, 20					; 00000014H
$LN39@Purchase_H:

; 1033 : 			}
; 1034 : 			if (ExpVehFac[Team]->Flying_Build_Time[1] > 0.0f)

	fldz
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fcomp	DWORD PTR [ecx+92]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN41@Purchase_H

; 1035 : 			{
; 1036 : 				ExpVehFac[Team]->Set_Flying_Currently_Building(true);

	push	1
	call	?Set_Flying_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Flying_Currently_Building

; 1037 : 				Commands->Send_Custom_Event(0,ExpVehFac[Team]->Script,129312,Team,ExpVehFac[Team]->Flying_Build_Time[1]);

	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fld	DWORD PTR [eax+92]
	mov	eax, DWORD PTR [eax+32]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	push	129312					; 0001f920H
	push	eax
	push	0
	call	edx
	add	esp, 20					; 00000014H
$LN41@Purchase_H:

; 1038 : 			}
; 1039 : 			ExpVehFac[Team]->LastFlyVehID = preset;

	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	mov	DWORD PTR [eax+108], ebx

; 1040 : 			ExpVehFac[Team]->LastFlyVehOwner = Commands->Get_ID(purchaser);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+108]
	push	ebp
	call	edx
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	add	esp, 4

; 1041 : 			Commands->Attach_Script(Commands->Create_Object("Invisible_Object",ExpVehFac[Team]->Get_Flying_Landing_Position()),"Test_Cinematic",Team?"ExpVehFac_1.txt":"ExpVehFac_0.txt");

	test	esi, esi
	mov	DWORD PTR [ecx+112], eax
	mov	ecx, OFFSET ??_C@_0BA@IACOJFFL@ExpVehFac_1?4txt?$AA@
	jne	SHORT $LN37@Purchase_H
	mov	ecx, OFFSET ??_C@_0BA@ELHCEGPO@ExpVehFac_0?4txt?$AA@
$LN37@Purchase_H:
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	push	OFFSET ??_C@_0P@ILJCPIMA@Test_Cinematic?$AA@
	lea	edx, DWORD PTR $T63699[esp+48]
	push	edx
	lea	edi, DWORD PTR [eax+120]
	lea	ebx, DWORD PTR [eax+100]
	call	?Get_Flying_Landing_Position@ExpVehFacClass@@AAE?AUVector3@@XZ ; ExpVehFacClass::Get_Flying_Landing_Position
	push	eax
	mov	eax, DWORD PTR [ebx]
	push	OFFSET ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 8
	push	eax
	call	ecx
	add	esp, 12					; 0000000cH
	pop	edi
	pop	esi
	pop	ebp

; 1042 : 			return 0;

	xor	eax, eax
	pop	ebx

; 1081 : 	}
; 1082 : }

	add	esp, 24					; 00000018H
	ret	0
$LN20@Purchase_H:

; 1043 : 		}
; 1044 : 		return 2;
; 1045 : 	}
; 1046 : 	else
; 1047 : 	{
; 1048 : 		if (Temp->Support)

	cmp	BYTE PTR [eax+29], 0
	je	SHORT $LN9@Purchase_H

; 1049 : 		{
; 1050 : 			if (ExpVehFac[Team]->Support_Limit && ExpVehFac[Team]->Support_Amount >= ExpVehFac[Team]->Support_Limit)

	mov	eax, DWORD PTR [edi+52]
	test	eax, eax
	je	SHORT $LN6@Purchase_H
	cmp	DWORD PTR [edi+68], eax
	jb	SHORT $LN6@Purchase_H

; 1051 : 			{
; 1052 : 				Send_Message_Player(purchaser,255,255,255,"The limit for Support vehicles has been reached.");

	push	OFFSET ??_C@_0DB@EAPDLBJM@The?5limit?5for?5Support?5vehicles?5h@

; 1053 : 				return 3;

	jmp	SHORT $LN44@Purchase_H
$LN9@Purchase_H:

; 1054 : 			}
; 1055 : 		}
; 1056 : 		else if (ExpVehFac[Team]->Ground_Limit && ExpVehFac[Team]->Ground_Amount >= ExpVehFac[Team]->Ground_Limit)

	mov	eax, DWORD PTR [edi+40]
	test	eax, eax
	je	SHORT $LN6@Purchase_H
	cmp	DWORD PTR [edi+56], eax
	jb	SHORT $LN6@Purchase_H

; 1057 : 		{
; 1058 : 			Send_Message_Player(purchaser,255,255,255,"The limit for Ground vehicles has been reached.");

	push	OFFSET ??_C@_0DA@EHCLJPMO@The?5limit?5for?5Ground?5vehicles?5ha@
$LN44@Purchase_H:
	push	255					; 000000ffH
	push	255					; 000000ffH
	push	255					; 000000ffH
	push	ebp
	call	DWORD PTR ?Send_Message_Player@@3P6AXPAEIIIPBD@ZA ; Send_Message_Player
	add	esp, 20					; 00000014H
$LN43@Purchase_H:
	pop	edi
	pop	esi
	pop	ebp

; 1059 : 			return 3;

	mov	eax, 3
	pop	ebx

; 1081 : 	}
; 1082 : }

	add	esp, 24					; 00000018H
	ret	0
$LN6@Purchase_H:

; 1060 : 		}
; 1061 : 		if (ExpVehFac[Team]->Is_Ground_Building)

	cmp	BYTE PTR [edi+104], 0

; 1062 : 		{
; 1063 : 			return 3;

	jne	SHORT $LN43@Purchase_H

; 1064 : 		}
; 1065 : 		else if (Purchase_Item(purchaser,cost))

	mov	edx, DWORD PTR _cost$[esp+36]
	push	edx
	push	ebp
	call	?Purchase_Item@@YA_NPAEH@Z		; Purchase_Item
	add	esp, 8
	test	al, al
	je	$LN3@Purchase_H

; 1066 : 		{
; 1067 : 			Create_Vehicle(Get_Definition_Name(preset),5.0f * Get_Build_Time_Multiplier(base->team),purchaser,base->team);

	mov	eax, DWORD PTR _base$[esp+36]
	mov	eax, DWORD PTR [eax+1720]
	push	eax
	push	ebp
	push	eax
	call	DWORD PTR ?Get_Build_Time_Multiplier@@3P6AMH@ZA ; Get_Build_Time_Multiplier
	fmul	DWORD PTR __real@40a00000
	fstp	DWORD PTR [esp]
	push	ebx
	call	?Get_Definition_Name@@YAPBDK@Z		; Get_Definition_Name
	add	esp, 4
	push	eax
	call	?Create_Vehicle@@YAXPBDMPAEH@Z		; Create_Vehicle

; 1068 : 			if (ExpVehFac[Team]->Ground_Build_Time[0] > 0.0f)

	fldz
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fcomp	DWORD PTR [ecx+80]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN40@Purchase_H

; 1069 : 			{
; 1070 : 				Set_Currently_Building(true,Team);

	push	esi
	push	1
	call	DWORD PTR ?Set_Currently_Building@@3P6AX_NH@ZA ; Set_Currently_Building

; 1071 : 				Commands->Send_Custom_Event(0,ExpVehFac[Team]->Script,129310,Team,ExpVehFac[Team]->Ground_Build_Time[0]);

	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fld	DWORD PTR [eax+80]
	mov	edx, DWORD PTR [eax+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp+4]
	mov	ecx, DWORD PTR [eax+140]
	add	esp, 4
	push	esi
	push	129310					; 0001f91eH
	push	edx
	push	0
	call	ecx
	add	esp, 20					; 00000014H
$LN40@Purchase_H:

; 1072 : 			}
; 1073 : 			if (ExpVehFac[Team]->Ground_Build_Time[1] > 0.0f)

	fldz
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fcomp	DWORD PTR [ecx+84]
	fnstsw	ax
	test	ah, 5
	jp	$LN1@Purchase_H

; 1074 : 			{
; 1075 : 				ExpVehFac[Team]->Set_Ground_Currently_Building(true);

	push	1
	call	?Set_Ground_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Ground_Currently_Building

; 1076 : 				Commands->Send_Custom_Event(0,ExpVehFac[Team]->Script,129313,Team,ExpVehFac[Team]->Ground_Build_Time[1]);

	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fld	DWORD PTR [eax+84]
	mov	edx, DWORD PTR [eax+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	fstp	DWORD PTR [esp]
	push	esi
	push	129313					; 0001f921H
	push	edx
	push	0
	call	ecx
	add	esp, 20					; 00000014H
	pop	edi
	pop	esi
	pop	ebp
	xor	eax, eax
	pop	ebx

; 1081 : 	}
; 1082 : }

	add	esp, 24					; 00000018H
	ret	0
$LN3@Purchase_H:
	pop	edi
	pop	esi
	pop	ebp

; 1077 : 			}
; 1078 : 			return 0;
; 1079 : 		}
; 1080 : 		return 2;

	mov	eax, 2
	pop	ebx

; 1081 : 	}
; 1082 : }

	add	esp, 24					; 00000018H
	ret	0
$LN32@Purchase_H:
	pop	esi
	pop	ebp

; 962  : 	{
; 963  : 		return 3;

	mov	eax, 3
	pop	ebx

; 1081 : 	}
; 1082 : }

	add	esp, 24					; 00000018H
	ret	0
?Purchase_Hook@ExpVehFacClass@@SAHPAVBaseControllerClass@@PAEIIPBD@Z ENDP ; ExpVehFacClass::Purchase_Hook
_TEXT	ENDS
PUBLIC	??_C@_01EKENIIDA@3?$AA@				; `string'
PUBLIC	??_C@_01FDFGLJHB@2?$AA@				; `string'
PUBLIC	??_C@_01HIHLOKLC@1?$AA@				; `string'
PUBLIC	??_C@_01FAMBOPH@4?$AA@				; `string'
PUBLIC	??_C@_0BE@BKNPJNFJ@MDB_ExpVehFac_Limit?$AA@	; `string'
PUBLIC	?Object_Hook@ExpVehFacClass@@SAXPAXPAE@Z	; ExpVehFacClass::Object_Hook
EXTRN	?Is_Script_Attached@@YA_NPAEPBD@Z:PROC		; Is_Script_Attached
EXTRN	?Is_Vehicle@@YA_NPAE@Z:PROC			; Is_Vehicle
;	COMDAT ??_C@_01EKENIIDA@3?$AA@
CONST	SEGMENT
??_C@_01EKENIIDA@3?$AA@ DB '3', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_01FDFGLJHB@2?$AA@
CONST	SEGMENT
??_C@_01FDFGLJHB@2?$AA@ DB '2', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_01HIHLOKLC@1?$AA@
CONST	SEGMENT
??_C@_01HIHLOKLC@1?$AA@ DB '1', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_01FAMBOPH@4?$AA@
CONST	SEGMENT
??_C@_01FAMBOPH@4?$AA@ DB '4', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@BKNPJNFJ@MDB_ExpVehFac_Limit?$AA@
CONST	SEGMENT
??_C@_0BE@BKNPJNFJ@MDB_ExpVehFac_Limit?$AA@ DB 'MDB_ExpVehFac_Limit', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Object_Hook@ExpVehFacClass@@SAXPAXPAE@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
_obj$ = 12						; size = 4
?Object_Hook@ExpVehFacClass@@SAXPAXPAE@Z PROC		; ExpVehFacClass::Object_Hook, COMDAT

; 1085 : {

	push	ebx

; 1086 : 	if (Is_Vehicle(obj))

	mov	ebx, DWORD PTR _obj$[esp]
	push	ebx
	call	?Is_Vehicle@@YA_NPAE@Z			; Is_Vehicle
	add	esp, 4
	test	al, al
	je	$LN1@Object_Hoo
	push	ebp
	push	edi

; 1087 : 	{
; 1088 : 		int Team = Get_Object_Type(obj);

	push	ebx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	edi, eax
	add	esp, 4

; 1089 : 		if (!Team || Team == 1)

	test	edi, edi
	mov	ebp, 1
	je	SHORT $LN14@Object_Hoo
	cmp	edi, ebp
	jne	$LN19@Object_Hoo
$LN14@Object_Hoo:

; 1090 : 		{
; 1091 : 			if (!Is_Script_Attached(obj,"MDB_ExpVehFac_Limit"))

	push	OFFSET ??_C@_0BE@BKNPJNFJ@MDB_ExpVehFac_Limit?$AA@
	push	ebx
	call	?Is_Script_Attached@@YA_NPAEPBD@Z	; Is_Script_Attached
	add	esp, 8
	test	al, al
	jne	$LN19@Object_Hoo

; 1092 : 			{
; 1093 : 				UnitInfo *Temp = ExpVehFac[Team]->Get_Unit_Info(Commands->Get_Preset_ID(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+112]
	push	esi
	mov	esi, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	push	ebx
	call	ecx
	add	esp, 4
	push	eax
	mov	ecx, esi
	call	?Get_Unit_Info@ExpVehFacClass@@QAEPAUUnitInfo@@I@Z ; ExpVehFacClass::Get_Unit_Info

; 1094 : 				if (Temp)

	test	eax, eax
	je	$LN21@Object_Hoo

; 1095 : 				{
; 1096 : 					if (ExpVehFac[Team]->Support_Limit && Temp->Support)

	cmp	DWORD PTR [esi+52], 0
	je	SHORT $LN11@Object_Hoo
	cmp	BYTE PTR [eax+29], 0
	je	SHORT $LN11@Object_Hoo

; 1097 : 					{
; 1098 : 						ExpVehFac[Team]->Support_Amount++;

	add	DWORD PTR [esi+68], ebp

; 1099 : 						Commands->Attach_Script(obj,"MDB_ExpVehFac_Limit","4");

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+120]
	push	OFFSET ??_C@_01FAMBOPH@4?$AA@
	push	OFFSET ??_C@_0BE@BKNPJNFJ@MDB_ExpVehFac_Limit?$AA@
	push	ebx
	call	eax

; 1100 : 						if (ExpVehFac[Team]->Support_Amount >= ExpVehFac[Team]->Support_Limit)

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	mov	edx, DWORD PTR [ecx+68]
	add	esp, 12					; 0000000cH
	cmp	edx, DWORD PTR [ecx+52]
	jb	$LN21@Object_Hoo

; 1101 : 						{
; 1102 : 							ExpVehFac[Team]->Set_Support_Limit_Reached(true);

	push	ebp
	call	?Set_Support_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Support_Limit_Reached
	pop	esi
	pop	edi
	pop	ebp
	pop	ebx

; 1130 : 						}
; 1131 : 					}
; 1132 : 				}
; 1133 : 			}
; 1134 : 		}
; 1135 : 	}
; 1136 : }

	ret	0
$LN11@Object_Hoo:

; 1103 : 						}
; 1104 : 					}
; 1105 : 					else if (ExpVehFac[Team]->Ground_Limit && Temp->VehType == VEHTYPE_GROUND)

	cmp	DWORD PTR [esi+40], 0
	je	SHORT $LN8@Object_Hoo
	cmp	DWORD PTR [eax+20], ebp
	jne	SHORT $LN8@Object_Hoo

; 1106 : 					{
; 1107 : 						ExpVehFac[Team]->Ground_Amount++;

	add	DWORD PTR [esi+56], ebp

; 1108 : 						Commands->Attach_Script(obj,"MDB_ExpVehFac_Limit","1");

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+120]
	push	OFFSET ??_C@_01HIHLOKLC@1?$AA@
	push	OFFSET ??_C@_0BE@BKNPJNFJ@MDB_ExpVehFac_Limit?$AA@
	push	ebx
	call	ecx

; 1109 : 						if (ExpVehFac[Team]->Ground_Amount >= ExpVehFac[Team]->Ground_Limit)

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	mov	edx, DWORD PTR [ecx+56]
	add	esp, 12					; 0000000cH
	cmp	edx, DWORD PTR [ecx+40]
	jb	$LN21@Object_Hoo

; 1110 : 						{
; 1111 : 							ExpVehFac[Team]->Set_Ground_Limit_Reached(true);

	push	ebp
	call	?Set_Ground_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Ground_Limit_Reached
	pop	esi
	pop	edi
	pop	ebp
	pop	ebx

; 1130 : 						}
; 1131 : 					}
; 1132 : 				}
; 1133 : 			}
; 1134 : 		}
; 1135 : 	}
; 1136 : }

	ret	0
$LN8@Object_Hoo:

; 1112 : 						}
; 1113 : 					}
; 1114 : 					else if (ExpVehFac[Team]->Flying_Limit && Temp->VehType == VEHTYPE_FLYING)

	cmp	DWORD PTR [esi+44], 0
	je	SHORT $LN5@Object_Hoo
	cmp	DWORD PTR [eax+20], 2
	jne	SHORT $LN5@Object_Hoo

; 1115 : 					{
; 1116 : 						ExpVehFac[Team]->Flying_Amount++;

	add	DWORD PTR [esi+60], ebp

; 1117 : 						Commands->Attach_Script(obj,"MDB_ExpVehFac_Limit","2");

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+120]
	push	OFFSET ??_C@_01FDFGLJHB@2?$AA@
	push	OFFSET ??_C@_0BE@BKNPJNFJ@MDB_ExpVehFac_Limit?$AA@
	push	ebx
	call	ecx

; 1118 : 						if (ExpVehFac[Team]->Flying_Amount >= ExpVehFac[Team]->Flying_Limit)

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	mov	edx, DWORD PTR [ecx+60]
	add	esp, 12					; 0000000cH
	cmp	edx, DWORD PTR [ecx+44]
	jb	SHORT $LN21@Object_Hoo

; 1119 : 						{
; 1120 : 							ExpVehFac[Team]->Set_Flying_Limit_Reached(true);

	push	ebp
	call	?Set_Flying_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Flying_Limit_Reached
	pop	esi
	pop	edi
	pop	ebp
	pop	ebx

; 1130 : 						}
; 1131 : 					}
; 1132 : 				}
; 1133 : 			}
; 1134 : 		}
; 1135 : 	}
; 1136 : }

	ret	0
$LN5@Object_Hoo:

; 1121 : 						}
; 1122 : 					}
; 1123 : 					else if (ExpVehFac[Team]->Naval_Limit && Temp->VehType == VEHTYPE_NAVAL)

	cmp	DWORD PTR [esi+48], 0
	je	SHORT $LN21@Object_Hoo
	cmp	DWORD PTR [eax+20], 3
	jne	SHORT $LN21@Object_Hoo

; 1124 : 					{
; 1125 : 						ExpVehFac[Team]->Naval_Amount++;

	add	DWORD PTR [esi+64], ebp

; 1126 : 						Commands->Attach_Script(obj,"MDB_ExpVehFac_Limit","3");

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+120]
	push	OFFSET ??_C@_01EKENIIDA@3?$AA@
	push	OFFSET ??_C@_0BE@BKNPJNFJ@MDB_ExpVehFac_Limit?$AA@
	push	ebx
	call	ecx

; 1127 : 						if (ExpVehFac[Team]->Naval_Amount >= ExpVehFac[Team]->Naval_Limit)

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	mov	edx, DWORD PTR [ecx+64]
	add	esp, 12					; 0000000cH
	cmp	edx, DWORD PTR [ecx+48]
	jb	SHORT $LN21@Object_Hoo

; 1128 : 						{
; 1129 : 							ExpVehFac[Team]->Set_Naval_Limit_Reached(true);

	push	ebp
	call	?Set_Naval_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Naval_Limit_Reached
$LN21@Object_Hoo:
	pop	esi
$LN19@Object_Hoo:
	pop	edi
	pop	ebp
$LN1@Object_Hoo:
	pop	ebx

; 1130 : 						}
; 1131 : 					}
; 1132 : 				}
; 1133 : 			}
; 1134 : 		}
; 1135 : 	}
; 1136 : }

	ret	0
?Object_Hook@ExpVehFacClass@@SAXPAXPAE@Z ENDP		; ExpVehFacClass::Object_Hook
_TEXT	ENDS
PUBLIC	??_C@_0BE@GMHHGOOM@MDB_ExpVehFac_Naval?$AA@	; `string'
PUBLIC	??_C@_0BO@IDCNIDOL@MDB_ExpVehFac_Vehicle_Factory?$AA@ ; `string'
PUBLIC	??_C@_0BG@KKJHDMPD@MDB_ExpVehFac_Helipad?$AA@	; `string'
EXTRN	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z:PROC ; Find_Building_With_Script
;	COMDAT ??_C@_0BE@GMHHGOOM@MDB_ExpVehFac_Naval?$AA@
CONST	SEGMENT
??_C@_0BE@GMHHGOOM@MDB_ExpVehFac_Naval?$AA@ DB 'MDB_ExpVehFac_Naval', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@IDCNIDOL@MDB_ExpVehFac_Vehicle_Factory?$AA@
CONST	SEGMENT
??_C@_0BO@IDCNIDOL@MDB_ExpVehFac_Vehicle_Factory?$AA@ DB 'MDB_ExpVehFac_V'
	DB	'ehicle_Factory', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@KKJHDMPD@MDB_ExpVehFac_Helipad?$AA@
CONST	SEGMENT
??_C@_0BG@KKJHDMPD@MDB_ExpVehFac_Helipad?$AA@ DB 'MDB_ExpVehFac_Helipad', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Killed@MDB_ExpVehFac_Helipad@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@MDB_ExpVehFac_Helipad@@EAEXPAE0@Z PROC		; MDB_ExpVehFac_Helipad::Killed, COMDAT
; _this$ = ecx

; 1161 : {

	push	esi
	push	edi

; 1162 : 	int Team = Get_Object_Type(obj);

	mov	edi, DWORD PTR _obj$[esp+4]
	push	edi
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type

; 1163 : 	if (!Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Helipad",obj))

	push	edi
	push	OFFSET ??_C@_0BG@KKJHDMPD@MDB_ExpVehFac_Helipad?$AA@
	mov	esi, eax
	push	-1
	push	esi
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script
	add	esp, 20					; 00000014H
	test	eax, eax
	jne	SHORT $LN1@Killed

; 1164 : 	{
; 1165 : 		GameObject *WF = Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Vehicle_Factory",0);

	push	eax
	push	OFFSET ??_C@_0BO@IDCNIDOL@MDB_ExpVehFac_Vehicle_Factory?$AA@
	push	-1
	push	esi
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script

; 1166 : 		GameObject *Naval = Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Naval",0);

	push	0
	push	OFFSET ??_C@_0BE@GMHHGOOM@MDB_ExpVehFac_Naval?$AA@
	push	-1
	push	esi
	mov	edi, eax
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script
	add	esp, 32					; 00000020H

; 1167 : 		if (!WF && !Naval)

	test	edi, edi
	jne	SHORT $LN2@Killed
	test	eax, eax
	jne	SHORT $LN2@Killed

; 1168 : 		{
; 1169 : 			Set_Can_Generate_Vehicles(Team,false);

	push	eax
	push	esi
	call	?Set_Can_Generate_Vehicles@@YAXH_N@Z	; Set_Can_Generate_Vehicles
	add	esp, 8
	pop	edi
	pop	esi

; 1174 : 		}
; 1175 : 	}
; 1176 : }

	ret	8
$LN2@Killed:

; 1170 : 		}
; 1171 : 		else
; 1172 : 		{
; 1173 : 			ExpVehFac[Team]->Disable_Flying();

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	call	?Disable_Flying@ExpVehFacClass@@QAEXXZ	; ExpVehFacClass::Disable_Flying
$LN1@Killed:
	pop	edi
	pop	esi

; 1174 : 		}
; 1175 : 	}
; 1176 : }

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

; 1180 : 	if (message == 129310)

	mov	eax, DWORD PTR _message$[esp-4]
	cmp	eax, 129310				; 0001f91eH
	jne	SHORT $LN7@Custom

; 1181 : 	{
; 1182 : 		Set_Currently_Building(false,param);

	mov	eax, DWORD PTR _param$[esp-4]
	push	eax
	push	0
	call	DWORD PTR ?Set_Currently_Building@@3P6AX_NH@ZA ; Set_Currently_Building
	add	esp, 8

; 1195 : 	}
; 1196 : }

	ret	16					; 00000010H
$LN7@Custom:

; 1183 : 	}
; 1184 : 	else if (message == 129311)

	cmp	eax, 129311				; 0001f91fH
	jne	SHORT $LN5@Custom

; 1185 : 	{
; 1186 : 		ExpVehFac[Get_Object_Type(obj)]->Set_Naval_Currently_Building(false);

	mov	ecx, DWORD PTR _obj$[esp-4]
	push	0
	push	ecx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	call	?Set_Naval_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Naval_Currently_Building

; 1195 : 	}
; 1196 : }

	ret	16					; 00000010H
$LN5@Custom:

; 1187 : 	}
; 1188 : 	else if (message == 129312)

	cmp	eax, 129312				; 0001f920H
	jne	SHORT $LN3@Custom

; 1189 : 	{
; 1190 : 		ExpVehFac[Get_Object_Type(obj)]->Set_Flying_Currently_Building(false);

	mov	edx, DWORD PTR _obj$[esp-4]
	push	0
	push	edx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	call	?Set_Flying_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Flying_Currently_Building

; 1195 : 	}
; 1196 : }

	ret	16					; 00000010H
$LN3@Custom:

; 1191 : 	}
; 1192 : 	else if (message == 129313)

	cmp	eax, 129313				; 0001f921H
	jne	SHORT $LN1@Custom

; 1193 : 	{
; 1194 : 		ExpVehFac[Get_Object_Type(obj)]->Set_Ground_Currently_Building(false);

	mov	eax, DWORD PTR _obj$[esp-4]
	push	0
	push	eax
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	call	?Set_Ground_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Ground_Currently_Building
$LN1@Custom:

; 1195 : 	}
; 1196 : }

	ret	16					; 00000010H
?Custom@MDB_ExpVehFac_Helipad@@EAEXPAEHH0@Z ENDP	; MDB_ExpVehFac_Helipad::Custom
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Destroyed@MDB_ExpVehFac_Helipad@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Destroyed@MDB_ExpVehFac_Helipad@@EAEXPAE@Z PROC	; MDB_ExpVehFac_Helipad::Destroyed, COMDAT
; _this$ = ecx

; 1200 : 	int Team = Get_Object_Type(obj);

	mov	eax, DWORD PTR _obj$[esp-4]
	push	eax
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type

; 1201 : 	if (ExpVehFac[Team]->Loaded)

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	cmp	BYTE PTR [ecx+107], 0
	je	SHORT $LN1@Destroyed

; 1202 : 	{
; 1203 : 		ExpVehFac[Team]->Clear();

	call	?Clear@ExpVehFacClass@@QAEXXZ		; ExpVehFacClass::Clear
$LN1@Destroyed:

; 1204 : 	}
; 1205 : }

	ret	4
?Destroyed@MDB_ExpVehFac_Helipad@@EAEXPAE@Z ENDP	; MDB_ExpVehFac_Helipad::Destroyed
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Killed@MDB_ExpVehFac_Naval@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@MDB_ExpVehFac_Naval@@EAEXPAE0@Z PROC		; MDB_ExpVehFac_Naval::Killed, COMDAT
; _this$ = ecx

; 1234 : {

	push	esi
	push	edi

; 1235 : 	int Team = Get_Object_Type(obj);

	mov	edi, DWORD PTR _obj$[esp+4]
	push	edi
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type

; 1236 : 	if (!Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Naval",obj))

	push	edi
	push	OFFSET ??_C@_0BE@GMHHGOOM@MDB_ExpVehFac_Naval?$AA@
	mov	esi, eax
	push	-1
	push	esi
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script
	add	esp, 20					; 00000014H
	test	eax, eax
	jne	SHORT $LN1@Killed@2

; 1237 : 	{
; 1238 : 		GameObject *WF = Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Vehicle_Factory",0);

	push	eax
	push	OFFSET ??_C@_0BO@IDCNIDOL@MDB_ExpVehFac_Vehicle_Factory?$AA@
	push	-1
	push	esi
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script

; 1239 : 		GameObject *Heli = Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Helipad",0);

	push	0
	push	OFFSET ??_C@_0BG@KKJHDMPD@MDB_ExpVehFac_Helipad?$AA@
	push	-1
	push	esi
	mov	edi, eax
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script
	add	esp, 32					; 00000020H

; 1240 : 		if (!WF && !Heli)

	test	edi, edi
	jne	SHORT $LN2@Killed@2
	test	eax, eax
	jne	SHORT $LN2@Killed@2

; 1241 : 		{
; 1242 : 			Set_Can_Generate_Vehicles(Team,false);

	push	eax
	push	esi
	call	?Set_Can_Generate_Vehicles@@YAXH_N@Z	; Set_Can_Generate_Vehicles
	add	esp, 8
	pop	edi
	pop	esi

; 1247 : 		}
; 1248 : 	}
; 1249 : }

	ret	8
$LN2@Killed@2:

; 1243 : 		}
; 1244 : 		else
; 1245 : 		{
; 1246 : 			ExpVehFac[Team]->Disable_Naval();

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	call	?Disable_Naval@ExpVehFacClass@@QAEXXZ	; ExpVehFacClass::Disable_Naval
$LN1@Killed@2:
	pop	edi
	pop	esi

; 1247 : 		}
; 1248 : 	}
; 1249 : }

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

; 1253 : 	if (message == 129310)

	mov	eax, DWORD PTR _message$[esp-4]
	cmp	eax, 129310				; 0001f91eH
	jne	SHORT $LN7@Custom@2

; 1254 : 	{
; 1255 : 		Set_Currently_Building(false,param);

	mov	eax, DWORD PTR _param$[esp-4]
	push	eax
	push	0
	call	DWORD PTR ?Set_Currently_Building@@3P6AX_NH@ZA ; Set_Currently_Building
	add	esp, 8

; 1268 : 	}
; 1269 : }

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

; 1256 : 	}
; 1257 : 	else if (message == 129311)

	cmp	eax, 129311				; 0001f91fH
	jne	SHORT $LN5@Custom@2

; 1258 : 	{
; 1259 : 		ExpVehFac[Get_Object_Type(obj)]->Set_Naval_Currently_Building(false);

	mov	ecx, DWORD PTR _obj$[esp-4]
	push	0
	push	ecx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	call	?Set_Naval_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Naval_Currently_Building

; 1268 : 	}
; 1269 : }

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

; 1260 : 	}
; 1261 : 	else if (message == 129312)

	cmp	eax, 129312				; 0001f920H
	jne	SHORT $LN3@Custom@2

; 1262 : 	{
; 1263 : 		ExpVehFac[Get_Object_Type(obj)]->Set_Flying_Currently_Building(false);

	mov	edx, DWORD PTR _obj$[esp-4]
	push	0
	push	edx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	call	?Set_Flying_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Flying_Currently_Building

; 1268 : 	}
; 1269 : }

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

; 1264 : 	}
; 1265 : 	else if (message == 129313)

	cmp	eax, 129313				; 0001f921H
	jne	SHORT $LN1@Custom@2

; 1266 : 	{
; 1267 : 		ExpVehFac[Get_Object_Type(obj)]->Set_Ground_Currently_Building(false);

	mov	eax, DWORD PTR _obj$[esp-4]
	push	0
	push	eax
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	call	?Set_Ground_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Ground_Currently_Building
$LN1@Custom@2:

; 1268 : 	}
; 1269 : }

	ret	16					; 00000010H
?Custom@MDB_ExpVehFac_Naval@@EAEXPAEHH0@Z ENDP		; MDB_ExpVehFac_Naval::Custom
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Destroyed@MDB_ExpVehFac_Naval@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Destroyed@MDB_ExpVehFac_Naval@@EAEXPAE@Z PROC		; MDB_ExpVehFac_Naval::Destroyed, COMDAT
; _this$ = ecx

; 1273 : 	int Team = Get_Object_Type(obj);

	mov	eax, DWORD PTR _obj$[esp-4]
	push	eax
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type

; 1274 : 	if (ExpVehFac[Team]->Loaded)

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	cmp	BYTE PTR [ecx+107], 0
	je	SHORT $LN1@Destroyed@2

; 1275 : 	{
; 1276 : 		ExpVehFac[Team]->Clear();

	call	?Clear@ExpVehFacClass@@QAEXXZ		; ExpVehFacClass::Clear
$LN1@Destroyed@2:

; 1277 : 	}
; 1278 : }

	ret	4
?Destroyed@MDB_ExpVehFac_Naval@@EAEXPAE@Z ENDP		; MDB_ExpVehFac_Naval::Destroyed
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Destroyed@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Destroyed@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z PROC ; MDB_ExpVehFac_Vehicle_Factory::Destroyed, COMDAT
; _this$ = ecx

; 1282 : 	int Team = Get_Object_Type(obj);

	mov	eax, DWORD PTR _obj$[esp-4]
	push	eax
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type

; 1283 : 	if (ExpVehFac[Team]->Loaded)

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	cmp	BYTE PTR [ecx+107], 0
	je	SHORT $LN1@Destroyed@3

; 1284 : 	{
; 1285 : 		ExpVehFac[Team]->Clear();

	call	?Clear@ExpVehFacClass@@QAEXXZ		; ExpVehFacClass::Clear
$LN1@Destroyed@3:

; 1286 : 	}
; 1287 : }

	ret	4
?Destroyed@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z ENDP ; MDB_ExpVehFac_Vehicle_Factory::Destroyed
_TEXT	ENDS
PUBLIC	__real@3f000000
;	COMDAT __real@3f000000
CONST	SEGMENT
__real@3f000000 DD 03f000000r			; 0.5
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Killed@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE0@Z PROC	; MDB_ExpVehFac_Vehicle_Factory::Killed, COMDAT
; _this$ = ecx

; 1308 : {

	push	ecx
	push	ebx
	push	ebp
	push	esi
	push	edi

; 1309 : 	int Team = Get_Object_Type(obj);

	mov	edi, DWORD PTR _obj$[esp+16]
	push	edi
	mov	DWORD PTR _this$[esp+24], ecx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type

; 1310 : 	GameObject *WF = Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Vehicle_Factory",obj);

	push	edi
	push	OFFSET ??_C@_0BO@IDCNIDOL@MDB_ExpVehFac_Vehicle_Factory?$AA@
	mov	esi, eax
	push	-1
	push	esi
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script

; 1311 : 	GameObject *Naval = Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Naval",0);

	push	0
	push	OFFSET ??_C@_0BE@GMHHGOOM@MDB_ExpVehFac_Naval?$AA@
	push	-1
	push	esi
	mov	ebp, eax
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script

; 1312 : 	GameObject *Heli = Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Helipad",0);

	push	0
	push	OFFSET ??_C@_0BG@KKJHDMPD@MDB_ExpVehFac_Helipad?$AA@
	push	-1
	push	esi
	mov	ebx, eax
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script
	add	esp, 52					; 00000034H

; 1313 : 	if (Naval || Heli)

	test	ebx, ebx
	jne	SHORT $LN4@Killed@3
	test	eax, eax
	jne	SHORT $LN4@Killed@3

; 1319 : 		}
; 1320 : 	}
; 1321 : 	else if (!WF)

	test	ebp, ebp
	jne	SHORT $LN3@Killed@3

; 1322 : 	{
; 1323 : 		Set_Can_Generate_Vehicles(Team,false);

	push	ebp
	push	esi
	call	?Set_Can_Generate_Vehicles@@YAXH_N@Z	; Set_Can_Generate_Vehicles
	add	esp, 8
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 1324 : 	}
; 1325 : }

	pop	ecx
	ret	8
$LN4@Killed@3:

; 1314 : 	{
; 1315 : 		Commands->Start_Timer(obj,this,0.5f,1);

	fld	DWORD PTR __real@3f000000
	mov	eax, DWORD PTR _this$[esp+20]
	push	1
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+128]
	push	eax
	push	edi
	call	edx
	add	esp, 16					; 00000010H

; 1316 : 		if (!WF)

	test	ebp, ebp
	jne	SHORT $LN3@Killed@3

; 1317 : 		{
; 1318 : 			ExpVehFac[Team]->Disable_Ground();

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	call	?Disable_Ground@ExpVehFacClass@@QAEXXZ	; ExpVehFacClass::Disable_Ground
$LN3@Killed@3:
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 1324 : 	}
; 1325 : }

	pop	ecx
	ret	8
?Killed@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE0@Z ENDP	; MDB_ExpVehFac_Vehicle_Factory::Killed
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Custom@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAEHH0@Z PROC ; MDB_ExpVehFac_Vehicle_Factory::Custom, COMDAT
; _this$ = ecx

; 1329 : 	if (message == 129310)

	mov	eax, DWORD PTR _message$[esp-4]
	cmp	eax, 129310				; 0001f91eH
	jne	SHORT $LN7@Custom@3

; 1330 : 	{
; 1331 : 		Set_Currently_Building(false,param);

	mov	eax, DWORD PTR _param$[esp-4]
	push	eax
	push	0
	call	DWORD PTR ?Set_Currently_Building@@3P6AX_NH@ZA ; Set_Currently_Building
	add	esp, 8

; 1344 : 	}
; 1345 : }

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

; 1332 : 	}
; 1333 : 	else if (message == 129311)

	cmp	eax, 129311				; 0001f91fH
	jne	SHORT $LN5@Custom@3

; 1334 : 	{
; 1335 : 		ExpVehFac[Get_Object_Type(obj)]->Set_Naval_Currently_Building(false);

	mov	ecx, DWORD PTR _obj$[esp-4]
	push	0
	push	ecx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	call	?Set_Naval_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Naval_Currently_Building

; 1344 : 	}
; 1345 : }

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

; 1336 : 	}
; 1337 : 	else if (message == 129312)

	cmp	eax, 129312				; 0001f920H
	jne	SHORT $LN3@Custom@3

; 1338 : 	{
; 1339 : 		ExpVehFac[Get_Object_Type(obj)]->Set_Flying_Currently_Building(false);

	mov	edx, DWORD PTR _obj$[esp-4]
	push	0
	push	edx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	call	?Set_Flying_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Flying_Currently_Building

; 1344 : 	}
; 1345 : }

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

; 1340 : 	}
; 1341 : 	else if (message == 129313)

	cmp	eax, 129313				; 0001f921H
	jne	SHORT $LN1@Custom@3

; 1342 : 	{
; 1343 : 		ExpVehFac[Get_Object_Type(obj)]->Set_Ground_Currently_Building(false);

	mov	eax, DWORD PTR _obj$[esp-4]
	push	0
	push	eax
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	esp, 4
	call	?Set_Ground_Currently_Building@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Ground_Currently_Building
$LN1@Custom@3:

; 1344 : 	}
; 1345 : }

	ret	16					; 00000010H
?Custom@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAEHH0@Z ENDP ; MDB_ExpVehFac_Vehicle_Factory::Custom
_TEXT	ENDS
PUBLIC	??_C@_04KOACHJEN@Type?$AA@			; `string'
;	COMDAT ??_C@_04KOACHJEN@Type?$AA@
CONST	SEGMENT
??_C@_04KOACHJEN@Type?$AA@ DB 'Type', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Destroyed@MDB_ExpVehFac_Limit@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Destroyed@MDB_ExpVehFac_Limit@@EAEXPAE@Z PROC		; MDB_ExpVehFac_Limit::Destroyed, COMDAT
; _this$ = ecx

; 1392 : {

	push	esi

; 1393 : 	int Type = Get_Int_Parameter("Type");

	push	OFFSET ??_C@_04KOACHJEN@Type?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1394 : 	if (Type == VEHTYPE_GROUND)

	cmp	eax, 1
	jne	SHORT $LN11@Destroyed@4

; 1395 : 	{
; 1396 : 		ExpVehFac[Team]->Ground_Amount--;

	mov	eax, DWORD PTR [esi+28]
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	DWORD PTR [eax+56], -1

; 1397 : 		if (ExpVehFac[Team]->Ground_Amount == ExpVehFac[Team]->Ground_Limit-1)

	mov	ecx, DWORD PTR [esi+28]
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[ecx*4]
	mov	edx, DWORD PTR [eax+40]
	sub	edx, 1
	cmp	DWORD PTR [eax+56], edx
	jne	$LN1@Destroyed@4

; 1398 : 		{
; 1399 : 			ExpVehFac[Team]->Set_Ground_Limit_Reached(false);

	mov	eax, ecx
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	push	0
	call	?Set_Ground_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Ground_Limit_Reached
	pop	esi

; 1424 : 		}
; 1425 : 	}
; 1426 : }

	ret	4
$LN11@Destroyed@4:

; 1400 : 		}
; 1401 : 	}
; 1402 : 	else if (Type == VEHTYPE_FLYING)

	cmp	eax, 2
	jne	SHORT $LN8@Destroyed@4

; 1403 : 	{
; 1404 : 		ExpVehFac[Team]->Flying_Amount--;

	mov	ecx, DWORD PTR [esi+28]
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[ecx*4]
	add	DWORD PTR [eax+60], -1

; 1405 : 		if (ExpVehFac[Team]->Flying_Amount == ExpVehFac[Team]->Flying_Limit-1)

	mov	edx, DWORD PTR [esi+28]
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edx*4]
	mov	ecx, DWORD PTR [eax+44]
	sub	ecx, 1
	cmp	DWORD PTR [eax+60], ecx
	jne	$LN1@Destroyed@4

; 1406 : 		{
; 1407 : 			ExpVehFac[Team]->Set_Flying_Limit_Reached(false);

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edx*4]
	push	0
	call	?Set_Flying_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Flying_Limit_Reached
	pop	esi

; 1424 : 		}
; 1425 : 	}
; 1426 : }

	ret	4
$LN8@Destroyed@4:

; 1408 : 		}
; 1409 : 	}
; 1410 : 	else if (Type == VEHTYPE_NAVAL)

	cmp	eax, 3
	jne	SHORT $LN5@Destroyed@4

; 1411 : 	{
; 1412 : 		ExpVehFac[Team]->Naval_Amount--;

	mov	eax, DWORD PTR [esi+28]
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	add	DWORD PTR [eax+64], -1

; 1413 : 		if (ExpVehFac[Team]->Naval_Amount == ExpVehFac[Team]->Naval_Limit-1)

	mov	ecx, DWORD PTR [esi+28]
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[ecx*4]
	mov	edx, DWORD PTR [eax+48]
	sub	edx, 1
	cmp	DWORD PTR [eax+64], edx
	jne	SHORT $LN1@Destroyed@4

; 1414 : 		{
; 1415 : 			ExpVehFac[Team]->Set_Naval_Limit_Reached(false);

	mov	eax, ecx
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[eax*4]
	push	0
	call	?Set_Naval_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Naval_Limit_Reached
	pop	esi

; 1424 : 		}
; 1425 : 	}
; 1426 : }

	ret	4
$LN5@Destroyed@4:

; 1416 : 		}
; 1417 : 	}
; 1418 : 	else if (Type == VEHTYPE_SUPPORT)

	cmp	eax, 4
	jne	SHORT $LN1@Destroyed@4

; 1419 : 	{
; 1420 : 		ExpVehFac[Team]->Support_Amount--;

	mov	ecx, DWORD PTR [esi+28]
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[ecx*4]
	add	DWORD PTR [eax+68], -1

; 1421 : 		if (ExpVehFac[Team]->Support_Amount == ExpVehFac[Team]->Support_Limit-1)

	mov	edx, DWORD PTR [esi+28]
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edx*4]
	mov	ecx, DWORD PTR [eax+52]
	sub	ecx, 1
	cmp	DWORD PTR [eax+68], ecx
	jne	SHORT $LN1@Destroyed@4

; 1422 : 		{
; 1423 : 			ExpVehFac[Team]->Set_Support_Limit_Reached(false);

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edx*4]
	push	0
	call	?Set_Support_Limit_Reached@ExpVehFacClass@@QAEX_N@Z ; ExpVehFacClass::Set_Support_Limit_Reached
$LN1@Destroyed@4:
	pop	esi

; 1424 : 		}
; 1425 : 	}
; 1426 : }

	ret	4
?Destroyed@MDB_ExpVehFac_Limit@@EAEXPAE@Z ENDP		; MDB_ExpVehFac_Limit::Destroyed
_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	??_7?$SimpleDynVecClass@PAUUnitInfo@@@@6B@	; SimpleDynVecClass<UnitInfo *>::`vftable'
PUBLIC	??0?$SimpleDynVecClass@PAUUnitInfo@@@@QAE@H@Z	; SimpleDynVecClass<UnitInfo *>::SimpleDynVecClass<UnitInfo *>
PUBLIC	??_R4?$SimpleDynVecClass@PAUUnitInfo@@@@6B@	; SimpleDynVecClass<UnitInfo *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleDynVecClass@PAUUnitInfo@@@@@8	; SimpleDynVecClass<UnitInfo *> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleDynVecClass@PAUUnitInfo@@@@8	; SimpleDynVecClass<UnitInfo *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleDynVecClass@PAUUnitInfo@@@@8	; SimpleDynVecClass<UnitInfo *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleDynVecClass@PAUUnitInfo@@@@8 ; SimpleDynVecClass<UnitInfo *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Resize@?$SimpleDynVecClass@PAUUnitInfo@@@@UAE_NH@Z ; SimpleDynVecClass<UnitInfo *>::Resize
EXTRN	??_E?$SimpleDynVecClass@PAUUnitInfo@@@@UAEPAXI@Z:PROC ; SimpleDynVecClass<UnitInfo *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleDynVecClass@PAUUnitInfo@@@@8
; File d:\source code\stgm\engine_vector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleDynVecClass@PAUUnitInfo@@@@8 DD FLAT:??_R0?AV?$SimpleDynVecClass@PAUUnitInfo@@@@@8 ; SimpleDynVecClass<UnitInfo *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleDynVecClass@PAUUnitInfo@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleDynVecClass@PAUUnitInfo@@@@8
rdata$r	SEGMENT
??_R2?$SimpleDynVecClass@PAUUnitInfo@@@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleDynVecClass@PAUUnitInfo@@@@8 ; SimpleDynVecClass<UnitInfo *>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$SimpleVecClass@PAUUnitInfo@@@@8
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleDynVecClass@PAUUnitInfo@@@@8
rdata$r	SEGMENT
??_R3?$SimpleDynVecClass@PAUUnitInfo@@@@8 DD 00H	; SimpleDynVecClass<UnitInfo *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$SimpleDynVecClass@PAUUnitInfo@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleDynVecClass@PAUUnitInfo@@@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleDynVecClass@PAUUnitInfo@@@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleDynVecClass<UnitInfo *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleDynVecClass@PAUUnitInfo@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleDynVecClass@PAUUnitInfo@@@@6B@
rdata$r	SEGMENT
??_R4?$SimpleDynVecClass@PAUUnitInfo@@@@6B@ DD 00H	; SimpleDynVecClass<UnitInfo *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleDynVecClass@PAUUnitInfo@@@@@8
	DD	FLAT:??_R3?$SimpleDynVecClass@PAUUnitInfo@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$SimpleDynVecClass@PAUUnitInfo@@@@6B@
CONST	SEGMENT
??_7?$SimpleDynVecClass@PAUUnitInfo@@@@6B@ DD FLAT:??_R4?$SimpleDynVecClass@PAUUnitInfo@@@@6B@ ; SimpleDynVecClass<UnitInfo *>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@PAUUnitInfo@@@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleDynVecClass@PAUUnitInfo@@@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleDynVecClass@PAUUnitInfo@@@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$SimpleDynVecClass@PAUUnitInfo@@@@QAE@H@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleDynVecClass@PAUUnitInfo@@@@QAE@H@Z PROC	; SimpleDynVecClass<UnitInfo *>::SimpleDynVecClass<UnitInfo *>, 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@PAUUnitInfo@@@@6B@
	mov	DWORD PTR [esi+4], eax
	mov	DWORD PTR [esi+8], eax
	jbe	SHORT $LN4@SimpleDynV
	push	edi
	call	?Resize@?$SimpleVecClass@PAUUnitInfo@@@@UAE_NH@Z ; SimpleVecClass<UnitInfo *>::Resize
$LN4@SimpleDynV:

; 260  : 		ActiveCount = size;

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

; 261  : 	}

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

; 271  : 	{

	push	-1
	push	__ehhandler$??1?$SimpleDynVecClass@PAUUnitInfo@@@@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@PAUUnitInfo@@@@6B@
	xor	edi, edi

; 272  : 		if (Vector)

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

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

	push	OFFSET ??_C@_0DJ@PNKPHKHE@SimpleDynVecClass?$DMstruct?5UnitInf@
	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@2:

; 276  : 		}
; 277  : 	}

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@PAUUnitInfo@@@@6B@
	je	SHORT $LN7@SimpleDynV@2
	push	OFFSET ??_C@_0DD@IEMMGBBK@SimpleVecClass?$DMstruct?5UnitInfo?5?$CK@
	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@2:
	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@PAUUnitInfo@@@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$SimpleVecClass@PAUUnitInfo@@@@UAE@XZ ; SimpleVecClass<UnitInfo *>::~SimpleVecClass<UnitInfo *>
__ehhandler$??1?$SimpleDynVecClass@PAUUnitInfo@@@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$SimpleDynVecClass@PAUUnitInfo@@@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$SimpleDynVecClass@PAUUnitInfo@@@@UAE@XZ ENDP	; SimpleDynVecClass<UnitInfo *>::~SimpleDynVecClass<UnitInfo *>
; Function compile flags: /Ogtpy
;	COMDAT ?Resize@?$SimpleDynVecClass@PAUUnitInfo@@@@UAE_NH@Z
_TEXT	SEGMENT
_newsize$ = 8						; size = 4
?Resize@?$SimpleDynVecClass@PAUUnitInfo@@@@UAE_NH@Z PROC ; SimpleDynVecClass<UnitInfo *>::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@PAUUnitInfo@@@@UAE_NH@Z ; SimpleVecClass<UnitInfo *>::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@PAUUnitInfo@@@@UAE_NH@Z ENDP ; SimpleDynVecClass<UnitInfo *>::Resize
_TEXT	ENDS
PUBLIC	??_7?$SimpleDynVecClass@PAUCreationPos@@@@6B@	; SimpleDynVecClass<CreationPos *>::`vftable'
PUBLIC	??0?$SimpleDynVecClass@PAUCreationPos@@@@QAE@H@Z ; SimpleDynVecClass<CreationPos *>::SimpleDynVecClass<CreationPos *>
PUBLIC	??_R4?$SimpleDynVecClass@PAUCreationPos@@@@6B@	; SimpleDynVecClass<CreationPos *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleDynVecClass@PAUCreationPos@@@@@8 ; SimpleDynVecClass<CreationPos *> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleDynVecClass@PAUCreationPos@@@@8	; SimpleDynVecClass<CreationPos *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleDynVecClass@PAUCreationPos@@@@8	; SimpleDynVecClass<CreationPos *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleDynVecClass@PAUCreationPos@@@@8 ; SimpleDynVecClass<CreationPos *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Resize@?$SimpleDynVecClass@PAUCreationPos@@@@UAE_NH@Z ; SimpleDynVecClass<CreationPos *>::Resize
EXTRN	??_E?$SimpleDynVecClass@PAUCreationPos@@@@UAEPAXI@Z:PROC ; SimpleDynVecClass<CreationPos *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleDynVecClass@PAUCreationPos@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleDynVecClass@PAUCreationPos@@@@8 DD FLAT:??_R0?AV?$SimpleDynVecClass@PAUCreationPos@@@@@8 ; SimpleDynVecClass<CreationPos *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleDynVecClass@PAUCreationPos@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleDynVecClass@PAUCreationPos@@@@8
rdata$r	SEGMENT
??_R2?$SimpleDynVecClass@PAUCreationPos@@@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleDynVecClass@PAUCreationPos@@@@8 ; SimpleDynVecClass<CreationPos *>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$SimpleVecClass@PAUCreationPos@@@@8
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleDynVecClass@PAUCreationPos@@@@8
rdata$r	SEGMENT
??_R3?$SimpleDynVecClass@PAUCreationPos@@@@8 DD 00H	; SimpleDynVecClass<CreationPos *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$SimpleDynVecClass@PAUCreationPos@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleDynVecClass@PAUCreationPos@@@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleDynVecClass@PAUCreationPos@@@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleDynVecClass<CreationPos *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleDynVecClass@PAUCreationPos@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleDynVecClass@PAUCreationPos@@@@6B@
rdata$r	SEGMENT
??_R4?$SimpleDynVecClass@PAUCreationPos@@@@6B@ DD 00H	; SimpleDynVecClass<CreationPos *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleDynVecClass@PAUCreationPos@@@@@8
	DD	FLAT:??_R3?$SimpleDynVecClass@PAUCreationPos@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$SimpleDynVecClass@PAUCreationPos@@@@6B@
CONST	SEGMENT
??_7?$SimpleDynVecClass@PAUCreationPos@@@@6B@ DD FLAT:??_R4?$SimpleDynVecClass@PAUCreationPos@@@@6B@ ; SimpleDynVecClass<CreationPos *>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@PAUCreationPos@@@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleDynVecClass@PAUCreationPos@@@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleDynVecClass@PAUCreationPos@@@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$SimpleDynVecClass@PAUCreationPos@@@@QAE@H@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleDynVecClass@PAUCreationPos@@@@QAE@H@Z PROC	; SimpleDynVecClass<CreationPos *>::SimpleDynVecClass<CreationPos *>, 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@PAUCreationPos@@@@6B@
	mov	DWORD PTR [esi+4], eax
	mov	DWORD PTR [esi+8], eax
	jbe	SHORT $LN4@SimpleDynV@3
	push	edi
	call	?Resize@?$SimpleVecClass@PAUCreationPos@@@@UAE_NH@Z ; SimpleVecClass<CreationPos *>::Resize
$LN4@SimpleDynV@3:

; 260  : 		ActiveCount = size;

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

; 261  : 	}

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

; 271  : 	{

	push	-1
	push	__ehhandler$??1?$SimpleDynVecClass@PAUCreationPos@@@@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@PAUCreationPos@@@@6B@
	xor	edi, edi

; 272  : 		if (Vector)

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

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

	push	OFFSET ??_C@_0DM@EEMMHDBE@SimpleDynVecClass?$DMstruct?5Creatio@
	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@4:

; 276  : 		}
; 277  : 	}

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@PAUCreationPos@@@@6B@
	je	SHORT $LN7@SimpleDynV@4
	push	OFFSET ??_C@_0DG@OANNENMH@SimpleVecClass?$DMstruct?5CreationPo@
	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@4:
	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@PAUCreationPos@@@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$SimpleVecClass@PAUCreationPos@@@@UAE@XZ ; SimpleVecClass<CreationPos *>::~SimpleVecClass<CreationPos *>
__ehhandler$??1?$SimpleDynVecClass@PAUCreationPos@@@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$SimpleDynVecClass@PAUCreationPos@@@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$SimpleDynVecClass@PAUCreationPos@@@@UAE@XZ ENDP	; SimpleDynVecClass<CreationPos *>::~SimpleDynVecClass<CreationPos *>
; Function compile flags: /Ogtpy
;	COMDAT ?Resize@?$SimpleDynVecClass@PAUCreationPos@@@@UAE_NH@Z
_TEXT	SEGMENT
_newsize$ = 8						; size = 4
?Resize@?$SimpleDynVecClass@PAUCreationPos@@@@UAE_NH@Z PROC ; SimpleDynVecClass<CreationPos *>::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@PAUCreationPos@@@@UAE_NH@Z ; SimpleVecClass<CreationPos *>::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@PAUCreationPos@@@@UAE_NH@Z ENDP ; SimpleDynVecClass<CreationPos *>::Resize
_TEXT	ENDS
PUBLIC	??_7?$SimpleDynVecClass@PAE@@6B@		; SimpleDynVecClass<unsigned char *>::`vftable'
PUBLIC	??0?$SimpleDynVecClass@PAE@@QAE@H@Z		; SimpleDynVecClass<unsigned char *>::SimpleDynVecClass<unsigned char *>
PUBLIC	??_R4?$SimpleDynVecClass@PAE@@6B@		; SimpleDynVecClass<unsigned char *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleDynVecClass@PAE@@@8		; SimpleDynVecClass<unsigned char *> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleDynVecClass@PAE@@8			; SimpleDynVecClass<unsigned char *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleDynVecClass@PAE@@8			; SimpleDynVecClass<unsigned char *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleDynVecClass@PAE@@8	; SimpleDynVecClass<unsigned char *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Resize@?$SimpleDynVecClass@PAE@@UAE_NH@Z	; SimpleDynVecClass<unsigned char *>::Resize
EXTRN	??_E?$SimpleDynVecClass@PAE@@UAEPAXI@Z:PROC	; SimpleDynVecClass<unsigned char *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleDynVecClass@PAE@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleDynVecClass@PAE@@8 DD FLAT:??_R0?AV?$SimpleDynVecClass@PAE@@@8 ; SimpleDynVecClass<unsigned char *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleDynVecClass@PAE@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleDynVecClass@PAE@@8
rdata$r	SEGMENT
??_R2?$SimpleDynVecClass@PAE@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleDynVecClass@PAE@@8 ; SimpleDynVecClass<unsigned char *>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$SimpleVecClass@PAE@@8
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleDynVecClass@PAE@@8
rdata$r	SEGMENT
??_R3?$SimpleDynVecClass@PAE@@8 DD 00H			; SimpleDynVecClass<unsigned char *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$SimpleDynVecClass@PAE@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleDynVecClass@PAE@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleDynVecClass@PAE@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleDynVecClass<unsigned char *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleDynVecClass@PAE@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleDynVecClass@PAE@@6B@
rdata$r	SEGMENT
??_R4?$SimpleDynVecClass@PAE@@6B@ DD 00H		; SimpleDynVecClass<unsigned char *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleDynVecClass@PAE@@@8
	DD	FLAT:??_R3?$SimpleDynVecClass@PAE@@8
rdata$r	ENDS
;	COMDAT ??_7?$SimpleDynVecClass@PAE@@6B@
CONST	SEGMENT
??_7?$SimpleDynVecClass@PAE@@6B@ DD FLAT:??_R4?$SimpleDynVecClass@PAE@@6B@ ; SimpleDynVecClass<unsigned char *>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleDynVecClass@PAE@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleDynVecClass@PAE@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$SimpleDynVecClass@PAE@@QAE@H@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleDynVecClass@PAE@@QAE@H@Z PROC		; SimpleDynVecClass<unsigned char *>::SimpleDynVecClass<unsigned char *>, 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@PAE@@6B@
	mov	DWORD PTR [esi+4], eax
	mov	DWORD PTR [esi+8], eax
	jbe	SHORT $LN4@SimpleDynV@5
	push	edi
	call	?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z	; SimpleVecClass<unsigned char *>::Resize
$LN4@SimpleDynV@5:

; 260  : 		ActiveCount = size;

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

; 261  : 	}

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

; 271  : 	{

	push	-1
	push	__ehhandler$??1?$SimpleDynVecClass@PAE@@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@PAE@@6B@
	xor	edi, edi

; 272  : 		if (Vector)

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

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

	push	OFFSET ??_C@_0DH@LBOIPNEO@SimpleDynVecClass?$DMunsigned?5char?5@
	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@6:

; 276  : 		}
; 277  : 	}

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@PAE@@6B@
	je	SHORT $LN7@SimpleDynV@6
	push	OFFSET ??_C@_0DB@MPKFPOBN@SimpleVecClass?$DMunsigned?5char?5?$CK?$DO?3@
	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@6:
	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@PAE@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$SimpleVecClass@PAE@@UAE@XZ		; SimpleVecClass<unsigned char *>::~SimpleVecClass<unsigned char *>
__ehhandler$??1?$SimpleDynVecClass@PAE@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$SimpleDynVecClass@PAE@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$SimpleDynVecClass@PAE@@UAE@XZ ENDP			; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
; Function compile flags: /Ogtpy
;	COMDAT ?Resize@?$SimpleDynVecClass@PAE@@UAE_NH@Z
_TEXT	SEGMENT
_newsize$ = 8						; size = 4
?Resize@?$SimpleDynVecClass@PAE@@UAE_NH@Z PROC		; SimpleDynVecClass<unsigned char *>::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@PAE@@UAE_NH@Z	; SimpleVecClass<unsigned char *>::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@PAE@@UAE_NH@Z ENDP		; SimpleDynVecClass<unsigned char *>::Resize
_TEXT	ENDS
PUBLIC	??4?$SimpleDynVecClass@PAE@@QAEAAV0@ABV0@@Z	; SimpleDynVecClass<unsigned char *>::operator=
; Function compile flags: /Ogtpy
;	COMDAT ??4?$SimpleDynVecClass@PAE@@QAEAAV0@ABV0@@Z
_TEXT	SEGMENT
_cl$ = 8						; size = 4
??4?$SimpleDynVecClass@PAE@@QAEAAV0@ABV0@@Z PROC	; SimpleDynVecClass<unsigned char *>::operator=, COMDAT
; _this$ = ecx

; 334  : 	{

	push	esi
	push	edi

; 335  : 		SimpleVecClass<T>::operator =(cl);

	mov	edi, DWORD PTR _cl$[esp+4]
	push	edi
	mov	esi, ecx
	call	??4?$SimpleVecClass@PAE@@QAEAAV0@ABV0@@Z ; SimpleVecClass<unsigned char *>::operator=

; 336  : 		ActiveCount = cl.ActiveCount;

	mov	eax, DWORD PTR [edi+12]
	mov	DWORD PTR [esi+12], eax
	pop	edi

; 337  : 		return *this;

	mov	eax, esi
	pop	esi

; 338  : 	}

	ret	4
??4?$SimpleDynVecClass@PAE@@QAEAAV0@ABV0@@Z ENDP	; SimpleDynVecClass<unsigned char *>::operator=
_TEXT	ENDS
PUBLIC	??_7?$SimpleDynVecClass@I@@6B@			; SimpleDynVecClass<unsigned int>::`vftable'
PUBLIC	??0?$SimpleDynVecClass@I@@QAE@H@Z		; SimpleDynVecClass<unsigned int>::SimpleDynVecClass<unsigned int>
PUBLIC	??_R4?$SimpleDynVecClass@I@@6B@			; SimpleDynVecClass<unsigned int>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$SimpleDynVecClass@I@@@8		; SimpleDynVecClass<unsigned int> `RTTI Type Descriptor'
PUBLIC	??_R3?$SimpleDynVecClass@I@@8			; SimpleDynVecClass<unsigned int>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$SimpleDynVecClass@I@@8			; SimpleDynVecClass<unsigned int>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$SimpleDynVecClass@I@@8		; SimpleDynVecClass<unsigned int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Resize@?$SimpleDynVecClass@I@@UAE_NH@Z		; SimpleDynVecClass<unsigned int>::Resize
EXTRN	??_E?$SimpleDynVecClass@I@@UAEPAXI@Z:PROC	; SimpleDynVecClass<unsigned int>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$SimpleDynVecClass@I@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$SimpleDynVecClass@I@@8 DD FLAT:??_R0?AV?$SimpleDynVecClass@I@@@8 ; SimpleDynVecClass<unsigned int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$SimpleDynVecClass@I@@8
rdata$r	ENDS
;	COMDAT ??_R2?$SimpleDynVecClass@I@@8
rdata$r	SEGMENT
??_R2?$SimpleDynVecClass@I@@8 DD FLAT:??_R1A@?0A@EA@?$SimpleDynVecClass@I@@8 ; SimpleDynVecClass<unsigned int>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$SimpleVecClass@I@@8
rdata$r	ENDS
;	COMDAT ??_R3?$SimpleDynVecClass@I@@8
rdata$r	SEGMENT
??_R3?$SimpleDynVecClass@I@@8 DD 00H			; SimpleDynVecClass<unsigned int>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$SimpleDynVecClass@I@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$SimpleDynVecClass@I@@@8
_DATA	SEGMENT
??_R0?AV?$SimpleDynVecClass@I@@@8 DD FLAT:??_7type_info@@6B@ ; SimpleDynVecClass<unsigned int> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$SimpleDynVecClass@I@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$SimpleDynVecClass@I@@6B@
rdata$r	SEGMENT
??_R4?$SimpleDynVecClass@I@@6B@ DD 00H			; SimpleDynVecClass<unsigned int>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$SimpleDynVecClass@I@@@8
	DD	FLAT:??_R3?$SimpleDynVecClass@I@@8
rdata$r	ENDS
;	COMDAT ??_7?$SimpleDynVecClass@I@@6B@
CONST	SEGMENT
??_7?$SimpleDynVecClass@I@@6B@ DD FLAT:??_R4?$SimpleDynVecClass@I@@6B@ ; SimpleDynVecClass<unsigned int>::`vftable'
	DD	FLAT:?Uninitialised_Grow@?$SimpleVecClass@I@@UAE_NH@Z
	DD	FLAT:??_E?$SimpleDynVecClass@I@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleDynVecClass@I@@UAE_NH@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$SimpleDynVecClass@I@@QAE@H@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleDynVecClass@I@@QAE@H@Z PROC			; SimpleDynVecClass<unsigned int>::SimpleDynVecClass<unsigned 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@I@@6B@
	mov	DWORD PTR [esi+4], eax
	mov	DWORD PTR [esi+8], eax
	jbe	SHORT $LN4@SimpleDynV@7
	push	edi
	call	?Resize@?$SimpleVecClass@I@@UAE_NH@Z	; SimpleVecClass<unsigned int>::Resize
$LN4@SimpleDynV@7:

; 260  : 		ActiveCount = size;

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

; 261  : 	}

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

; 271  : 	{

	push	-1
	push	__ehhandler$??1?$SimpleDynVecClass@I@@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@I@@6B@
	xor	edi, edi

; 272  : 		if (Vector)

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

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

	push	OFFSET ??_C@_0DE@KJALKKJB@SimpleDynVecClass?$DMunsigned?5int?$DO?3@
	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@8:

; 276  : 		}
; 277  : 	}

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$SimpleVecClass@I@@6B@
	je	SHORT $LN7@SimpleDynV@8
	push	OFFSET ??_C@_0CO@MPCNNKCB@SimpleVecClass?$DMunsigned?5int?$DO?3?3?$HOS@
	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@8:
	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@I@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$SimpleVecClass@I@@UAE@XZ		; SimpleVecClass<unsigned int>::~SimpleVecClass<unsigned int>
__ehhandler$??1?$SimpleDynVecClass@I@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$SimpleDynVecClass@I@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$SimpleDynVecClass@I@@UAE@XZ ENDP			; SimpleDynVecClass<unsigned int>::~SimpleDynVecClass<unsigned int>
; Function compile flags: /Ogtpy
;	COMDAT ?Resize@?$SimpleDynVecClass@I@@UAE_NH@Z
_TEXT	SEGMENT
_newsize$ = 8						; size = 4
?Resize@?$SimpleDynVecClass@I@@UAE_NH@Z PROC		; SimpleDynVecClass<unsigned 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@I@@UAE_NH@Z	; SimpleVecClass<unsigned int>::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@I@@UAE_NH@Z ENDP		; SimpleDynVecClass<unsigned int>::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?$SimpleDynVecClass@PAUUnitInfo@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleDynVecClass@PAUUnitInfo@@@@UAEPAXI@Z PROC	; SimpleDynVecClass<UnitInfo *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$SimpleDynVecClass@PAUUnitInfo@@@@UAE@XZ ; SimpleDynVecClass<UnitInfo *>::~SimpleDynVecClass<UnitInfo *>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@12
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@12:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleDynVecClass@PAUUnitInfo@@@@UAEPAXI@Z ENDP	; SimpleDynVecClass<UnitInfo *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleDynVecClass@PAUCreationPos@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleDynVecClass@PAUCreationPos@@@@UAEPAXI@Z PROC ; SimpleDynVecClass<CreationPos *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$SimpleDynVecClass@PAUCreationPos@@@@UAE@XZ ; SimpleDynVecClass<CreationPos *>::~SimpleDynVecClass<CreationPos *>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@13
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@13:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleDynVecClass@PAUCreationPos@@@@UAEPAXI@Z ENDP ; SimpleDynVecClass<CreationPos *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleDynVecClass@PAE@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleDynVecClass@PAE@@UAEPAXI@Z PROC		; SimpleDynVecClass<unsigned char *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@14
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@14:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleDynVecClass@PAE@@UAEPAXI@Z ENDP		; SimpleDynVecClass<unsigned char *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$SimpleDynVecClass@I@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleDynVecClass@I@@UAEPAXI@Z PROC		; SimpleDynVecClass<unsigned int>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$SimpleDynVecClass@I@@UAE@XZ	; SimpleDynVecClass<unsigned int>::~SimpleDynVecClass<unsigned int>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@15
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@15:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleDynVecClass@I@@UAEPAXI@Z ENDP		; SimpleDynVecClass<unsigned int>::`scalar deleting destructor'
_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	??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@ ; `string'
PUBLIC	??_C@_0DG@PDFNFKEN@ScriptRegistrant?$DMclass?5MDB_ExpVe@ ; `string'
EXTRN	??2@YAPAXI@Z:PROC				; operator new
;	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@_0DG@PDFNFKEN@ScriptRegistrant?$DMclass?5MDB_ExpVe@
CONST	SEGMENT
??_C@_0DG@PDFNFKEN@ScriptRegistrant?$DMclass?5MDB_ExpVe@ DB 'ScriptRegist'
	DB	'rant<class MDB_ExpVehFac_Helipad>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T63931 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@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@_0DG@PDFNFKEN@ScriptRegistrant?$DMclass?5MDB_ExpVe@
	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 $T63931[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 ??_7MDB_ExpVehFac_Helipad@@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@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T63931[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Helipad>::Create
PUBLIC	??_C@_0DE@PMNHGNJP@ScriptRegistrant?$DMclass?5MDB_ExpVe@ ; `string'
;	COMDAT ??_C@_0DE@PMNHGNJP@ScriptRegistrant?$DMclass?5MDB_ExpVe@
CONST	SEGMENT
??_C@_0DE@PMNHGNJP@ScriptRegistrant?$DMclass?5MDB_ExpVe@ DB 'ScriptRegist'
	DB	'rant<class MDB_ExpVehFac_Naval>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T63954 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Naval>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@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@PMNHGNJP@ScriptRegistrant?$DMclass?5MDB_ExpVe@
	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 $T63954[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 ??_7MDB_ExpVehFac_Naval@@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@VMDB_ExpVehFac_Naval@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T63954[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Naval>::Create
PUBLIC	??_C@_0DO@BBEDOJGF@ScriptRegistrant?$DMclass?5MDB_ExpVe@ ; `string'
;	COMDAT ??_C@_0DO@BBEDOJGF@ScriptRegistrant?$DMclass?5MDB_ExpVe@
CONST	SEGMENT
??_C@_0DO@BBEDOJGF@ScriptRegistrant?$DMclass?5MDB_ExpVe@ DB 'ScriptRegist'
	DB	'rant<class MDB_ExpVehFac_Vehicle_Factory>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T63977 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Vehicle_Factory>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@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@_0DO@BBEDOJGF@ScriptRegistrant?$DMclass?5MDB_ExpVe@
	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 $T63977[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 ??_7MDB_ExpVehFac_Vehicle_Factory@@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@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T63977[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Vehicle_Factory>::Create
PUBLIC	??_C@_0DI@FDCOMGFJ@ScriptRegistrant?$DMclass?5MDB_ExpVe@ ; `string'
;	COMDAT ??_C@_0DI@FDCOMGFJ@ScriptRegistrant?$DMclass?5MDB_ExpVe@
CONST	SEGMENT
??_C@_0DI@FDCOMGFJ@ScriptRegistrant?$DMclass?5MDB_ExpVe@ DB 'ScriptRegist'
	DB	'rant<class MDB_ExpVehFac_Cinematic>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T64000 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Cinematic>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@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@_0DI@FDCOMGFJ@ScriptRegistrant?$DMclass?5MDB_ExpVe@
	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	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T64000[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 ??_7MDB_ExpVehFac_Cinematic@@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@VMDB_ExpVehFac_Cinematic@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T64000[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Cinematic>::Create
PUBLIC	??_C@_0EA@GFDKKLDF@ScriptRegistrant?$DMclass?5MDB_ExpVe@ ; `string'
;	COMDAT ??_C@_0EA@GFDKKLDF@ScriptRegistrant?$DMclass?5MDB_ExpVe@
CONST	SEGMENT
??_C@_0EA@GFDKKLDF@ScriptRegistrant?$DMclass?5MDB_ExpVe@ DB 'ScriptRegist'
	DB	'rant<class MDB_ExpVehFac_Cinematic_Vehicle>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T64023 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Cinematic_Vehicle>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@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@_0EA@GFDKKLDF@ScriptRegistrant?$DMclass?5MDB_ExpVe@
	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 $T64023[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 ??_7MDB_ExpVehFac_Cinematic_Vehicle@@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@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T64023[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Cinematic_Vehicle>::Create
PUBLIC	??_C@_0DE@CGPPIIDB@ScriptRegistrant?$DMclass?5MDB_ExpVe@ ; `string'
;	COMDAT ??_C@_0DE@CGPPIIDB@ScriptRegistrant?$DMclass?5MDB_ExpVe@
CONST	SEGMENT
??_C@_0DE@CGPPIIDB@ScriptRegistrant?$DMclass?5MDB_ExpVe@ DB 'ScriptRegist'
	DB	'rant<class MDB_ExpVehFac_Limit>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T64046 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_ExpVehFac_Limit>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@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@CGPPIIDB@ScriptRegistrant?$DMclass?5MDB_ExpVe@
	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	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T64046[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@6
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7MDB_ExpVehFac_Limit@@6B@
	jmp	SHORT $LN4@Create@6
$LN3@Create@6:
	xor	esi, esi
$LN4@Create@6:

; 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@VMDB_ExpVehFac_Limit@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T64046[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_ExpVehFac_Limit>::Create
; Function compile flags: /Ogtpy
;	COMDAT ??_GMDB_ExpVehFac_Helipad@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_ExpVehFac_Helipad@@UAEPAXI@Z PROC		; MDB_ExpVehFac_Helipad::`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@16
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@16:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_ExpVehFac_Helipad@@UAEPAXI@Z ENDP		; MDB_ExpVehFac_Helipad::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GMDB_ExpVehFac_Naval@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_ExpVehFac_Naval@@UAEPAXI@Z PROC			; MDB_ExpVehFac_Naval::`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@17
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@17:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_ExpVehFac_Naval@@UAEPAXI@Z ENDP			; MDB_ExpVehFac_Naval::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GMDB_ExpVehFac_Vehicle_Factory@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_ExpVehFac_Vehicle_Factory@@UAEPAXI@Z PROC	; MDB_ExpVehFac_Vehicle_Factory::`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@18
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@18:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_ExpVehFac_Vehicle_Factory@@UAEPAXI@Z ENDP	; MDB_ExpVehFac_Vehicle_Factory::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GMDB_ExpVehFac_Cinematic@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_ExpVehFac_Cinematic@@UAEPAXI@Z PROC		; MDB_ExpVehFac_Cinematic::`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@19
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@19:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_ExpVehFac_Cinematic@@UAEPAXI@Z ENDP		; MDB_ExpVehFac_Cinematic::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GMDB_ExpVehFac_Cinematic_Vehicle@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_ExpVehFac_Cinematic_Vehicle@@UAEPAXI@Z PROC	; MDB_ExpVehFac_Cinematic_Vehicle::`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@20
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@20:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_ExpVehFac_Cinematic_Vehicle@@UAEPAXI@Z ENDP	; MDB_ExpVehFac_Cinematic_Vehicle::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GMDB_ExpVehFac_Limit@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_ExpVehFac_Limit@@UAEPAXI@Z PROC			; MDB_ExpVehFac_Limit::`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@21
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@21:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_ExpVehFac_Limit@@UAEPAXI@Z ENDP			; MDB_ExpVehFac_Limit::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0BP@BDLCECN@ExpVehFacClass?3?3ExpVehFacClass?$AA@ ; `string'
PUBLIC	??0ExpVehFacClass@@QAE@I@Z			; ExpVehFacClass::ExpVehFacClass
;	COMDAT ??_C@_0BP@BDLCECN@ExpVehFacClass?3?3ExpVehFacClass?$AA@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0BP@BDLCECN@ExpVehFacClass?3?3ExpVehFacClass?$AA@ DB 'ExpVehFacClas'
	DB	's::ExpVehFacClass', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0ExpVehFacClass@@QAE@I@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0ExpVehFacClass@@QAE@I@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0ExpVehFacClass@@QAE@I@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0ExpVehFacClass@@QAE@I@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0ExpVehFacClass@@QAE@I@Z$3
__ehfuncinfo$??0ExpVehFacClass@@QAE@I@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??0ExpVehFacClass@@QAE@I@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
xdata$x	ENDS
;	COMDAT ??0ExpVehFacClass@@QAE@I@Z
_TEXT	SEGMENT
$T64135 = -28						; size = 4
$T64129 = -24						; size = 4
$T64123 = -20						; size = 4
$T64117 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_team$ = 8						; size = 4
??0ExpVehFacClass@@QAE@I@Z PROC				; ExpVehFacClass::ExpVehFacClass, COMDAT
; _this$ = ecx

; 26   : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$??0ExpVehFacClass@@QAE@I@Z
	push	eax

; 27   : 	Team = team;

	mov	eax, DWORD PTR _team$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H
	push	ebx
	push	esi

; 28   : 	Loaded = false;
; 29   : 	Units = new SimpleDynVecClass<UnitInfo*>(0);

	push	OFFSET ??_C@_0BP@BDLCECN@ExpVehFacClass?3?3ExpVehFacClass?$AA@
	mov	esi, ecx
	push	29					; 0000001dH
	xor	ebx, ebx
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	mov	DWORD PTR [esi+16], eax
	mov	BYTE PTR [esi+107], bl
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	cmp	eax, ebx
	je	SHORT $LN3@ExpVehFacC
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax+8], ebx
	mov	DWORD PTR [eax], OFFSET ??_7?$SimpleDynVecClass@PAUUnitInfo@@@@6B@
	mov	DWORD PTR [eax+12], ebx
	jmp	SHORT $LN4@ExpVehFacC
$LN3@ExpVehFacC:
	xor	eax, eax
$LN4@ExpVehFacC:

; 30   : 	Naval_Creation_Pos_Per_Vehicle = new SimpleDynVecClass<CreationPos*>(0);

	push	OFFSET ??_C@_0BP@BDLCECN@ExpVehFacClass?3?3ExpVehFacClass?$AA@
	push	30					; 0000001eH
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	mov	DWORD PTR __$EHRec$[esp+56], -1
	mov	DWORD PTR [esi], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	cmp	eax, ebx
	je	SHORT $LN7@ExpVehFacC
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax+8], ebx
	mov	DWORD PTR [eax], OFFSET ??_7?$SimpleDynVecClass@PAUCreationPos@@@@6B@
	mov	DWORD PTR [eax+12], ebx
	jmp	SHORT $LN8@ExpVehFacC
$LN7@ExpVehFacC:
	xor	eax, eax
$LN8@ExpVehFacC:

; 31   : 	Naval_Creation_Positions = new SimpleDynVecClass<GameObject*>(0);

	push	OFFSET ??_C@_0BP@BDLCECN@ExpVehFacClass?3?3ExpVehFacClass?$AA@
	push	31					; 0000001fH
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	mov	DWORD PTR __$EHRec$[esp+56], -1
	mov	DWORD PTR [esi+4], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	cmp	eax, ebx
	je	SHORT $LN11@ExpVehFacC
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax+8], ebx
	mov	DWORD PTR [eax], OFFSET ??_7?$SimpleDynVecClass@PAE@@6B@
	mov	DWORD PTR [eax+12], ebx
	jmp	SHORT $LN12@ExpVehFacC
$LN11@ExpVehFacC:
	xor	eax, eax
$LN12@ExpVehFacC:

; 32   : 	Flying_Landing_Positions = new SimpleDynVecClass<GameObject*>(0);

	push	OFFSET ??_C@_0BP@BDLCECN@ExpVehFacClass?3?3ExpVehFacClass?$AA@
	push	32					; 00000020H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	mov	DWORD PTR __$EHRec$[esp+56], -1
	mov	DWORD PTR [esi+72], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	cmp	eax, ebx
	je	SHORT $LN15@ExpVehFacC
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax+8], ebx
	mov	DWORD PTR [eax], OFFSET ??_7?$SimpleDynVecClass@PAE@@6B@
	mov	DWORD PTR [eax+12], ebx
	jmp	SHORT $LN16@ExpVehFacC
$LN15@ExpVehFacC:
	xor	eax, eax
$LN16@ExpVehFacC:

; 33   : 	LastFlyVehID = 0;
; 34   : 	LastFlyVehOwner = 0;
; 35   : 	PHookID = 0;
; 36   : 	OHookID = 0;
; 37   : 	Last_Flying_Landing_Pos = 0;
; 38   : 	Last_Naval_Creation_Pos = 0;
; 39   : 	Remove_on_Death = false;
; 40   : 	Sidebar = false;
; 41   : 	Using_Naval = false;
; 42   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR [esi+76], eax
	mov	DWORD PTR [esi+108], ebx
	mov	DWORD PTR [esi+112], ebx
	mov	DWORD PTR [esi+20], ebx
	mov	DWORD PTR [esi+24], ebx
	mov	DWORD PTR [esi+8], ebx
	mov	DWORD PTR [esi+12], ebx
	mov	BYTE PTR [esi+38], bl
	mov	BYTE PTR [esi+37], bl
	mov	BYTE PTR [esi+36], bl
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0ExpVehFacClass@@QAE@I@Z$0:
	mov	eax, DWORD PTR $T64117[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0ExpVehFacClass@@QAE@I@Z$1:
	mov	eax, DWORD PTR $T64123[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0ExpVehFacClass@@QAE@I@Z$2:
	mov	eax, DWORD PTR $T64129[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0ExpVehFacClass@@QAE@I@Z$3:
	mov	eax, DWORD PTR $T64135[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$??0ExpVehFacClass@@QAE@I@Z:
	mov	eax, OFFSET __ehfuncinfo$??0ExpVehFacClass@@QAE@I@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0ExpVehFacClass@@QAE@I@Z ENDP				; ExpVehFacClass::ExpVehFacClass
PUBLIC	??_C@_0CA@JMKBNNKE@ExpVehFacClass?3?3?$HOExpVehFacClass?$AA@ ; `string'
PUBLIC	??1ExpVehFacClass@@QAE@XZ			; ExpVehFacClass::~ExpVehFacClass
;	COMDAT ??_C@_0CA@JMKBNNKE@ExpVehFacClass?3?3?$HOExpVehFacClass?$AA@
CONST	SEGMENT
??_C@_0CA@JMKBNNKE@ExpVehFacClass?3?3?$HOExpVehFacClass?$AA@ DB 'ExpVehFa'
	DB	'cClass::~ExpVehFacClass', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??1ExpVehFacClass@@QAE@XZ
_TEXT	SEGMENT
??1ExpVehFacClass@@QAE@XZ PROC				; ExpVehFacClass::~ExpVehFacClass, COMDAT
; _this$ = ecx

; 45   : {

	push	esi
	mov	esi, ecx

; 46   : 	if (Loaded)

	cmp	BYTE PTR [esi+107], 0
	je	SHORT $LN1@ExpVehFacC@2

; 47   : 	{
; 48   : 		Clear();

	call	?Clear@ExpVehFacClass@@QAEXXZ		; ExpVehFacClass::Clear
$LN1@ExpVehFacC@2:

; 49   : 	}
; 50   : 	delete Naval_Creation_Pos_Per_Vehicle;

	push	OFFSET ??_C@_0CA@JMKBNNKE@ExpVehFacClass?3?3?$HOExpVehFacClass?$AA@
	push	50					; 00000032H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+4]
	add	esp, 12					; 0000000cH
	test	ecx, ecx
	je	SHORT $LN4@ExpVehFacC@2
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	push	1
	call	edx
$LN4@ExpVehFacC@2:

; 51   : 	delete Naval_Creation_Positions;

	push	OFFSET ??_C@_0CA@JMKBNNKE@ExpVehFacClass?3?3?$HOExpVehFacClass?$AA@
	push	51					; 00000033H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+72]
	add	esp, 12					; 0000000cH
	test	ecx, ecx
	je	SHORT $LN8@ExpVehFacC@2
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	push	1
	call	edx
$LN8@ExpVehFacC@2:

; 52   : 	delete Flying_Landing_Positions;

	push	OFFSET ??_C@_0CA@JMKBNNKE@ExpVehFacClass?3?3?$HOExpVehFacClass?$AA@
	push	52					; 00000034H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+76]
	add	esp, 12					; 0000000cH
	test	ecx, ecx
	pop	esi
	je	SHORT $LN12@ExpVehFacC@2
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	push	1
	call	edx
$LN12@ExpVehFacC@2:

; 53   : }

	ret	0
??1ExpVehFacClass@@QAE@XZ ENDP				; ExpVehFacClass::~ExpVehFacClass
_TEXT	ENDS
PUBLIC	??_C@_0O@CCACHKNM@Support_Limit?$AA@		; `string'
PUBLIC	??_C@_0M@HBFOELM@Naval_Limit?$AA@		; `string'
PUBLIC	??_C@_0N@NKJFEDCM@Flying_Limit?$AA@		; `string'
PUBLIC	??_C@_0N@BHHEMMEG@Ground_Limit?$AA@		; `string'
PUBLIC	??_C@_0O@BCEKLIOD@ExpVehFac?4cfg?$AA@		; `string'
PUBLIC	??_C@_0BB@MJEEGLIK@ExpVehFac_?$CFu?4cfg?$AA@	; `string'
PUBLIC	??_C@_01NEMOKFLO@?$DN?$AA@			; `string'
PUBLIC	??_C@_01ICJEACDI@?$DL?$AA@			; `string'
PUBLIC	??_C@_01GBGANLPD@0?$AA@				; `string'
PUBLIC	??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@	; `string'
PUBLIC	?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z		; ExpVehFacClass::Load
EXTRN	?AddObjectCreateHook@@3P6AHPAUObjectCreateHookStruct@@@ZA:DWORD ; AddObjectCreateHook
EXTRN	?AddVehiclePurchaseHook@@3P6AHP6AHPAVBaseControllerClass@@PAEIIPBD@Z2@ZA:DWORD ; AddVehiclePurchaseHook
EXTRN	?Set_Vehicle_Limit@@3P6AXI@ZA:DWORD		; Set_Vehicle_Limit
EXTRN	?Get_Vehicle_Limit@@3P6AKXZA:DWORD		; Get_Vehicle_Limit
EXTRN	?Find_Refinery@@YAPAEH@Z:PROC			; Find_Refinery
EXTRN	_atoi:PROC
EXTRN	_sprintf:PROC
EXTRN	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z:PROC	; Get_Vehicle_Definition_Mode_By_ID
EXTRN	?Find_Object_By_Preset@@YAPAEHPBD@Z:PROC	; Find_Object_By_Preset
EXTRN	?Get_Definition_ID@@YAKPBD@Z:PROC		; Get_Definition_ID
EXTRN	_strtok:PROC
EXTRN	?cpystr@@YAPADPBDPAD@Z:PROC			; cpystr
EXTRN	__stricmp:PROC
;	COMDAT ??_C@_0O@CCACHKNM@Support_Limit?$AA@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0O@CCACHKNM@Support_Limit?$AA@ DB 'Support_Limit', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@HBFOELM@Naval_Limit?$AA@
CONST	SEGMENT
??_C@_0M@HBFOELM@Naval_Limit?$AA@ DB 'Naval_Limit', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@NKJFEDCM@Flying_Limit?$AA@
CONST	SEGMENT
??_C@_0N@NKJFEDCM@Flying_Limit?$AA@ DB 'Flying_Limit', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@BHHEMMEG@Ground_Limit?$AA@
CONST	SEGMENT
??_C@_0N@BHHEMMEG@Ground_Limit?$AA@ DB 'Ground_Limit', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@BCEKLIOD@ExpVehFac?4cfg?$AA@
CONST	SEGMENT
??_C@_0O@BCEKLIOD@ExpVehFac?4cfg?$AA@ DB 'ExpVehFac.cfg', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@MJEEGLIK@ExpVehFac_?$CFu?4cfg?$AA@
CONST	SEGMENT
??_C@_0BB@MJEEGLIK@ExpVehFac_?$CFu?4cfg?$AA@ DB 'ExpVehFac_%u.cfg', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_01NEMOKFLO@?$DN?$AA@
CONST	SEGMENT
??_C@_01NEMOKFLO@?$DN?$AA@ DB '=', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_01ICJEACDI@?$DL?$AA@
CONST	SEGMENT
??_C@_01ICJEACDI@?$DL?$AA@ DB ';', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_01GBGANLPD@0?$AA@
CONST	SEGMENT
??_C@_01GBGANLPD@0?$AA@ DB '0', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
CONST	SEGMENT
??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@ DB 'ExpVehFacClass::Load', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z$6
__ehfuncinfo$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
xdata$x	ENDS
;	COMDAT ?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z
_TEXT	SEGMENT
$T64225 = -216						; size = 4
_this$ = -212						; size = 4
tv4016 = -208						; size = 4
tv3424 = -208						; size = 4
_Temp2$57350 = -208					; size = 4
_j$57263 = -208						; size = 4
tv3131 = -204						; size = 4
_j$57359 = -204						; size = 4
_j$57330 = -204						; size = 4
_j$57290 = -204						; size = 4
tv1457 = -200						; size = 4
tv1379 = -200						; size = 4
_Temp$57335 = -200					; size = 4
tv195 = -200						; size = 4
_Temp2$57281 = -200					; size = 4
_Temp$57268 = -200					; size = 4
tv4014 = -196						; size = 4
tv3706 = -196						; size = 4
tv3422 = -196						; size = 4
tv1329 = -196						; size = 4
_Support$ = -192					; size = 16
_NavalIDs$57318 = -176					; size = 16
_File$ = -160						; size = 20
_Data$57400 = -140					; size = 128
__$EHRec$ = -12						; size = 12
_NavalVehicles$ = 8					; size = 4
_NavalCreationPresets$ = 12				; size = 4
_script$ = 16						; size = 4
_SupportVehicles$ = 20					; size = 4
?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z PROC		; ExpVehFacClass::Load, COMDAT
; _this$ = ecx

; 598  : {

	push	-1
	push	__ehhandler$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 204				; 000000ccH
	push	ebx
	push	ebp
	mov	ebp, ecx

; 599  : 	if (Units)

	xor	ebx, ebx
	cmp	DWORD PTR [ebp], ebx
	push	esi
	push	edi
	mov	DWORD PTR _this$[esp+232], ebp
	je	SHORT $LN432@Load

; 600  : 	{
; 601  : 		delete Units;

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	601					; 00000259H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [ebp]
	add	esp, 12					; 0000000cH
	cmp	ecx, ebx
	je	SHORT $LN432@Load
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	push	1
	call	edx
$LN432@Load:

; 602  : 	}
; 603  : 	Units = new SimpleDynVecClass<UnitInfo*>(0);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	603					; 0000025bH
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	cmp	eax, ebx
	je	SHORT $LN102@Load
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax+8], ebx
	mov	DWORD PTR [eax], OFFSET ??_7?$SimpleDynVecClass@PAUUnitInfo@@@@6B@
	mov	DWORD PTR [eax+12], ebx
	jmp	SHORT $LN103@Load
$LN102@Load:
	xor	eax, eax
$LN103@Load:
	mov	DWORD PTR [ebp], eax

; 604  : 	Ground_Limit = 0;

	mov	DWORD PTR [ebp+40], ebx

; 605  : 	Flying_Limit = 0;

	mov	DWORD PTR [ebp+44], ebx

; 606  : 	Naval_Limit = 0;

	mov	DWORD PTR [ebp+48], ebx

; 607  : 	Support_Limit = 0;

	mov	DWORD PTR [ebp+52], ebx

; 608  : 	Ground_Amount = 0;

	mov	DWORD PTR [ebp+56], ebx

; 609  : 	Flying_Amount = 0;

	mov	DWORD PTR [ebp+60], ebx

; 610  : 	Naval_Amount = 0;

	mov	DWORD PTR [ebp+64], ebx

; 611  : 	Support_Amount = 0;

	mov	DWORD PTR [ebp+68], ebx

; 612  : 	Is_Ground_Building = false;

	mov	BYTE PTR [ebp+104], 0

; 613  : 	Is_Flying_Building = false;

	mov	BYTE PTR [ebp+105], 0

; 614  : 	Is_Naval_Building = false;

	mov	BYTE PTR [ebp+106], 0

; 615  : 	SimpleDynVecClass<unsigned int> Support(0);

	mov	DWORD PTR _Support$[esp+236], ebx
	mov	DWORD PTR _Support$[esp+240], ebx
	mov	DWORD PTR _Support$[esp+232], OFFSET ??_7?$SimpleDynVecClass@I@@6B@
	mov	DWORD PTR _Support$[esp+244], ebx

; 616  : 	if (_stricmp(SupportVehicles,"0"))

	mov	esi, DWORD PTR _SupportVehicles$[esp+228]
	push	OFFSET ??_C@_01GBGANLPD@0?$AA@
	push	esi
	mov	DWORD PTR __$EHRec$[esp+248], 1
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN109@Load

; 617  : 	{
; 618  : 		char *STokens = newstr(SupportVehicles);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	618					; 0000026aH
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, esi
	add	esp, 12					; 0000000cH
	lea	edx, DWORD PTR [eax+1]
$LL428@Load:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL428@Load
	sub	eax, edx
	add	eax, 1
	push	eax
	call	??_U@YAPAXI@Z				; operator new[]
	push	eax
	push	esi
	call	?cpystr@@YAPADPBDPAD@Z			; cpystr
	mov	edi, eax

; 619  : 		char *STok = strtok(STokens,";");

	push	OFFSET ??_C@_01ICJEACDI@?$DL?$AA@
	push	edi
	call	_strtok
	add	esp, 20					; 00000014H

; 620  : 		while (STok)

	cmp	eax, ebx
	je	SHORT $LN92@Load
$LL93@Load:

; 621  : 		{
; 622  : 			unsigned int ID = Get_Definition_ID(STok);

	push	eax
	call	?Get_Definition_ID@@YAKPBD@Z		; Get_Definition_ID

; 623  : 			Support.Add(ID);

	mov	ecx, DWORD PTR _Support$[esp+244]
	mov	esi, eax
	add	esp, 4
	xor	eax, eax
	cmp	ecx, ebx
	jle	SHORT $LN178@Load
	mov	edx, DWORD PTR _Support$[esp+236]
	npad	1
$LL180@Load:
	cmp	DWORD PTR [edx+eax*4], ebx
	je	$LN371@Load
	add	eax, 1
	cmp	eax, ecx
	jl	SHORT $LL180@Load
$LN178@Load:
	mov	eax, DWORD PTR _Support$[esp+232]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	lea	ecx, DWORD PTR _Support$[esp+236]
	call	edx
	mov	eax, DWORD PTR _Support$[esp+240]
	mov	ecx, DWORD PTR _Support$[esp+236]
	mov	DWORD PTR [ecx+eax*4-4], esi
	add	DWORD PTR _Support$[esp+244], 1
$LN181@Load:

; 624  : 			STok = strtok(0,";");

	push	OFFSET ??_C@_01ICJEACDI@?$DL?$AA@
	push	ebx
	call	_strtok
	add	esp, 8
	cmp	eax, ebx
	jne	SHORT $LL93@Load
$LN92@Load:

; 625  : 		}
; 626  : 		delete[] STokens;

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	626					; 00000272H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	edi
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN109@Load:

; 627  : 	}
; 628  : 	if (NavalCreationPresets)

	mov	esi, DWORD PTR _NavalCreationPresets$[esp+228]
	cmp	esi, ebx
	je	$LN115@Load

; 629  : 	{
; 630  : 		char *Tokenz = newstr(NavalCreationPresets);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	630					; 00000276H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, esi
	add	esp, 12					; 0000000cH
	lea	edx, DWORD PTR [eax+1]
	npad	4
$LL429@Load:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL429@Load
	sub	eax, edx
	add	eax, 1
	push	eax
	call	??_U@YAPAXI@Z				; operator new[]
	push	eax
	push	esi
	call	?cpystr@@YAPADPBDPAD@Z			; cpystr
	add	esp, 12					; 0000000cH
	mov	ebx, eax

; 631  : 		int size = strlen(Tokenz);

	lea	edx, DWORD PTR [eax+1]
$LL430@Load:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL430@Load
	sub	eax, edx

; 632  : 		for (int i = 0; i < size; i++)

	xor	ecx, ecx
	test	eax, eax
	jle	SHORT $LN88@Load
$LL90@Load:

; 633  : 		{
; 634  : 			if (Tokenz[i] == ';')

	cmp	BYTE PTR [ecx+ebx], 59			; 0000003bH
	jne	SHORT $LN89@Load

; 635  : 			{
; 636  : 				Tokenz[i] = '=';

	mov	BYTE PTR [ecx+ebx], 61			; 0000003dH
$LN89@Load:

; 632  : 		for (int i = 0; i < size; i++)

	add	ecx, 1
	cmp	ecx, eax
	jl	SHORT $LL90@Load
$LN88@Load:

; 637  : 			}
; 638  : 		}
; 639  : 		char *p = strtok(Tokenz,"=");

	push	OFFSET ??_C@_01NEMOKFLO@?$DN?$AA@
	push	ebx
	call	_strtok
	mov	esi, eax
	add	esp, 8

; 640  : 		while (p)

	test	esi, esi
	je	$LN85@Load
	npad	3
$LL86@Load:

; 641  : 		{
; 642  : 			CreationPos *Temp = new CreationPos;

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	642					; 00000282H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new

; 643  : 			Temp->Preset = Get_Definition_ID(p);

	push	esi
	mov	edi, eax
	call	?Get_Definition_ID@@YAKPBD@Z		; Get_Definition_ID

; 644  : 			char *create = strtok(0,"=");

	push	OFFSET ??_C@_01NEMOKFLO@?$DN?$AA@
	push	0
	mov	DWORD PTR [edi], eax
	call	_strtok

; 645  : 			Temp->Pos = Find_Object_By_Preset(2,create);

	push	eax
	push	2
	call	?Find_Object_By_Preset@@YAPAEHPBD@Z	; Find_Object_By_Preset
	mov	DWORD PTR [edi+4], eax

; 646  : 			Naval_Creation_Pos_Per_Vehicle->Add(Temp);

	mov	esi, DWORD PTR [ebp+4]
	mov	ecx, DWORD PTR [esi+8]
	add	esp, 36					; 00000024H
	xor	eax, eax
	test	ecx, ecx
	jle	SHORT $LN184@Load
	mov	ebp, DWORD PTR [esi+4]
	mov	edx, ebp
$LL186@Load:
	cmp	DWORD PTR [edx], 0
	je	$LN372@Load
	add	eax, 1
	add	edx, 4
	cmp	eax, ecx
	jl	SHORT $LL186@Load

; 844  : 							{
; 845  : 								Temp2->VehType = VEHTYPE_FLYING;
; 846  : 							}
; 847  : 							else
; 848  : 							{
; 849  : 								Temp2->VehType = VEHTYPE_GROUND;
; 850  : 							}
; 851  : 							Units->Add(Temp2);

	mov	ebp, DWORD PTR _this$[esp+232]

; 646  : 			Naval_Creation_Pos_Per_Vehicle->Add(Temp);

$LN184@Load:
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [esi+8]
	mov	edx, DWORD PTR [esi+4]
	mov	DWORD PTR [edx+ecx*4-4], edi
	add	DWORD PTR [esi+12], 1
$LN187@Load:

; 647  : 			p = strtok(0,"=");

	push	OFFSET ??_C@_01NEMOKFLO@?$DN?$AA@
	push	0
	call	_strtok
	mov	esi, eax
	add	esp, 8
	test	esi, esi
	jne	$LL86@Load
$LN85@Load:

; 648  : 		}
; 649  : 		delete[] Tokenz;

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	649					; 00000289H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	ebx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	xor	ebx, ebx
$LN115@Load:

; 650  : 	}
; 651  : 	if (!NavalVehicles)

	mov	esi, DWORD PTR _NavalVehicles$[esp+228]
	cmp	esi, ebx
	jne	$LN84@Load

; 652  : 	{
; 653  : 		PurchaseSettingsDefClass *p = Get_Purchase_Definition(VEHICLES,PTTEAM(Team));

	xor	eax, eax
	cmp	DWORD PTR [ebp+16], ebx
	sete	al
	push	eax
	push	1
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 654  : 		if (p)

	cmp	eax, ebx
	je	$LN80@Load

; 655  : 		{
; 656  : 			unsigned int j;
; 657  : 			for (j = 0; j < 10; j++)

	xor	ebx, ebx
	lea	ecx, DWORD PTR [eax+196]
	mov	DWORD PTR _j$57263[esp+232], ebx
	mov	DWORD PTR tv3131[esp+232], ecx
	lea	edi, DWORD PTR [eax+76]
$LL82@Load:

; 658  : 			{
; 659  : 				if (p->presetids[j])

	cmp	DWORD PTR [edi], 0
	je	$LN81@Load

; 660  : 				{
; 661  : 					UnitInfo *Temp = new UnitInfo(VEHICLES,j,p->presetids[j],p->costs[j],p->stringids[j],false);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	661					; 00000295H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN116@Load
	mov	esi, DWORD PTR [edi]
	mov	ecx, DWORD PTR [edi+40]
	mov	edx, DWORD PTR [edi-40]
	mov	DWORD PTR [eax+8], esi
	mov	DWORD PTR [eax], 1
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax+12], edx
	mov	DWORD PTR [eax+16], ecx
	mov	BYTE PTR [eax+28], 0
	mov	BYTE PTR [eax+29], 0
	mov	DWORD PTR [eax+24], 0
	mov	esi, eax
	jmp	SHORT $LN117@Load
$LN371@Load:

; 623  : 			Support.Add(ID);

	mov	DWORD PTR [edx+eax*4], esi
	jmp	$LN181@Load
$LN372@Load:

; 646  : 			Naval_Creation_Pos_Per_Vehicle->Add(Temp);

	mov	DWORD PTR [ebp+eax*4], edi
	mov	ebp, DWORD PTR _this$[esp+232]
	jmp	$LN187@Load
$LN116@Load:

; 660  : 				{
; 661  : 					UnitInfo *Temp = new UnitInfo(VEHICLES,j,p->presetids[j],p->costs[j],p->stringids[j],false);

	xor	esi, esi
$LN117@Load:

; 662  : 					if (Is_In_Vector(Support,p->presetids[j]))

	mov	ecx, DWORD PTR _Support$[esp+244]
	xor	eax, eax
	test	ecx, ecx
	mov	DWORD PTR _Temp$57268[esp+232], esi
	jle	SHORT $LN78@Load
	mov	edx, DWORD PTR [edi]
	mov	ebp, DWORD PTR _Support$[esp+236]
	npad	6
$LL194@Load:
	cmp	DWORD PTR [ebp+eax*4], edx
	je	SHORT $LN418@Load
	add	eax, 1
	cmp	eax, ecx
	jl	SHORT $LL194@Load

; 844  : 							{
; 845  : 								Temp2->VehType = VEHTYPE_FLYING;
; 846  : 							}
; 847  : 							else
; 848  : 							{
; 849  : 								Temp2->VehType = VEHTYPE_GROUND;
; 850  : 							}
; 851  : 							Units->Add(Temp2);

	jmp	SHORT $LN78@Load
$LN418@Load:

; 663  : 					{
; 664  : 						Temp->Support = true;

	mov	BYTE PTR [esi+29], 1
$LN78@Load:

; 665  : 					}
; 666  : 					if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[j]) == FLYING)

	mov	edx, DWORD PTR [edi]
	push	edx
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID

; 667  : 					{
; 668  : 						Temp->VehType = VEHTYPE_FLYING;
; 669  : 					}
; 670  : 					else
; 671  : 					{
; 672  : 						Temp->VehType = VEHTYPE_GROUND;
; 673  : 					}
; 674  : 					Units->Add(Temp);

	mov	ecx, DWORD PTR _this$[esp+236]
	sub	eax, 3
	add	esp, 4
	neg	eax
	sbb	eax, eax
	add	eax, 2
	mov	DWORD PTR [esi+20], eax
	mov	ecx, DWORD PTR [ecx]
	lea	eax, DWORD PTR _Temp$57268[esp+232]
	push	eax
	call	?Add@?$SimpleDynVecClass@PAUUnitInfo@@@@QAEHAAPAUUnitInfo@@@Z ; SimpleDynVecClass<UnitInfo *>::Add
	mov	ebp, DWORD PTR tv3131[esp+232]
	mov	DWORD PTR tv1329[esp+232], 3
	npad	9
$LL75@Load:

; 675  : 					unsigned int k;
; 676  : 					for (k = 0;k < 3;k++)
; 677  : 					{
; 678  : 						if (p->altpresetids[j][k])

	cmp	DWORD PTR [ebp], 0
	je	$LN74@Load

; 679  : 						{
; 680  : 							UnitInfo *Temp2 = new UnitInfo(VEHICLES,j,p->altpresetids[j][k],p->costs[j],p->stringids[j],true);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	680					; 000002a8H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN120@Load
	mov	esi, DWORD PTR [ebp]
	mov	ecx, DWORD PTR [edi+40]
	mov	edx, DWORD PTR [edi-40]
	mov	DWORD PTR [eax+8], esi
	mov	DWORD PTR [eax], 1
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax+12], edx
	mov	DWORD PTR [eax+16], ecx
	mov	BYTE PTR [eax+28], 1
	mov	BYTE PTR [eax+29], 0
	mov	DWORD PTR [eax+24], 0
	mov	esi, eax
	jmp	SHORT $LN121@Load
$LN120@Load:
	xor	esi, esi
$LN121@Load:

; 681  : 							if (Is_In_Vector(Support,p->altpresetids[j][k]))

	mov	ecx, DWORD PTR _Support$[esp+244]
	xor	eax, eax
	test	ecx, ecx
	mov	DWORD PTR _Temp2$57281[esp+232], esi
	jle	SHORT $LN71@Load
	mov	edx, DWORD PTR [ebp]
	mov	ebx, DWORD PTR _Support$[esp+236]
$LL206@Load:
	cmp	DWORD PTR [ebx+eax*4], edx
	je	SHORT $LN419@Load
	add	eax, 1
	cmp	eax, ecx
	jl	SHORT $LL206@Load

; 844  : 							{
; 845  : 								Temp2->VehType = VEHTYPE_FLYING;
; 846  : 							}
; 847  : 							else
; 848  : 							{
; 849  : 								Temp2->VehType = VEHTYPE_GROUND;
; 850  : 							}
; 851  : 							Units->Add(Temp2);

	jmp	SHORT $LN71@Load
$LN419@Load:

; 682  : 							{
; 683  : 								Temp2->Support = true;

	mov	BYTE PTR [esi+29], 1
$LN71@Load:

; 684  : 							}
; 685  : 							if (Get_Vehicle_Definition_Mode_By_ID(p->altpresetids[j][k]) == FLYING)

	mov	edx, DWORD PTR [ebp]
	push	edx
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID

; 686  : 							{
; 687  : 								Temp2->VehType = VEHTYPE_FLYING;
; 688  : 							}
; 689  : 							else
; 690  : 							{
; 691  : 								Temp2->VehType = VEHTYPE_GROUND;
; 692  : 							}
; 693  : 							Units->Add(Temp2);

	mov	ecx, DWORD PTR _this$[esp+236]
	sub	eax, 3
	add	esp, 4
	neg	eax
	sbb	eax, eax
	add	eax, 2
	mov	DWORD PTR [esi+20], eax
	mov	ecx, DWORD PTR [ecx]
	lea	eax, DWORD PTR _Temp2$57281[esp+232]
	push	eax
	call	?Add@?$SimpleDynVecClass@PAUUnitInfo@@@@QAEHAAPAUUnitInfo@@@Z ; SimpleDynVecClass<UnitInfo *>::Add
	mov	ebx, DWORD PTR _j$57263[esp+232]
$LN74@Load:
	add	ebp, 4
	sub	DWORD PTR tv1329[esp+232], 1
	jne	$LL75@Load
$LN81@Load:

; 655  : 		{
; 656  : 			unsigned int j;
; 657  : 			for (j = 0; j < 10; j++)

	add	DWORD PTR tv3131[esp+232], 12		; 0000000cH
	add	ebx, 1
	add	edi, 4
	cmp	ebx, 10					; 0000000aH
	mov	DWORD PTR _j$57263[esp+232], ebx
	jb	$LL82@Load
$LN80@Load:

; 694  : 						}
; 695  : 					}
; 696  : 				}
; 697  : 			}
; 698  : 		}
; 699  : 		p = Get_Purchase_Definition(SECRETVEHICLES,PTTEAM(Team));

	mov	eax, DWORD PTR _this$[esp+232]
	xor	edx, edx
	cmp	DWORD PTR [eax+16], edx
	sete	dl
	push	edx
	push	4
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 700  : 		if (p)

	test	eax, eax
	je	$LN53@Load

; 701  : 		{
; 702  : 			for (int j = 0; j < 10; j++)

	lea	ecx, DWORD PTR [eax+196]
	add	eax, 76					; 0000004cH
	mov	DWORD PTR _j$57290[esp+232], 0
	mov	DWORD PTR tv3422[esp+232], ecx
	mov	DWORD PTR tv3424[esp+232], eax
	npad	2
$LL67@Load:

; 703  : 			{
; 704  : 				if (p->presetids[j])

	mov	edx, DWORD PTR tv3424[esp+232]
	cmp	DWORD PTR [edx], 0
	je	$LN66@Load

; 705  : 				{
; 706  : 					UnitInfo *Temp = new UnitInfo(SECRETVEHICLES,j,p->presetids[j],p->costs[j],p->stringids[j],false);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	706					; 000002c2H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	ebx, DWORD PTR tv3424[esp+248]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN124@Load
	mov	ecx, DWORD PTR [ebx+40]
	mov	edx, DWORD PTR [ebx-40]
	mov	esi, DWORD PTR [ebx]
	mov	edi, DWORD PTR _j$57290[esp+232]
	mov	DWORD PTR [eax+4], edi
	mov	DWORD PTR [eax], 4
	mov	DWORD PTR [eax+8], esi
	mov	DWORD PTR [eax+12], edx
	mov	DWORD PTR [eax+16], ecx
	mov	BYTE PTR [eax+28], 0
	mov	BYTE PTR [eax+29], 0
	mov	DWORD PTR [eax+24], 0
	mov	edi, eax
	jmp	SHORT $LN125@Load
$LN124@Load:
	xor	edi, edi
$LN125@Load:

; 707  : 					if (Is_In_Vector(Support,p->presetids[j]))

	mov	edx, DWORD PTR _Support$[esp+244]
	xor	eax, eax
	test	edx, edx
	jle	SHORT $LN434@Load
	mov	ecx, DWORD PTR [ebx]
	mov	esi, DWORD PTR _Support$[esp+236]
$LL218@Load:
	cmp	DWORD PTR [esi+eax*4], ecx
	je	SHORT $LN420@Load
	add	eax, 1
	cmp	eax, edx
	jl	SHORT $LL218@Load

; 844  : 							{
; 845  : 								Temp2->VehType = VEHTYPE_FLYING;
; 846  : 							}
; 847  : 							else
; 848  : 							{
; 849  : 								Temp2->VehType = VEHTYPE_GROUND;
; 850  : 							}
; 851  : 							Units->Add(Temp2);

	jmp	SHORT $LN434@Load
$LN420@Load:

; 708  : 					{
; 709  : 						Temp->Support = true;

	mov	BYTE PTR [edi+29], 1
$LN434@Load:

; 710  : 					}
; 711  : 					if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[j]) == FLYING)

	mov	eax, DWORD PTR [ebx]
	push	eax
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID

; 712  : 					{
; 713  : 						Temp->VehType = VEHTYPE_FLYING;
; 714  : 					}
; 715  : 					else
; 716  : 					{
; 717  : 						Temp->VehType = VEHTYPE_GROUND;
; 718  : 					}
; 719  : 					Units->Add(Temp);

	mov	ecx, DWORD PTR _this$[esp+236]
	sub	eax, 3
	add	esp, 4
	neg	eax
	sbb	eax, eax
	add	eax, 2
	mov	DWORD PTR [edi+20], eax
	mov	esi, DWORD PTR [ecx]
	mov	edx, DWORD PTR [esi+8]
	xor	eax, eax
	test	edx, edx
	jle	SHORT $LN436@Load
	mov	ebx, DWORD PTR [esi+4]
	mov	ecx, ebx
$LL228@Load:
	cmp	DWORD PTR [ecx], 0
	je	$LN376@Load
	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jl	SHORT $LL228@Load
$LN436@Load:
	mov	eax, DWORD PTR [esi]
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], edi
	add	DWORD PTR [esi+12], 1
$LN229@Load:

; 720  : 					unsigned int k;
; 721  : 					for (k = 0;k < 3;k++)

	mov	ebp, DWORD PTR tv3422[esp+232]
	mov	DWORD PTR tv1379[esp+232], 3
	npad	2
$LL60@Load:

; 722  : 					{
; 723  : 						if (p->altpresetids[j][k])

	cmp	DWORD PTR [ebp], 0
	je	$LN59@Load

; 724  : 						{
; 725  : 							UnitInfo *Temp2 = new UnitInfo(VEHICLES,j,p->altpresetids[j][k],p->costs[j],p->stringids[j],true);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	725					; 000002d5H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN128@Load
	mov	esi, DWORD PTR [ebp]
	mov	edx, DWORD PTR tv3424[esp+232]
	mov	ecx, DWORD PTR [edx+40]
	mov	edx, DWORD PTR [edx-40]
	mov	edi, DWORD PTR _j$57290[esp+232]
	mov	DWORD PTR [eax+4], edi
	mov	DWORD PTR [eax], 1
	mov	DWORD PTR [eax+8], esi
	mov	DWORD PTR [eax+12], edx
	mov	DWORD PTR [eax+16], ecx
	mov	BYTE PTR [eax+28], 1
	mov	BYTE PTR [eax+29], 0
	mov	DWORD PTR [eax+24], 0
	mov	edi, eax
	jmp	SHORT $LN129@Load
$LN376@Load:

; 712  : 					{
; 713  : 						Temp->VehType = VEHTYPE_FLYING;
; 714  : 					}
; 715  : 					else
; 716  : 					{
; 717  : 						Temp->VehType = VEHTYPE_GROUND;
; 718  : 					}
; 719  : 					Units->Add(Temp);

	mov	DWORD PTR [ebx+eax*4], edi
	jmp	SHORT $LN229@Load
$LN128@Load:

; 724  : 						{
; 725  : 							UnitInfo *Temp2 = new UnitInfo(VEHICLES,j,p->altpresetids[j][k],p->costs[j],p->stringids[j],true);

	xor	edi, edi
$LN129@Load:

; 726  : 							if (Is_In_Vector(Support,p->altpresetids[j][k]))

	mov	edx, DWORD PTR _Support$[esp+244]
	xor	eax, eax
	test	edx, edx
	jle	SHORT $LN56@Load
	mov	ecx, DWORD PTR [ebp]
	mov	esi, DWORD PTR _Support$[esp+236]
	npad	6
$LL236@Load:
	cmp	DWORD PTR [esi+eax*4], ecx
	je	SHORT $LN421@Load
	add	eax, 1
	cmp	eax, edx
	jl	SHORT $LL236@Load

; 844  : 							{
; 845  : 								Temp2->VehType = VEHTYPE_FLYING;
; 846  : 							}
; 847  : 							else
; 848  : 							{
; 849  : 								Temp2->VehType = VEHTYPE_GROUND;
; 850  : 							}
; 851  : 							Units->Add(Temp2);

	jmp	SHORT $LN56@Load
$LN421@Load:

; 727  : 							{
; 728  : 								Temp2->Support = true;

	mov	BYTE PTR [edi+29], 1
$LN56@Load:

; 729  : 							}
; 730  : 							if (Get_Vehicle_Definition_Mode_By_ID(p->altpresetids[j][k]) == FLYING)

	mov	edx, DWORD PTR [ebp]
	push	edx
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID
	sub	eax, 3
	add	esp, 4
	neg	eax
	sbb	eax, eax
	add	eax, 2
	mov	DWORD PTR [edi+20], eax

; 731  : 							{
; 732  : 								Temp2->VehType = VEHTYPE_FLYING;
; 733  : 							}
; 734  : 							else
; 735  : 							{
; 736  : 								Temp2->VehType = VEHTYPE_GROUND;
; 737  : 							}
; 738  : 							Units->Add(Temp2);

	mov	eax, DWORD PTR _this$[esp+232]
	mov	esi, DWORD PTR [eax]
	mov	edx, DWORD PTR [esi+8]
	xor	eax, eax
	test	edx, edx
	jle	SHORT $LN244@Load
	mov	ebx, DWORD PTR [esi+4]
	mov	ecx, ebx
	npad	1
$LL246@Load:
	cmp	DWORD PTR [ecx], 0
	je	SHORT $LN378@Load
	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jl	SHORT $LL246@Load
$LN244@Load:
	mov	eax, DWORD PTR [esi]
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], edi
	add	DWORD PTR [esi+12], 1
$LN59@Load:
	add	ebp, 4
	sub	DWORD PTR tv1379[esp+232], 1
	jne	$LL60@Load
$LN66@Load:

; 701  : 		{
; 702  : 			for (int j = 0; j < 10; j++)

	mov	eax, DWORD PTR _j$57290[esp+232]
	add	DWORD PTR tv3424[esp+232], 4
	add	DWORD PTR tv3422[esp+232], 12		; 0000000cH
	add	eax, 1
	cmp	eax, 10					; 0000000aH
	mov	DWORD PTR _j$57290[esp+232], eax
	jl	$LL67@Load

; 739  : 						}
; 740  : 					}
; 741  : 				}
; 742  : 			}
; 743  : 		}
; 744  : 	}
; 745  : 	else

	jmp	$LN53@Load
$LN378@Load:

; 731  : 							{
; 732  : 								Temp2->VehType = VEHTYPE_FLYING;
; 733  : 							}
; 734  : 							else
; 735  : 							{
; 736  : 								Temp2->VehType = VEHTYPE_GROUND;
; 737  : 							}
; 738  : 							Units->Add(Temp2);

	mov	DWORD PTR [ebx+eax*4], edi
	jmp	SHORT $LN59@Load
$LN84@Load:

; 746  : 	{
; 747  : 		Using_Naval = true;

	mov	BYTE PTR [ebp+36], 1

; 748  : 		SimpleDynVecClass<unsigned int> NavalIDs(0);

	mov	DWORD PTR _NavalIDs$57318[esp+236], ebx
	mov	DWORD PTR _NavalIDs$57318[esp+240], ebx
	mov	DWORD PTR _NavalIDs$57318[esp+232], OFFSET ??_7?$SimpleDynVecClass@I@@6B@
	mov	DWORD PTR _NavalIDs$57318[esp+244], ebx

; 749  : 		char *Tokens = newstr(NavalVehicles);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	749					; 000002edH
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	mov	BYTE PTR __$EHRec$[esp+252], 2
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, esi
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR [eax+1]
	npad	4
$LL431@Load:
	mov	dl, BYTE PTR [eax]
	add	eax, 1
	test	dl, dl
	jne	SHORT $LL431@Load
	sub	eax, ecx
	add	eax, 1
	push	eax
	call	??_U@YAPAXI@Z				; operator new[]
	push	eax
	push	esi
	call	?cpystr@@YAPADPBDPAD@Z			; cpystr
	mov	edi, eax

; 750  : 		char *Tok = strtok(Tokens,";");

	push	OFFSET ??_C@_01ICJEACDI@?$DL?$AA@
	push	edi
	call	_strtok
	add	esp, 20					; 00000014H

; 751  : 		while (Tok)

	cmp	eax, ebx
	je	SHORT $LN51@Load
	npad	1
$LL52@Load:

; 752  : 		{
; 753  : 			unsigned int ID = Get_Definition_ID(Tok);

	push	eax
	call	?Get_Definition_ID@@YAKPBD@Z		; Get_Definition_ID

; 754  : 			NavalIDs.Add(ID);

	mov	ecx, DWORD PTR _NavalIDs$57318[esp+244]
	mov	esi, eax
	add	esp, 4
	xor	eax, eax
	cmp	ecx, ebx
	jle	SHORT $LN256@Load
	mov	edx, DWORD PTR _NavalIDs$57318[esp+236]
	npad	7
$LL258@Load:
	cmp	DWORD PTR [edx+eax*4], ebx
	je	$LN379@Load
	add	eax, 1
	cmp	eax, ecx
	jl	SHORT $LL258@Load
$LN256@Load:
	mov	edx, DWORD PTR _NavalIDs$57318[esp+232]
	mov	eax, DWORD PTR [edx+8]
	add	ecx, 1
	push	ecx
	lea	ecx, DWORD PTR _NavalIDs$57318[esp+236]
	call	eax
	mov	ecx, DWORD PTR _NavalIDs$57318[esp+240]
	mov	edx, DWORD PTR _NavalIDs$57318[esp+236]
	mov	DWORD PTR [edx+ecx*4-4], esi
	add	DWORD PTR _NavalIDs$57318[esp+244], 1
$LN259@Load:

; 755  : 			Tok = strtok(0,";");

	push	OFFSET ??_C@_01ICJEACDI@?$DL?$AA@
	push	ebx
	call	_strtok
	add	esp, 8
	cmp	eax, ebx
	jne	SHORT $LL52@Load
$LN51@Load:

; 756  : 		}
; 757  : 		delete[] Tokens;

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	757					; 000002f5H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	edi
	call	??_V@YAXPAX@Z				; operator delete[]

; 758  : 		PurchaseSettingsDefClass *p = Get_Purchase_Definition(VEHICLES,PTTEAM(Team));

	xor	eax, eax
	cmp	DWORD PTR [ebp+16], ebx
	sete	al
	push	eax
	push	1
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 24					; 00000018H

; 759  : 		if (p)

	cmp	eax, ebx
	je	$LN435@Load

; 760  : 		{
; 761  : 			unsigned int j = 0;
; 762  : 			for (j = 0; j < 10; j++)

	xor	ebx, ebx
	lea	ecx, DWORD PTR [eax+196]
	mov	DWORD PTR _j$57330[esp+232], ebx
	mov	DWORD PTR tv3706[esp+232], ecx
	lea	ebp, DWORD PTR [eax+76]
	npad	4
$LL49@Load:

; 763  : 			{
; 764  : 				if (p->presetids[j])

	cmp	DWORD PTR [ebp], 0
	je	$LN48@Load

; 765  : 				{
; 766  : 					UnitInfo *Temp = new UnitInfo(VEHICLES,j,p->presetids[j],p->costs[j],p->stringids[j],false);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	766					; 000002feH
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN136@Load
	mov	esi, DWORD PTR [ebp]
	mov	ecx, DWORD PTR [ebp+40]
	mov	edx, DWORD PTR [ebp-40]
	mov	DWORD PTR [eax+8], esi
	mov	DWORD PTR [eax], 1
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax+12], edx
	mov	DWORD PTR [eax+16], ecx
	mov	BYTE PTR [eax+28], 0
	mov	BYTE PTR [eax+29], 0
	mov	DWORD PTR [eax+24], 0
	mov	esi, eax
	jmp	SHORT $LN137@Load
$LN379@Load:

; 754  : 			NavalIDs.Add(ID);

	mov	DWORD PTR [edx+eax*4], esi
	jmp	$LN259@Load
$LN136@Load:

; 765  : 				{
; 766  : 					UnitInfo *Temp = new UnitInfo(VEHICLES,j,p->presetids[j],p->costs[j],p->stringids[j],false);

	xor	esi, esi
$LN137@Load:

; 767  : 					if (Is_In_Vector(Support,p->presetids[j]))

	mov	ecx, DWORD PTR _Support$[esp+244]
	xor	eax, eax
	test	ecx, ecx
	mov	DWORD PTR _Temp$57335[esp+232], esi
	jle	SHORT $LN45@Load
	mov	edx, DWORD PTR [ebp]
	mov	edi, DWORD PTR _Support$[esp+236]
	npad	7
$LL266@Load:
	cmp	DWORD PTR [edi+eax*4], edx
	je	SHORT $LN422@Load
	add	eax, 1
	cmp	eax, ecx
	jl	SHORT $LL266@Load

; 844  : 							{
; 845  : 								Temp2->VehType = VEHTYPE_FLYING;
; 846  : 							}
; 847  : 							else
; 848  : 							{
; 849  : 								Temp2->VehType = VEHTYPE_GROUND;
; 850  : 							}
; 851  : 							Units->Add(Temp2);

	jmp	SHORT $LN45@Load
$LN422@Load:

; 768  : 					{
; 769  : 						Temp->Support = true;

	mov	BYTE PTR [esi+29], 1
$LN45@Load:

; 770  : 					}
; 771  : 					if (Is_In_Vector(NavalIDs,p->presetids[j]))

	mov	edx, DWORD PTR _NavalIDs$57318[esp+244]
	xor	eax, eax
	test	edx, edx
	jle	SHORT $LN44@Load
	mov	ecx, DWORD PTR [ebp]
	mov	edi, DWORD PTR _NavalIDs$57318[esp+236]
$LL276@Load:
	cmp	DWORD PTR [edi+eax*4], ecx
	je	$LN423@Load
	add	eax, 1
	cmp	eax, edx
	jl	SHORT $LL276@Load
$LN44@Load:

; 774  : 					}
; 775  : 					else if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[j]) == FLYING)

	mov	edx, DWORD PTR [ebp]
	push	edx
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID
	sub	eax, 3
	add	esp, 4
	neg	eax
	sbb	eax, eax
	add	eax, 2
	mov	DWORD PTR [esi+20], eax
$LN42@Load:

; 776  : 					{
; 777  : 						Temp->VehType = VEHTYPE_FLYING;
; 778  : 					}
; 779  : 					else
; 780  : 					{
; 781  : 						Temp->VehType = VEHTYPE_GROUND;
; 782  : 					}
; 783  : 					Units->Add(Temp);

	mov	ecx, DWORD PTR _this$[esp+232]
	mov	ecx, DWORD PTR [ecx]
	lea	eax, DWORD PTR _Temp$57335[esp+232]
	push	eax
	call	?Add@?$SimpleDynVecClass@PAUUnitInfo@@@@QAEHAAPAUUnitInfo@@@Z ; SimpleDynVecClass<UnitInfo *>::Add
	mov	edi, DWORD PTR tv3706[esp+232]
	mov	DWORD PTR tv1457[esp+232], 3
	npad	8
$LL40@Load:

; 784  : 					unsigned int k;
; 785  : 					for (k = 0;k < 3;k++)
; 786  : 					{
; 787  : 						if (p->altpresetids[j][k])

	cmp	DWORD PTR [edi], 0
	je	$LN39@Load

; 788  : 						{
; 789  : 							UnitInfo *Temp2 = new UnitInfo(VEHICLES,j,p->altpresetids[j][k],p->costs[j],p->stringids[j],true);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	789					; 00000315H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN140@Load
	mov	esi, DWORD PTR [edi]
	mov	ecx, DWORD PTR [ebp+40]
	mov	edx, DWORD PTR [ebp-40]
	mov	DWORD PTR [eax+8], esi
	mov	DWORD PTR [eax], 1
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax+12], edx
	mov	DWORD PTR [eax+16], ecx
	mov	BYTE PTR [eax+28], 1
	mov	BYTE PTR [eax+29], 0
	mov	DWORD PTR [eax+24], 0
	mov	esi, eax
	jmp	SHORT $LN141@Load
$LN423@Load:

; 772  : 					{
; 773  : 						Temp->VehType = VEHTYPE_NAVAL;

	mov	DWORD PTR [esi+20], 3
	jmp	$LN42@Load
$LN140@Load:

; 788  : 						{
; 789  : 							UnitInfo *Temp2 = new UnitInfo(VEHICLES,j,p->altpresetids[j][k],p->costs[j],p->stringids[j],true);

	xor	esi, esi
$LN141@Load:

; 790  : 							if (Is_In_Vector(Support,p->altpresetids[j][k]))

	mov	ecx, DWORD PTR _Support$[esp+244]
	xor	eax, eax
	test	ecx, ecx
	mov	DWORD PTR _Temp2$57350[esp+232], esi
	jle	SHORT $LN36@Load
	mov	edx, DWORD PTR [edi]
	mov	ebx, DWORD PTR _Support$[esp+236]
	npad	6
$LL288@Load:
	cmp	DWORD PTR [ebx+eax*4], edx
	je	SHORT $LN424@Load
	add	eax, 1
	cmp	eax, ecx
	jl	SHORT $LL288@Load

; 844  : 							{
; 845  : 								Temp2->VehType = VEHTYPE_FLYING;
; 846  : 							}
; 847  : 							else
; 848  : 							{
; 849  : 								Temp2->VehType = VEHTYPE_GROUND;
; 850  : 							}
; 851  : 							Units->Add(Temp2);

	jmp	SHORT $LN36@Load
$LN424@Load:

; 791  : 							{
; 792  : 								Temp2->Support = true;

	mov	BYTE PTR [esi+29], 1
$LN36@Load:

; 793  : 							}
; 794  : 							if (Get_Vehicle_Definition_Mode_By_ID(p->altpresetids[j][k]) == FLYING)

	mov	edx, DWORD PTR [edi]
	push	edx
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID

; 795  : 							{
; 796  : 								Temp2->VehType = VEHTYPE_FLYING;
; 797  : 							}
; 798  : 							else
; 799  : 							{
; 800  : 								Temp2->VehType = VEHTYPE_GROUND;
; 801  : 							}
; 802  : 							Units->Add(Temp2);

	mov	ecx, DWORD PTR _this$[esp+236]
	sub	eax, 3
	add	esp, 4
	neg	eax
	sbb	eax, eax
	add	eax, 2
	mov	DWORD PTR [esi+20], eax
	mov	ecx, DWORD PTR [ecx]
	lea	eax, DWORD PTR _Temp2$57350[esp+232]
	push	eax
	call	?Add@?$SimpleDynVecClass@PAUUnitInfo@@@@QAEHAAPAUUnitInfo@@@Z ; SimpleDynVecClass<UnitInfo *>::Add
	mov	ebx, DWORD PTR _j$57330[esp+232]
$LN39@Load:
	add	edi, 4
	sub	DWORD PTR tv1457[esp+232], 1
	jne	$LL40@Load
$LN48@Load:

; 760  : 		{
; 761  : 			unsigned int j = 0;
; 762  : 			for (j = 0; j < 10; j++)

	add	DWORD PTR tv3706[esp+232], 12		; 0000000cH
	add	ebx, 1
	add	ebp, 4
	cmp	ebx, 10					; 0000000aH
	mov	DWORD PTR _j$57330[esp+232], ebx
	jb	$LL49@Load
$LN435@Load:

; 803  : 						}
; 804  : 					}
; 805  : 				}
; 806  : 			}
; 807  : 		}
; 808  : 		p = Get_Purchase_Definition(SECRETVEHICLES,PTTEAM(Team));

	mov	eax, DWORD PTR _this$[esp+232]
	xor	edx, edx
	cmp	DWORD PTR [eax+16], edx
	sete	dl
	push	edx
	push	4
	call	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
	add	esp, 8

; 809  : 		if (p)

	test	eax, eax
	je	$LN30@Load

; 810  : 		{
; 811  : 			for (int j = 0; j < 10; j++)

	lea	ecx, DWORD PTR [eax+196]
	add	eax, 76					; 0000004cH
	mov	DWORD PTR _j$57359[esp+232], 0
	mov	DWORD PTR tv4014[esp+232], ecx
	mov	DWORD PTR tv4016[esp+232], eax
	npad	4
$LL32@Load:

; 812  : 			{
; 813  : 				if (p->presetids[j])

	mov	edx, DWORD PTR tv4016[esp+232]
	cmp	DWORD PTR [edx], 0
	je	$LN31@Load

; 814  : 				{
; 815  : 					UnitInfo *Temp = new UnitInfo(SECRETVEHICLES,j,p->presetids[j],p->costs[j],p->stringids[j],false);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	815					; 0000032fH
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	edi, DWORD PTR tv4016[esp+248]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN144@Load
	mov	ecx, DWORD PTR [edi+40]
	mov	edx, DWORD PTR [edi-40]
	mov	esi, DWORD PTR [edi]
	mov	ebx, DWORD PTR _j$57359[esp+232]
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax], 4
	mov	DWORD PTR [eax+8], esi
	mov	DWORD PTR [eax+12], edx
	mov	DWORD PTR [eax+16], ecx
	mov	BYTE PTR [eax+28], 0
	mov	BYTE PTR [eax+29], 0
	mov	DWORD PTR [eax+24], 0
	mov	ebx, eax
	jmp	SHORT $LN145@Load
$LN144@Load:
	xor	ebx, ebx
$LN145@Load:

; 816  : 					if (Is_In_Vector(Support,p->presetids[j]))

	mov	edx, DWORD PTR _Support$[esp+244]
	xor	eax, eax
	test	edx, edx
	jle	SHORT $LN433@Load
	mov	ecx, DWORD PTR [edi]
	mov	esi, DWORD PTR _Support$[esp+236]
$LL300@Load:
	cmp	DWORD PTR [esi+eax*4], ecx
	je	SHORT $LN425@Load
	add	eax, 1
	cmp	eax, edx
	jl	SHORT $LL300@Load

; 844  : 							{
; 845  : 								Temp2->VehType = VEHTYPE_FLYING;
; 846  : 							}
; 847  : 							else
; 848  : 							{
; 849  : 								Temp2->VehType = VEHTYPE_GROUND;
; 850  : 							}
; 851  : 							Units->Add(Temp2);

	jmp	SHORT $LN433@Load
$LN425@Load:

; 817  : 					{
; 818  : 						Temp->Support = true;

	mov	BYTE PTR [ebx+29], 1
$LN433@Load:

; 819  : 					}
; 820  : 					if (Is_In_Vector(NavalIDs,p->presetids[j]))

	mov	edx, DWORD PTR _NavalIDs$57318[esp+244]
	xor	eax, eax
	test	edx, edx
	jle	SHORT $LN437@Load
	mov	ecx, DWORD PTR [edi]
	mov	esi, DWORD PTR _NavalIDs$57318[esp+236]
	npad	8
$LL310@Load:
	cmp	DWORD PTR [esi+eax*4], ecx
	je	$LN426@Load
	add	eax, 1
	cmp	eax, edx
	jl	SHORT $LL310@Load
$LN437@Load:

; 823  : 					}
; 824  : 					else if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[j]) == FLYING)

	mov	eax, DWORD PTR [edi]
	push	eax
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID
	sub	eax, 3
	add	esp, 4
	neg	eax
	sbb	eax, eax
	add	eax, 2
	mov	DWORD PTR [ebx+20], eax
$LN25@Load:

; 825  : 					{
; 826  : 						Temp->VehType = VEHTYPE_FLYING;
; 827  : 					}
; 828  : 					else
; 829  : 					{
; 830  : 						Temp->VehType = VEHTYPE_GROUND;
; 831  : 					}
; 832  : 					Units->Add(Temp);

	mov	ecx, DWORD PTR _this$[esp+232]
	mov	esi, DWORD PTR [ecx]
	mov	edx, DWORD PTR [esi+8]
	xor	eax, eax
	test	edx, edx
	jle	SHORT $LN438@Load
	mov	edi, DWORD PTR [esi+4]
	mov	ecx, edi
	npad	4
$LL320@Load:
	cmp	DWORD PTR [ecx], 0
	je	$LN385@Load
	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jl	SHORT $LL320@Load
$LN438@Load:
	mov	eax, DWORD PTR [esi]
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], ebx
	add	DWORD PTR [esi+12], 1
$LN321@Load:

; 833  : 					unsigned int k;
; 834  : 					for (k = 0;k < 3;k++)

	mov	ebp, DWORD PTR tv4014[esp+232]
	mov	DWORD PTR tv195[esp+232], 3
	npad	6
$LL23@Load:

; 835  : 					{
; 836  : 						if (p->altpresetids[j][k])

	cmp	DWORD PTR [ebp], 0
	je	$LN22@Load

; 837  : 						{
; 838  : 							UnitInfo *Temp2 = new UnitInfo(VEHICLES,j,p->altpresetids[j][k],p->costs[j],p->stringids[j],true);

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	838					; 00000346H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN148@Load
	mov	esi, DWORD PTR [ebp]
	mov	edx, DWORD PTR tv4016[esp+232]
	mov	ecx, DWORD PTR [edx+40]
	mov	edx, DWORD PTR [edx-40]
	mov	edi, DWORD PTR _j$57359[esp+232]
	mov	DWORD PTR [eax+4], edi
	mov	DWORD PTR [eax], 1
	mov	DWORD PTR [eax+8], esi
	mov	DWORD PTR [eax+12], edx
	mov	DWORD PTR [eax+16], ecx
	mov	BYTE PTR [eax+28], 1
	mov	BYTE PTR [eax+29], 0
	mov	DWORD PTR [eax+24], 0
	mov	edi, eax
	jmp	SHORT $LN149@Load
$LN426@Load:

; 821  : 					{
; 822  : 						Temp->VehType = VEHTYPE_NAVAL;

	mov	DWORD PTR [ebx+20], 3
	jmp	$LN25@Load
$LN385@Load:

; 825  : 					{
; 826  : 						Temp->VehType = VEHTYPE_FLYING;
; 827  : 					}
; 828  : 					else
; 829  : 					{
; 830  : 						Temp->VehType = VEHTYPE_GROUND;
; 831  : 					}
; 832  : 					Units->Add(Temp);

	mov	DWORD PTR [edi+eax*4], ebx
	jmp	$LN321@Load
$LN148@Load:

; 837  : 						{
; 838  : 							UnitInfo *Temp2 = new UnitInfo(VEHICLES,j,p->altpresetids[j][k],p->costs[j],p->stringids[j],true);

	xor	edi, edi
$LN149@Load:

; 839  : 							if (Is_In_Vector(Support,p->altpresetids[j][k]))

	mov	edx, DWORD PTR _Support$[esp+244]
	xor	eax, eax
	test	edx, edx
	jle	SHORT $LN19@Load
	mov	ecx, DWORD PTR [ebp]
	mov	esi, DWORD PTR _Support$[esp+236]
	npad	7
$LL328@Load:
	cmp	DWORD PTR [esi+eax*4], ecx
	je	SHORT $LN427@Load
	add	eax, 1
	cmp	eax, edx
	jl	SHORT $LL328@Load

; 844  : 							{
; 845  : 								Temp2->VehType = VEHTYPE_FLYING;
; 846  : 							}
; 847  : 							else
; 848  : 							{
; 849  : 								Temp2->VehType = VEHTYPE_GROUND;
; 850  : 							}
; 851  : 							Units->Add(Temp2);

	jmp	SHORT $LN19@Load
$LN427@Load:

; 840  : 							{
; 841  : 								Temp2->Support = true;

	mov	BYTE PTR [edi+29], 1
$LN19@Load:

; 842  : 							}
; 843  : 							if (Get_Vehicle_Definition_Mode_By_ID(p->altpresetids[j][k]) == FLYING)

	mov	edx, DWORD PTR [ebp]
	push	edx
	call	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ; Get_Vehicle_Definition_Mode_By_ID
	sub	eax, 3
	add	esp, 4
	neg	eax
	sbb	eax, eax
	add	eax, 2
	mov	DWORD PTR [edi+20], eax

; 844  : 							{
; 845  : 								Temp2->VehType = VEHTYPE_FLYING;
; 846  : 							}
; 847  : 							else
; 848  : 							{
; 849  : 								Temp2->VehType = VEHTYPE_GROUND;
; 850  : 							}
; 851  : 							Units->Add(Temp2);

	mov	eax, DWORD PTR _this$[esp+232]
	mov	esi, DWORD PTR [eax]
	mov	edx, DWORD PTR [esi+8]
	xor	eax, eax
	test	edx, edx
	jle	SHORT $LN336@Load
	mov	ebx, DWORD PTR [esi+4]
	mov	ecx, ebx
	npad	1
$LL338@Load:
	cmp	DWORD PTR [ecx], 0
	je	$LN387@Load
	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jl	SHORT $LL338@Load
$LN336@Load:
	mov	eax, DWORD PTR [esi]
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], edi
	add	DWORD PTR [esi+12], 1
$LN22@Load:
	add	ebp, 4
	sub	DWORD PTR tv195[esp+232], 1
	jne	$LL23@Load
$LN31@Load:

; 810  : 		{
; 811  : 			for (int j = 0; j < 10; j++)

	mov	eax, DWORD PTR _j$57359[esp+232]
	add	DWORD PTR tv4016[esp+232], 4
	add	DWORD PTR tv4014[esp+232], 12		; 0000000cH
	add	eax, 1
	cmp	eax, 10					; 0000000aH
	mov	DWORD PTR _j$57359[esp+232], eax
	jl	$LL32@Load
$LN30@Load:

; 852  : 						}
; 853  : 					}
; 854  : 				}
; 855  : 			}
; 856  : 		}
; 857  : 	}

	lea	ecx, DWORD PTR _NavalIDs$57318[esp+232]
	mov	BYTE PTR __$EHRec$[esp+240], 1
	call	??1?$SimpleDynVecClass@I@@UAE@XZ	; SimpleDynVecClass<unsigned int>::~SimpleDynVecClass<unsigned int>
$LN53@Load:

; 858  : 	bool Temp = Remove_on_Death;

	mov	esi, DWORD PTR _this$[esp+232]

; 859  : 	Remove_on_Death = true;
; 860  : 	if (!Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Vehicle_Factory",0))

	mov	edx, DWORD PTR [esi+16]
	mov	bl, BYTE PTR [esi+38]
	push	0
	push	OFFSET ??_C@_0BO@IDCNIDOL@MDB_ExpVehFac_Vehicle_Factory?$AA@
	push	-1
	push	edx
	mov	BYTE PTR [esi+38], 1
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script
	add	esp, 16					; 00000010H
	test	eax, eax
	jne	SHORT $LN16@Load

; 861  : 	{
; 862  : 		Disable_Ground();

	mov	ecx, esi
	call	?Disable_Ground@ExpVehFacClass@@QAEXXZ	; ExpVehFacClass::Disable_Ground
$LN16@Load:

; 863  : 	}
; 864  : 	if (!Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Helipad",0))

	mov	eax, DWORD PTR [esi+16]
	push	0
	push	OFFSET ??_C@_0BG@KKJHDMPD@MDB_ExpVehFac_Helipad?$AA@
	push	-1
	push	eax
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script
	add	esp, 16					; 00000010H
	test	eax, eax
	jne	SHORT $LN15@Load

; 865  : 	{
; 866  : 		Disable_Flying();

	mov	ecx, esi
	call	?Disable_Flying@ExpVehFacClass@@QAEXXZ	; ExpVehFacClass::Disable_Flying
$LN15@Load:

; 867  : 	}
; 868  : 	if (!Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Naval",0))

	mov	ecx, DWORD PTR [esi+16]
	push	0
	push	OFFSET ??_C@_0BE@GMHHGOOM@MDB_ExpVehFac_Naval?$AA@
	push	-1
	push	ecx
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script
	add	esp, 16					; 00000010H
	test	eax, eax
	jne	SHORT $LN14@Load

; 869  : 	{
; 870  : 		Disable_Naval();

	mov	ecx, esi
	call	?Disable_Naval@ExpVehFacClass@@QAEXXZ	; ExpVehFacClass::Disable_Naval
$LN14@Load:

; 871  : 	}
; 872  : 	Remove_on_Death = Temp;
; 873  : 	char File[20];
; 874  : 	sprintf(File,"ExpVehFac_%u.cfg",Team);

	mov	edx, DWORD PTR [esi+16]
	push	edx
	lea	eax, DWORD PTR _File$[esp+236]
	push	OFFSET ??_C@_0BB@MJEEGLIK@ExpVehFac_?$CFu?4cfg?$AA@
	push	eax
	mov	BYTE PTR [esi+38], bl
	call	_sprintf

; 875  : 	int FID = Commands->Text_File_Open(File);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+716]
	lea	ecx, DWORD PTR _File$[esp+244]
	push	ecx
	call	eax
	mov	ebx, eax
	add	esp, 16					; 00000010H

; 876  : 	if (!FID)

	test	ebx, ebx
	jne	SHORT $LN417@Load

; 877  : 	{
; 878  : 		FID = Commands->Text_File_Open("ExpVehFac.cfg");

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+716]
	push	OFFSET ??_C@_0O@BCEKLIOD@ExpVehFac?4cfg?$AA@
	call	edx
	mov	ebx, eax
	add	esp, 4

; 879  : 	}
; 880  : 	if (FID)

	test	ebx, ebx
	je	$LN12@Load
$LN417@Load:

; 881  : 	{
; 882  : 		char Data[128];
; 883  : 		while (Commands->Text_File_Get_String(FID,Data,127))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+720]
	push	127					; 0000007fH
	lea	eax, DWORD PTR _Data$57400[esp+236]
	push	eax
	push	ebx
	call	edx
	add	esp, 12					; 0000000cH
	test	al, al
	je	$LN10@Load
	npad	7
$LL11@Load:

; 884  : 		{
; 885  : 			if (Data[0] != ';')

	cmp	BYTE PTR _Data$57400[esp+232], 59	; 0000003bH
	je	$LN2@Load

; 886  : 			{
; 887  : 				char *First = strtok(Data,"=");

	lea	eax, DWORD PTR _Data$57400[esp+232]
	push	OFFSET ??_C@_01NEMOKFLO@?$DN?$AA@
	push	eax
	call	_strtok

; 888  : 				unsigned int Second = (unsigned int)atoi(strtok(0,"="));

	push	OFFSET ??_C@_01NEMOKFLO@?$DN?$AA@
	push	0
	mov	esi, eax
	call	_strtok
	push	eax
	call	_atoi

; 889  : 				if (!_stricmp(First,"Ground_Limit"))

	push	OFFSET ??_C@_0N@BHHEMMEG@Ground_Limit?$AA@
	push	esi
	mov	edi, eax
	call	__stricmp
	add	esp, 28					; 0000001cH
	test	eax, eax
	jne	SHORT $LN8@Load

; 890  : 				{
; 891  : 					Ground_Limit = Second;

	mov	ecx, DWORD PTR _this$[esp+232]
	mov	DWORD PTR [ecx+40], edi
	jmp	SHORT $LN2@Load
$LN387@Load:

; 844  : 							{
; 845  : 								Temp2->VehType = VEHTYPE_FLYING;
; 846  : 							}
; 847  : 							else
; 848  : 							{
; 849  : 								Temp2->VehType = VEHTYPE_GROUND;
; 850  : 							}
; 851  : 							Units->Add(Temp2);

	mov	DWORD PTR [ebx+eax*4], edi
	jmp	$LN22@Load
$LN8@Load:

; 892  : 				}
; 893  : 				else if (!_stricmp(First,"Flying_Limit"))

	push	OFFSET ??_C@_0N@NKJFEDCM@Flying_Limit?$AA@
	push	esi
	call	__stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN6@Load

; 894  : 				{
; 895  : 					Flying_Limit = Second;

	mov	edx, DWORD PTR _this$[esp+232]
	mov	DWORD PTR [edx+44], edi
	jmp	SHORT $LN2@Load
$LN6@Load:

; 896  : 				}
; 897  : 				else if (!_stricmp(First,"Naval_Limit"))

	push	OFFSET ??_C@_0M@HBFOELM@Naval_Limit?$AA@
	push	esi
	call	__stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN4@Load

; 898  : 				{
; 899  : 					Naval_Limit = Second;

	mov	eax, DWORD PTR _this$[esp+232]
	mov	DWORD PTR [eax+48], edi
	jmp	SHORT $LN2@Load
$LN4@Load:

; 900  : 				}
; 901  : 				else if (!_stricmp(First,"Support_Limit"))

	push	OFFSET ??_C@_0O@CCACHKNM@Support_Limit?$AA@
	push	esi
	call	__stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN2@Load

; 902  : 				{
; 903  : 					Support_Limit = Second;

	mov	ecx, DWORD PTR _this$[esp+232]
	mov	DWORD PTR [ecx+52], edi
$LN2@Load:
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+720]
	push	127					; 0000007fH
	lea	edx, DWORD PTR _Data$57400[esp+236]
	push	edx
	push	ebx
	call	ecx
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$LL11@Load
$LN10@Load:

; 904  : 				}
; 905  : 			}
; 906  : 		}
; 907  : 		unsigned int Limit = Ground_Limit+Flying_Limit+Naval_Limit+Support_Limit+(Find_Refinery(Team)?1:0);

	mov	edi, DWORD PTR _this$[esp+232]
	mov	edx, DWORD PTR [edi+16]
	push	edx
	call	?Find_Refinery@@YAPAEH@Z		; Find_Refinery
	add	esp, 4
	mov	esi, eax
	neg	esi
	sbb	esi, esi
	neg	esi
	add	esi, DWORD PTR [edi+52]
	add	esi, DWORD PTR [edi+44]
	add	esi, DWORD PTR [edi+48]
	add	esi, DWORD PTR [edi+40]

; 908  : 		if (Limit > 1 && Limit > Get_Vehicle_Limit())

	cmp	esi, 1
	jbe	SHORT $LN1@Load
	call	DWORD PTR ?Get_Vehicle_Limit@@3P6AKXZA	; Get_Vehicle_Limit
	cmp	esi, eax
	jbe	SHORT $LN1@Load

; 909  : 		{
; 910  : 			Set_Vehicle_Limit(Limit);

	push	esi
	call	DWORD PTR ?Set_Vehicle_Limit@@3P6AXI@ZA	; Set_Vehicle_Limit
	add	esp, 4
$LN1@Load:

; 911  : 		}
; 912  : 		Commands->Text_File_Close(FID);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+724]
	push	ebx
	call	ecx
	add	esp, 4
	mov	esi, edi
$LN12@Load:

; 913  : 	}
; 914  : 	PHookID = AddVehiclePurchaseHook(Purchase_Hook,"");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ?Purchase_Hook@ExpVehFacClass@@SAHPAVBaseControllerClass@@PAEIIPBD@Z ; ExpVehFacClass::Purchase_Hook
	call	DWORD PTR ?AddVehiclePurchaseHook@@3P6AHP6AHPAVBaseControllerClass@@PAEIIPBD@Z2@ZA ; AddVehiclePurchaseHook

; 915  : 	OHookStruct = new ObjectCreateHookStruct;

	push	OFFSET ??_C@_0BF@CHJIHGEH@ExpVehFacClass?3?3Load?$AA@
	push	915					; 00000393H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	mov	DWORD PTR [esi+20], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new
	mov	DWORD PTR [esi+28], eax

; 916  : 	OHookStruct->hook = Object_Hook;

	mov	DWORD PTR [eax], OFFSET ?Object_Hook@ExpVehFacClass@@SAXPAXPAE@Z ; ExpVehFacClass::Object_Hook

; 917  : 	OHookStruct->data = 0;

	mov	edx, DWORD PTR [esi+28]
	mov	DWORD PTR [edx+4], 0

; 918  : 	OHookID = AddObjectCreateHook(OHookStruct);

	mov	eax, DWORD PTR [esi+28]
	push	eax
	call	DWORD PTR ?AddObjectCreateHook@@3P6AHPAUObjectCreateHookStruct@@@ZA ; AddObjectCreateHook

; 919  : 	Script = script;

	mov	ecx, DWORD PTR _script$[esp+256]
	mov	DWORD PTR [esi+32], ecx
	add	esp, 28					; 0000001cH

; 920  : 	Loaded = true;
; 921  : }

	lea	ecx, DWORD PTR _Support$[esp+232]
	mov	DWORD PTR [esi+24], eax
	mov	BYTE PTR [esi+107], 1
	mov	DWORD PTR __$EHRec$[esp+240], -1
	call	??1?$SimpleDynVecClass@I@@UAE@XZ	; SimpleDynVecClass<unsigned int>::~SimpleDynVecClass<unsigned int>
	mov	ecx, DWORD PTR __$EHRec$[esp+232]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 216				; 000000d8H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z$0:
	mov	eax, DWORD PTR $T64225[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z$1:
	lea	ecx, DWORD PTR _Support$[ebp]
	jmp	??1?$SimpleDynVecClass@I@@UAE@XZ	; SimpleDynVecClass<unsigned int>::~SimpleDynVecClass<unsigned int>
__unwindfunclet$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z$6:
	lea	ecx, DWORD PTR _NavalIDs$57318[ebp]
	jmp	??1?$SimpleDynVecClass@I@@UAE@XZ	; SimpleDynVecClass<unsigned int>::~SimpleDynVecClass<unsigned int>
__ehhandler$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z ENDP		; ExpVehFacClass::Load
PUBLIC	??_C@_07FINOONBP@Sidebar?$AA@			; `string'
PUBLIC	??_C@_0BA@LGDAPFNH@Remove_on_Death?$AA@		; `string'
PUBLIC	??_C@_0BC@DOEJEHKP@Flying_Build_Time?$AA@	; `string'
PUBLIC	??_C@_0L@CMKBOGCN@Build_Time?$AA@		; `string'
PUBLIC	??_C@_0P@HBCKFHDF@Landing_Preset?$AA@		; `string'
PUBLIC	??_C@_0BB@GKAKOOPG@Support_Vehicles?$AA@	; `string'
PUBLIC	??_C@_0BP@KAGBMPFB@MDB_ExpVehFac_Helipad?3?3Created?$AA@ ; `string'
EXTRN	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z:PROC ; ScriptImpClass::Get_Float_Parameter
EXTRN	?Get_All_Objects_By_Preset@@YA?AV?$SimpleDynVecClass@PAE@@HPBD@Z:PROC ; Get_All_Objects_By_Preset
EXTRN	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z:PROC	; ScriptImpClass::Get_Parameter
;	COMDAT ??_C@_07FINOONBP@Sidebar?$AA@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_07FINOONBP@Sidebar?$AA@ DB 'Sidebar', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@LGDAPFNH@Remove_on_Death?$AA@
CONST	SEGMENT
??_C@_0BA@LGDAPFNH@Remove_on_Death?$AA@ DB 'Remove_on_Death', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@DOEJEHKP@Flying_Build_Time?$AA@
CONST	SEGMENT
??_C@_0BC@DOEJEHKP@Flying_Build_Time?$AA@ DB 'Flying_Build_Time', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@CMKBOGCN@Build_Time?$AA@
CONST	SEGMENT
??_C@_0L@CMKBOGCN@Build_Time?$AA@ DB 'Build_Time', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@HBCKFHDF@Landing_Preset?$AA@
CONST	SEGMENT
??_C@_0P@HBCKFHDF@Landing_Preset?$AA@ DB 'Landing_Preset', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@GKAKOOPG@Support_Vehicles?$AA@
CONST	SEGMENT
??_C@_0BB@GKAKOOPG@Support_Vehicles?$AA@ DB 'Support_Vehicles', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@KAGBMPFB@MDB_ExpVehFac_Helipad?3?3Created?$AA@
CONST	SEGMENT
??_C@_0BP@KAGBMPFB@MDB_ExpVehFac_Helipad?3?3Created?$AA@ DB 'MDB_ExpVehFa'
	DB	'c_Helipad::Created', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z$1
__ehfuncinfo$?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
xdata$x	ENDS
;	COMDAT ?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z
_TEXT	SEGMENT
$T64768 = -28						; size = 16
__$EHRec$ = -12						; size = 12
$T64763 = 8						; size = 4
_obj$ = 8						; size = 4
?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z PROC		; MDB_ExpVehFac_Helipad::Created, COMDAT
; _this$ = ecx

; 1139 : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H
	push	ebp
	push	esi
	push	edi

; 1140 : 	int Team = Get_Object_Type(obj);

	mov	edi, DWORD PTR _obj$[esp+36]
	push	edi
	mov	ebp, ecx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	esi, eax
	add	esp, 4

; 1141 : 	if (!ExpVehFac[Team])

	cmp	DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4], 0
	jne	SHORT $LN16@Created

; 1142 : 	{
; 1143 : 		ExpVehFac[Team] = new ExpVehFacClass(Team);

	push	OFFSET ??_C@_0BP@KAGBMPFB@MDB_ExpVehFac_Helipad?3?3Created?$AA@
	push	1143					; 00000477H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	116					; 00000074H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T64763[esp+36], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+48], 0
	je	SHORT $LN6@Created
	push	esi
	mov	ecx, eax
	call	??0ExpVehFacClass@@QAE@I@Z		; ExpVehFacClass::ExpVehFacClass
	jmp	SHORT $LN7@Created
$LN6@Created:
	xor	eax, eax
$LN7@Created:
	mov	DWORD PTR __$EHRec$[esp+48], -1
	mov	DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4], eax
$LN16@Created:

; 1144 : 	}
; 1145 : 	if (!ExpVehFac[Team]->Loaded && !Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Naval",0))

	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	cmp	BYTE PTR [eax+107], 0
	jne	SHORT $LN2@Created
	push	0
	push	OFFSET ??_C@_0BE@GMHHGOOM@MDB_ExpVehFac_Naval?$AA@
	push	-1
	push	esi
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script
	add	esp, 16					; 00000010H
	test	eax, eax
	jne	SHORT $LN2@Created

; 1146 : 	{
; 1147 : 		ExpVehFac[Team]->Load(0,0,obj,Get_Parameter("Support_Vehicles"));

	push	OFFSET ??_C@_0BB@GKAKOOPG@Support_Vehicles?$AA@
	mov	ecx, ebp
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	push	eax
	push	edi
	push	0
	push	0
	call	?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z	; ExpVehFacClass::Load

; 1148 : 		Set_Can_Generate_Vehicles(Team,true);

	push	1
	push	esi
	call	?Set_Can_Generate_Vehicles@@YAXH_N@Z	; Set_Can_Generate_Vehicles
	add	esp, 8
$LN2@Created:

; 1149 : 	}
; 1150 : 	if (!ExpVehFac[Team]->Flying_Landing_Positions->Count())

	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	mov	edx, DWORD PTR [ecx+76]
	cmp	DWORD PTR [edx+12], 0
	jne	SHORT $LN1@Created
	push	ebx

; 1151 : 	{
; 1152 : 		(*ExpVehFac[Team]->Flying_Landing_Positions) = Get_All_Objects_By_Preset(2,Get_Parameter("Landing_Preset"));

	push	OFFSET ??_C@_0P@HBCKFHDF@Landing_Preset?$AA@
	mov	ecx, ebp
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	eax, DWORD PTR $T64768[esp+48]
	push	2
	push	eax
	call	?Get_All_Objects_By_Preset@@YA?AV?$SimpleDynVecClass@PAE@@HPBD@Z ; Get_All_Objects_By_Preset
	add	esp, 12					; 0000000cH
	mov	edi, eax
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	mov	ebx, DWORD PTR [ecx+76]
	push	edi
	mov	ecx, ebx
	mov	DWORD PTR __$EHRec$[esp+56], 1
	call	??4?$SimpleVecClass@PAE@@QAEAAV0@ABV0@@Z ; SimpleVecClass<unsigned char *>::operator=
	mov	edx, DWORD PTR [edi+12]
	lea	ecx, DWORD PTR $T64768[esp+44]
	mov	DWORD PTR [ebx+12], edx
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
	pop	ebx
$LN1@Created:

; 1153 : 	}
; 1154 : 	ExpVehFac[Team]->Flying_Build_Time[0] = Get_Float_Parameter("Build_Time");

	push	OFFSET ??_C@_0L@CMKBOGCN@Build_Time?$AA@
	mov	ecx, ebp
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]

; 1155 : 	ExpVehFac[Team]->Flying_Build_Time[1] = Get_Float_Parameter("Flying_Build_Time");

	push	OFFSET ??_C@_0BC@DOEJEHKP@Flying_Build_Time?$AA@
	fstp	DWORD PTR [eax+88]
	mov	ecx, ebp
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fstp	DWORD PTR [ecx+92]

; 1156 : 	ExpVehFac[Team]->Remove_on_Death = Get_Int_Parameter("Remove_on_Death");

	push	OFFSET ??_C@_0BA@LGDAPFNH@Remove_on_Death?$AA@
	mov	ecx, ebp
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	test	eax, eax
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	setne	dl

; 1157 : 	ExpVehFac[Team]->Sidebar = Get_Int_Parameter("Sidebar");

	push	OFFSET ??_C@_07FINOONBP@Sidebar?$AA@
	mov	ecx, ebp
	mov	BYTE PTR [eax+38], dl
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	edx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	test	eax, eax
	setne	cl
	pop	edi
	mov	BYTE PTR [edx+37], cl

; 1158 : }

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z$0:
	mov	eax, DWORD PTR $T64763[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z$1:
	lea	ecx, DWORD PTR $T64768[ebp]
	jmp	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
__ehhandler$?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z:
	mov	eax, OFFSET __ehfuncinfo$?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Created@MDB_ExpVehFac_Helipad@@EAEXPAE@Z ENDP		; MDB_ExpVehFac_Helipad::Created
PUBLIC	??_C@_0BB@OKFAOBNB@Naval_Build_Time?$AA@	; `string'
PUBLIC	??_C@_0P@EOMMAHKA@Naval_Vehicles?$AA@		; `string'
PUBLIC	??_C@_0BA@BNIFIOJM@Creation_Preset?$AA@		; `string'
PUBLIC	??_C@_0BN@KONPE@MDB_ExpVehFac_Naval?3?3Created?$AA@ ; `string'
EXTRN	_strstr:PROC
;	COMDAT ??_C@_0BB@OKFAOBNB@Naval_Build_Time?$AA@
; File d:\source code\stgm\engine_vector.h
CONST	SEGMENT
??_C@_0BB@OKFAOBNB@Naval_Build_Time?$AA@ DB 'Naval_Build_Time', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@EOMMAHKA@Naval_Vehicles?$AA@
CONST	SEGMENT
??_C@_0P@EOMMAHKA@Naval_Vehicles?$AA@ DB 'Naval_Vehicles', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@BNIFIOJM@Creation_Preset?$AA@
CONST	SEGMENT
??_C@_0BA@BNIFIOJM@Creation_Preset?$AA@ DB 'Creation_Preset', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BN@KONPE@MDB_ExpVehFac_Naval?3?3Created?$AA@
CONST	SEGMENT
??_C@_0BN@KONPE@MDB_ExpVehFac_Naval?3?3Created?$AA@ DB 'MDB_ExpVehFac_Nav'
	DB	'al::Created', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z$1
__ehfuncinfo$?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
xdata$x	ENDS
;	COMDAT ?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z
_TEXT	SEGMENT
$T64796 = -28						; size = 16
__$EHRec$ = -12						; size = 12
$T64791 = 8						; size = 4
_obj$ = 8						; size = 4
?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z PROC		; MDB_ExpVehFac_Naval::Created, COMDAT
; _this$ = ecx

; 1208 : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H
	push	ebx

; 1209 : 	int Team = Get_Object_Type(obj);

	mov	ebx, DWORD PTR _obj$[esp+28]
	push	esi
	push	edi
	push	ebx
	mov	esi, ecx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	edi, eax
	add	esp, 4

; 1210 : 	if (!ExpVehFac[Team])

	cmp	DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4], 0
	jne	SHORT $LN4@Created@2

; 1211 : 	{
; 1212 : 		ExpVehFac[Team] = new ExpVehFacClass(Team);

	push	OFFSET ??_C@_0BN@KONPE@MDB_ExpVehFac_Naval?3?3Created?$AA@
	push	1212					; 000004bcH
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	116					; 00000074H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T64791[esp+36], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+48], 0
	je	SHORT $LN7@Created@2
	push	edi
	mov	ecx, eax
	call	??0ExpVehFacClass@@QAE@I@Z		; ExpVehFacClass::ExpVehFacClass
	jmp	SHORT $LN8@Created@2
$LN7@Created@2:
	xor	eax, eax
$LN8@Created@2:
	mov	DWORD PTR __$EHRec$[esp+48], -1
	mov	DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4], eax
$LN4@Created@2:

; 1213 : 	}
; 1214 : 	if (!ExpVehFac[Team]->Loaded)

	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	cmp	BYTE PTR [eax+107], 0
	jne	$LN3@Created@2

; 1215 : 	{
; 1216 : 		if (strstr(Get_Parameter("Creation_Preset"),";"))

	push	OFFSET ??_C@_01ICJEACDI@?$DL?$AA@
	push	OFFSET ??_C@_0BA@BNIFIOJM@Creation_Preset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax

; 1217 : 		{
; 1218 : 			ExpVehFac[Team]->Load(Get_Parameter("Naval_Vehicles"),Get_Parameter("Creation_Preset"),obj,Get_Parameter("Support_Vehicles"));

	mov	ecx, esi
	je	SHORT $LN2@Created@2
	push	OFFSET ??_C@_0BB@GKAKOOPG@Support_Vehicles?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	ebx
	push	OFFSET ??_C@_0BA@BNIFIOJM@Creation_Preset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EOMMAHKA@Naval_Vehicles?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	push	eax
	call	?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z	; ExpVehFacClass::Load

; 1219 : 		}
; 1220 : 		else

	jmp	SHORT $LN1@Created@2
$LN2@Created@2:
	push	ebp

; 1221 : 		{
; 1222 : 			ExpVehFac[Team]->Load(Get_Parameter("Naval_Vehicles"),0,obj,Get_Parameter("Support_Vehicles"));

	push	OFFSET ??_C@_0BB@GKAKOOPG@Support_Vehicles?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	ebx
	push	0
	push	OFFSET ??_C@_0P@EOMMAHKA@Naval_Vehicles?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	push	eax
	call	?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z	; ExpVehFacClass::Load

; 1223 : 			(*ExpVehFac[Team]->Naval_Creation_Positions) = Get_All_Objects_By_Preset(2,Get_Parameter("Creation_Preset"));

	push	OFFSET ??_C@_0BA@BNIFIOJM@Creation_Preset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	ecx, DWORD PTR $T64796[esp+48]
	push	2
	push	ecx
	call	?Get_All_Objects_By_Preset@@YA?AV?$SimpleDynVecClass@PAE@@HPBD@Z ; Get_All_Objects_By_Preset
	add	esp, 12					; 0000000cH
	mov	ebx, eax
	mov	edx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	mov	ebp, DWORD PTR [edx+72]
	push	ebx
	mov	ecx, ebp
	mov	DWORD PTR __$EHRec$[esp+56], 1
	call	??4?$SimpleVecClass@PAE@@QAEAAV0@ABV0@@Z ; SimpleVecClass<unsigned char *>::operator=
	mov	eax, DWORD PTR [ebx+12]
	lea	ecx, DWORD PTR $T64796[esp+44]
	mov	DWORD PTR [ebp+12], eax
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
	pop	ebp
$LN1@Created@2:

; 1224 : 		}
; 1225 : 		Set_Can_Generate_Vehicles(Team,true);

	push	1
	push	edi
	call	?Set_Can_Generate_Vehicles@@YAXH_N@Z	; Set_Can_Generate_Vehicles
	add	esp, 8
$LN3@Created@2:

; 1226 : 	}
; 1227 : 	ExpVehFac[Team]->Naval_Build_Time[0] = Get_Float_Parameter("Build_Time");

	push	OFFSET ??_C@_0L@CMKBOGCN@Build_Time?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	fstp	DWORD PTR [ecx+96]

; 1228 : 	ExpVehFac[Team]->Naval_Build_Time[1] = Get_Float_Parameter("Naval_Build_Time");

	push	OFFSET ??_C@_0BB@OKFAOBNB@Naval_Build_Time?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]

; 1229 : 	ExpVehFac[Team]->Remove_on_Death = Get_Int_Parameter("Remove_on_Death");

	push	OFFSET ??_C@_0BA@LGDAPFNH@Remove_on_Death?$AA@
	fstp	DWORD PTR [edx+100]
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	test	eax, eax
	setne	al
	mov	BYTE PTR [ecx+38], al

; 1230 : 	ExpVehFac[Team]->Sidebar = Get_Int_Parameter("Sidebar");

	push	OFFSET ??_C@_07FINOONBP@Sidebar?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1231 : }

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	test	eax, eax
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[edi*4]
	pop	edi
	setne	dl
	pop	esi
	mov	BYTE PTR [eax+37], dl
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z$0:
	mov	eax, DWORD PTR $T64791[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z$1:
	lea	ecx, DWORD PTR $T64796[ebp]
	jmp	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
__ehhandler$?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z:
	mov	eax, OFFSET __ehfuncinfo$?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Created@MDB_ExpVehFac_Naval@@EAEXPAE@Z ENDP		; MDB_ExpVehFac_Naval::Created
PUBLIC	??_C@_0BC@IOIFJNLK@Ground_Build_Time?$AA@	; `string'
PUBLIC	??_C@_0CH@BMAJKPCD@MDB_ExpVehFac_Vehicle_Factory?3?3C@ ; `string'
;	COMDAT ??_C@_0BC@IOIFJNLK@Ground_Build_Time?$AA@
CONST	SEGMENT
??_C@_0BC@IOIFJNLK@Ground_Build_Time?$AA@ DB 'Ground_Build_Time', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CH@BMAJKPCD@MDB_ExpVehFac_Vehicle_Factory?3?3C@
CONST	SEGMENT
??_C@_0CH@BMAJKPCD@MDB_ExpVehFac_Vehicle_Factory?3?3C@ DB 'MDB_ExpVehFac_'
	DB	'Vehicle_Factory::Created', 00H		; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z$0
__ehfuncinfo$?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
$T64814 = 8						; size = 4
_obj$ = 8						; size = 4
?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z PROC	; MDB_ExpVehFac_Vehicle_Factory::Created, COMDAT
; _this$ = ecx

; 1290 : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ebx

; 1291 : 	int Team = Get_Object_Type(obj);

	mov	ebx, DWORD PTR _obj$[esp+12]
	push	esi
	push	edi
	push	ebx
	mov	edi, ecx
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	esi, eax
	add	esp, 4

; 1292 : 	if (!ExpVehFac[Team])

	cmp	DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4], 0
	jne	SHORT $LN2@Created@3

; 1293 : 	{
; 1294 : 		ExpVehFac[Team] = new ExpVehFacClass(Team);

	push	OFFSET ??_C@_0CH@BMAJKPCD@MDB_ExpVehFac_Vehicle_Factory?3?3C@
	push	1294					; 0000050eH
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	116					; 00000074H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T64814[esp+20], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN5@Created@3
	push	esi
	mov	ecx, eax
	call	??0ExpVehFacClass@@QAE@I@Z		; ExpVehFacClass::ExpVehFacClass
	jmp	SHORT $LN6@Created@3
$LN5@Created@3:
	xor	eax, eax
$LN6@Created@3:
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4], eax
$LN2@Created@3:

; 1295 : 	}
; 1296 : 	if (!ExpVehFac[Team]->Loaded && !Find_Building_With_Script(Team,-1,"MDB_ExpVehFac_Naval",0))

	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	cmp	BYTE PTR [eax+107], 0
	jne	SHORT $LN1@Created@3
	push	0
	push	OFFSET ??_C@_0BE@GMHHGOOM@MDB_ExpVehFac_Naval?$AA@
	push	-1
	push	esi
	call	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ; Find_Building_With_Script
	add	esp, 16					; 00000010H
	test	eax, eax
	jne	SHORT $LN1@Created@3

; 1297 : 	{
; 1298 : 		ExpVehFac[Team]->Load(0,0,obj,Get_Parameter("Support_Vehicles"));

	push	OFFSET ??_C@_0BB@GKAKOOPG@Support_Vehicles?$AA@
	mov	ecx, edi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	push	eax
	push	ebx
	push	0
	push	0
	call	?Load@ExpVehFacClass@@QAEXPBD0PAE0@Z	; ExpVehFacClass::Load

; 1299 : 		Set_Can_Generate_Vehicles(Team,true);

	push	1
	push	esi
	call	?Set_Can_Generate_Vehicles@@YAXH_N@Z	; Set_Can_Generate_Vehicles
	add	esp, 8
$LN1@Created@3:

; 1300 : 	}
; 1301 : 	ExpVehFac[Team]->Ground_Build_Time[0] = Get_Float_Parameter("Build_Time");

	push	OFFSET ??_C@_0L@CMKBOGCN@Build_Time?$AA@
	mov	ecx, edi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	fstp	DWORD PTR [ecx+80]

; 1302 : 	ExpVehFac[Team]->Ground_Build_Time[1] = Get_Float_Parameter("Ground_Build_Time");

	push	OFFSET ??_C@_0BC@IOIFJNLK@Ground_Build_Time?$AA@
	mov	ecx, edi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]

; 1303 : 	ExpVehFac[Team]->Remove_on_Death = Get_Int_Parameter("Remove_on_Death");

	push	OFFSET ??_C@_0BA@LGDAPFNH@Remove_on_Death?$AA@
	fstp	DWORD PTR [edx+84]
	mov	ecx, edi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	test	eax, eax
	setne	al
	mov	BYTE PTR [ecx+38], al

; 1304 : 	ExpVehFac[Team]->Sidebar = Get_Int_Parameter("Sidebar");

	push	OFFSET ??_C@_07FINOONBP@Sidebar?$AA@
	mov	ecx, edi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1305 : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	test	eax, eax
	mov	eax, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A[esi*4]
	pop	edi
	setne	dl
	pop	esi
	mov	BYTE PTR [eax+37], dl
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 12					; 0000000cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z$0:
	mov	eax, DWORD PTR $T64814[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z:
	mov	eax, OFFSET __ehfuncinfo$?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Created@MDB_ExpVehFac_Vehicle_Factory@@EAEXPAE@Z ENDP	; MDB_ExpVehFac_Vehicle_Factory::Created
PUBLIC	??_GExpVehFacClass@@QAEPAXI@Z			; ExpVehFacClass::`scalar deleting destructor'
; Function compile flags: /Ogtpy
;	COMDAT ??_GExpVehFacClass@@QAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GExpVehFacClass@@QAEPAXI@Z PROC			; ExpVehFacClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ExpVehFacClass@@QAE@XZ		; ExpVehFacClass::~ExpVehFacClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@22
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@22:
	mov	eax, esi
	pop	esi
	ret	4
??_GExpVehFacClass@@QAEPAXI@Z ENDP			; ExpVehFacClass::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0BG@NFBKDC@DestroyExpVehFacClass?$AA@	; `string'
PUBLIC	?DestroyExpVehFacClass@@YAXXZ			; DestroyExpVehFacClass
;	COMDAT ??_C@_0BG@NFBKDC@DestroyExpVehFacClass?$AA@
CONST	SEGMENT
??_C@_0BG@NFBKDC@DestroyExpVehFacClass?$AA@ DB 'DestroyExpVehFacClass', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?DestroyExpVehFacClass@@YAXXZ
_TEXT	SEGMENT
?DestroyExpVehFacClass@@YAXXZ PROC			; DestroyExpVehFacClass, COMDAT

; 21   : 	SAFE_DELETE(ExpVehFac[0]);

	cmp	DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A, 0
	push	esi
	je	SHORT $LN2@DestroyExp
	push	OFFSET ??_C@_0BG@NFBKDC@DestroyExpVehFacClass?$AA@
	push	21					; 00000015H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A
	add	esp, 12					; 0000000cH
	test	ecx, ecx
	mov	esi, ecx
	je	SHORT $LN5@DestroyExp
	call	??1ExpVehFacClass@@QAE@XZ		; ExpVehFacClass::~ExpVehFacClass
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN5@DestroyExp:
	mov	DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A, 0
$LN2@DestroyExp:

; 22   : 	SAFE_DELETE(ExpVehFac[1]);

	cmp	DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A+4, 0
	je	SHORT $LN1@DestroyExp
	push	OFFSET ??_C@_0BG@NFBKDC@DestroyExpVehFacClass?$AA@
	push	22					; 00000016H
	push	OFFSET ??_C@_0N@FEAJEAAF@?4?2mdbevf?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A+4
	add	esp, 12					; 0000000cH
	test	ecx, ecx
	mov	esi, ecx
	je	SHORT $LN9@DestroyExp
	call	??1ExpVehFacClass@@QAE@XZ		; ExpVehFacClass::~ExpVehFacClass
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN9@DestroyExp:
	mov	DWORD PTR ?ExpVehFac@@3PAPAVExpVehFacClass@@A+4, 0
$LN1@DestroyExp:
	pop	esi

; 23   : }

	ret	0
?DestroyExpVehFacClass@@YAXXZ ENDP			; DestroyExpVehFacClass
_TEXT	ENDS
PUBLIC	??_C@_0JK@KIFIJHKB@Landing_Preset?$DNLanding?3string?0Bu@ ; `string'
EXTRN	_atexit:PROC
;	COMDAT ??_C@_0JK@KIFIJHKB@Landing_Preset?$DNLanding?3string?0Bu@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0JK@KIFIJHKB@Landing_Preset?$DNLanding?3string?0Bu@ DB 'Landing_Pre'
	DB	'set=Landing:string,Build_Time=1.0:float,Flying_Build_Time=1.0'
	DB	':float,Remove_on_Death=0:int,Support_Vehicles=Veh1;Veh2;etc.:'
	DB	'string,Sidebar=0:int', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
CONST	ENDS
;	COMDAT ??__EMDB_ExpVehFac_Helipad_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_ExpVehFac_Helipad_Registrant@@YAXXZ PROC	; `dynamic initializer for 'MDB_ExpVehFac_Helipad_Registrant'', COMDAT

; 1433 : ScriptRegistrant<MDB_ExpVehFac_Helipad> MDB_ExpVehFac_Helipad_Registrant("MDB_ExpVehFac_Helipad","Landing_Preset=Landing:string,Build_Time=1.0:float,Flying_Build_Time=1.0:float,Remove_on_Death=0:int,Support_Vehicles=Veh1;Veh2;etc.:string,Sidebar=0:int");

	push	OFFSET ??_C@_0JK@KIFIJHKB@Landing_Preset?$DNLanding?3string?0Bu@
	push	OFFSET ??_C@_0BG@KKJHDMPD@MDB_ExpVehFac_Helipad?$AA@
	mov	ecx, OFFSET ?MDB_ExpVehFac_Helipad_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@A ; MDB_ExpVehFac_Helipad_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_ExpVehFac_Helipad_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_ExpVehFac_Helipad_Registrant''
	mov	DWORD PTR ?MDB_ExpVehFac_Helipad_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_ExpVehFac_Helipad_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'MDB_ExpVehFac_Helipad_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0LO@HHLONMGP@Creation_Preset?$DNPreset?3string?0Na@ ; `string'
;	COMDAT ??_C@_0LO@HHLONMGP@Creation_Preset?$DNPreset?3string?0Na@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0LO@HHLONMGP@Creation_Preset?$DNPreset?3string?0Na@ DB 'Creation_Pr'
	DB	'eset=Preset:string,Naval_Vehicles=Veh1;Veh2;etc.:string,Build'
	DB	'_Time=1.0:float,Naval_Build_Time=1.0:float,Remove_on_Death=0:'
	DB	'int,Support_Vehicles=Veh1;Veh2;etc.:string,Sidebar=0:int', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
CONST	ENDS
;	COMDAT ??__EMDB_ExpVehFac_Naval_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_ExpVehFac_Naval_Registrant@@YAXXZ PROC		; `dynamic initializer for 'MDB_ExpVehFac_Naval_Registrant'', COMDAT

; 1434 : ScriptRegistrant<MDB_ExpVehFac_Naval> MDB_ExpVehFac_Naval_Registrant("MDB_ExpVehFac_Naval","Creation_Preset=Preset:string,Naval_Vehicles=Veh1;Veh2;etc.:string,Build_Time=1.0:float,Naval_Build_Time=1.0:float,Remove_on_Death=0:int,Support_Vehicles=Veh1;Veh2;etc.:string,Sidebar=0:int");

	push	OFFSET ??_C@_0LO@HHLONMGP@Creation_Preset?$DNPreset?3string?0Na@
	push	OFFSET ??_C@_0BE@GMHHGOOM@MDB_ExpVehFac_Naval?$AA@
	mov	ecx, OFFSET ?MDB_ExpVehFac_Naval_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@A ; MDB_ExpVehFac_Naval_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_ExpVehFac_Naval_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_ExpVehFac_Naval_Registrant''
	mov	DWORD PTR ?MDB_ExpVehFac_Naval_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_ExpVehFac_Naval_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'MDB_ExpVehFac_Naval_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0HM@LIOKLNBO@Build_Time?$DN1?40?3float?0Ground_Buil@ ; `string'
;	COMDAT ??_C@_0HM@LIOKLNBO@Build_Time?$DN1?40?3float?0Ground_Buil@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0HM@LIOKLNBO@Build_Time?$DN1?40?3float?0Ground_Buil@ DB 'Build_Time'
	DB	'=1.0:float,Ground_Build_Time=1.0:float,Remove_on_Death=0:int,'
	DB	'Support_Vehicles=Veh1;Veh2;etc.:string,Sidebar=0:int', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
CONST	ENDS
;	COMDAT ??__EMDB_ExpVehFac_Vehicle_Factory_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_ExpVehFac_Vehicle_Factory_Registrant@@YAXXZ PROC ; `dynamic initializer for 'MDB_ExpVehFac_Vehicle_Factory_Registrant'', COMDAT

; 1435 : ScriptRegistrant<MDB_ExpVehFac_Vehicle_Factory> MDB_ExpVehFac_Vehicle_Factory_Registrant("MDB_ExpVehFac_Vehicle_Factory","Build_Time=1.0:float,Ground_Build_Time=1.0:float,Remove_on_Death=0:int,Support_Vehicles=Veh1;Veh2;etc.:string,Sidebar=0:int");

	push	OFFSET ??_C@_0HM@LIOKLNBO@Build_Time?$DN1?40?3float?0Ground_Buil@
	push	OFFSET ??_C@_0BO@IDCNIDOL@MDB_ExpVehFac_Vehicle_Factory?$AA@
	mov	ecx, OFFSET ?MDB_ExpVehFac_Vehicle_Factory_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@A ; MDB_ExpVehFac_Vehicle_Factory_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_ExpVehFac_Vehicle_Factory_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_ExpVehFac_Vehicle_Factory_Registrant''
	mov	DWORD PTR ?MDB_ExpVehFac_Vehicle_Factory_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_ExpVehFac_Vehicle_Factory_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'MDB_ExpVehFac_Vehicle_Factory_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BI@GNCIIPJF@MDB_ExpVehFac_Cinematic?$AA@	; `string'
PUBLIC	??_C@_0L@CEMIOEF@Team?$DN0?3int?$AA@		; `string'
;	COMDAT ??_C@_0BI@GNCIIPJF@MDB_ExpVehFac_Cinematic?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BI@GNCIIPJF@MDB_ExpVehFac_Cinematic?$AA@ DB 'MDB_ExpVehFac_Cinemat'
	DB	'ic', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@CEMIOEF@Team?$DN0?3int?$AA@
CONST	SEGMENT
??_C@_0L@CEMIOEF@Team?$DN0?3int?$AA@ DB 'Team=0:int', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
CONST	ENDS
;	COMDAT ??__EMDB_ExpVehFac_Cinematic_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_ExpVehFac_Cinematic_Registrant@@YAXXZ PROC	; `dynamic initializer for 'MDB_ExpVehFac_Cinematic_Registrant'', COMDAT

; 1436 : ScriptRegistrant<MDB_ExpVehFac_Cinematic> MDB_ExpVehFac_Cinematic_Registrant("MDB_ExpVehFac_Cinematic","Team=0:int");

	push	OFFSET ??_C@_0L@CEMIOEF@Team?$DN0?3int?$AA@
	push	OFFSET ??_C@_0BI@GNCIIPJF@MDB_ExpVehFac_Cinematic?$AA@
	mov	ecx, OFFSET ?MDB_ExpVehFac_Cinematic_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@A ; MDB_ExpVehFac_Cinematic_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_ExpVehFac_Cinematic_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_ExpVehFac_Cinematic_Registrant''
	mov	DWORD PTR ?MDB_ExpVehFac_Cinematic_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_ExpVehFac_Cinematic_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'MDB_ExpVehFac_Cinematic_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EMDB_ExpVehFac_Cinematic_Vehicle_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_ExpVehFac_Cinematic_Vehicle_Registrant@@YAXXZ PROC ; `dynamic initializer for 'MDB_ExpVehFac_Cinematic_Vehicle_Registrant'', COMDAT

; 1437 : ScriptRegistrant<MDB_ExpVehFac_Cinematic_Vehicle> MDB_ExpVehFac_Cinematic_Vehicle_Registrant("MDB_ExpVehFac_Cinematic_Vehicle","");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0CA@HEBOGOMN@MDB_ExpVehFac_Cinematic_Vehicle?$AA@
	mov	ecx, OFFSET ?MDB_ExpVehFac_Cinematic_Vehicle_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@A ; MDB_ExpVehFac_Cinematic_Vehicle_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_ExpVehFac_Cinematic_Vehicle_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_ExpVehFac_Cinematic_Vehicle_Registrant''
	mov	DWORD PTR ?MDB_ExpVehFac_Cinematic_Vehicle_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_ExpVehFac_Cinematic_Vehicle_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'MDB_ExpVehFac_Cinematic_Vehicle_Registrant''
text$yc	ENDS
PUBLIC	??_C@_08JFKDHNCE@Type?3int?$AA@			; `string'
;	COMDAT ??_C@_08JFKDHNCE@Type?3int?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_08JFKDHNCE@Type?3int?$AA@ DB 'Type:int', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbevf.cpp
CONST	ENDS
;	COMDAT ??__EMDB_ExpVehFac_Limit_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_ExpVehFac_Limit_Registrant@@YAXXZ PROC		; `dynamic initializer for 'MDB_ExpVehFac_Limit_Registrant'', COMDAT

; 1438 : ScriptRegistrant<MDB_ExpVehFac_Limit> MDB_ExpVehFac_Limit_Registrant("MDB_ExpVehFac_Limit","Type:int");

	push	OFFSET ??_C@_08JFKDHNCE@Type?3int?$AA@
	push	OFFSET ??_C@_0BE@BKNPJNFJ@MDB_ExpVehFac_Limit?$AA@
	mov	ecx, OFFSET ?MDB_ExpVehFac_Limit_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@A ; MDB_ExpVehFac_Limit_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_ExpVehFac_Limit_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_ExpVehFac_Limit_Registrant''
	mov	DWORD PTR ?MDB_ExpVehFac_Limit_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_ExpVehFac_Limit_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'MDB_ExpVehFac_Limit_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__FMDB_ExpVehFac_Helipad_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_ExpVehFac_Helipad_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'MDB_ExpVehFac_Helipad_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_ExpVehFac_Helipad_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@A ; MDB_ExpVehFac_Helipad_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_ExpVehFac_Helipad_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'MDB_ExpVehFac_Helipad_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FMDB_ExpVehFac_Naval_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_ExpVehFac_Naval_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'MDB_ExpVehFac_Naval_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_ExpVehFac_Naval_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@A ; MDB_ExpVehFac_Naval_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_ExpVehFac_Naval_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'MDB_ExpVehFac_Naval_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FMDB_ExpVehFac_Vehicle_Factory_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_ExpVehFac_Vehicle_Factory_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'MDB_ExpVehFac_Vehicle_Factory_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_ExpVehFac_Vehicle_Factory_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@A ; MDB_ExpVehFac_Vehicle_Factory_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_ExpVehFac_Vehicle_Factory_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'MDB_ExpVehFac_Vehicle_Factory_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FMDB_ExpVehFac_Cinematic_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_ExpVehFac_Cinematic_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'MDB_ExpVehFac_Cinematic_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_ExpVehFac_Cinematic_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@A ; MDB_ExpVehFac_Cinematic_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_ExpVehFac_Cinematic_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'MDB_ExpVehFac_Cinematic_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FMDB_ExpVehFac_Cinematic_Vehicle_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_ExpVehFac_Cinematic_Vehicle_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'MDB_ExpVehFac_Cinematic_Vehicle_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_ExpVehFac_Cinematic_Vehicle_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@A ; MDB_ExpVehFac_Cinematic_Vehicle_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_ExpVehFac_Cinematic_Vehicle_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'MDB_ExpVehFac_Cinematic_Vehicle_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FMDB_ExpVehFac_Limit_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_ExpVehFac_Limit_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'MDB_ExpVehFac_Limit_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_ExpVehFac_Limit_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@A ; MDB_ExpVehFac_Limit_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_ExpVehFac_Limit_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'MDB_ExpVehFac_Limit_Registrant''
text$yd	ENDS
PUBLIC	?MDB_ExpVehFac_Helipad_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@A ; MDB_ExpVehFac_Helipad_Registrant
PUBLIC	?MDB_ExpVehFac_Cinematic_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@A ; MDB_ExpVehFac_Cinematic_Registrant
PUBLIC	?MDB_ExpVehFac_Naval_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@A ; MDB_ExpVehFac_Naval_Registrant
PUBLIC	?MDB_ExpVehFac_Cinematic_Vehicle_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@A ; MDB_ExpVehFac_Cinematic_Vehicle_Registrant
PUBLIC	?MDB_ExpVehFac_Limit_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@A ; MDB_ExpVehFac_Limit_Registrant
PUBLIC	?MDB_ExpVehFac_Vehicle_Factory_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@A ; MDB_ExpVehFac_Vehicle_Factory_Registrant
_BSS	SEGMENT
?MDB_ExpVehFac_Helipad_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Helipad@@@@A DB 010H DUP (?) ; MDB_ExpVehFac_Helipad_Registrant
?MDB_ExpVehFac_Cinematic_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic@@@@A DB 010H DUP (?) ; MDB_ExpVehFac_Cinematic_Registrant
?MDB_ExpVehFac_Naval_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Naval@@@@A DB 010H DUP (?) ; MDB_ExpVehFac_Naval_Registrant
?MDB_ExpVehFac_Cinematic_Vehicle_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Cinematic_Vehicle@@@@A DB 010H DUP (?) ; MDB_ExpVehFac_Cinematic_Vehicle_Registrant
?MDB_ExpVehFac_Limit_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Limit@@@@A DB 010H DUP (?) ; MDB_ExpVehFac_Limit_Registrant
?MDB_ExpVehFac_Vehicle_Factory_Registrant@@3V?$ScriptRegistrant@VMDB_ExpVehFac_Vehicle_Factory@@@@A DB 010H DUP (?) ; MDB_ExpVehFac_Vehicle_Factory_Registrant
_BSS	ENDS
CRT$XCU	SEGMENT
_MDB_ExpVehFac_Helipad_Registrant$initializer$ DD FLAT:??__EMDB_ExpVehFac_Helipad_Registrant@@YAXXZ
_MDB_ExpVehFac_Naval_Registrant$initializer$ DD FLAT:??__EMDB_ExpVehFac_Naval_Registrant@@YAXXZ
_MDB_ExpVehFac_Vehicle_Factory_Registrant$initializer$ DD FLAT:??__EMDB_ExpVehFac_Vehicle_Factory_Registrant@@YAXXZ
_MDB_ExpVehFac_Cinematic_Registrant$initializer$ DD FLAT:??__EMDB_ExpVehFac_Cinematic_Registrant@@YAXXZ
_MDB_ExpVehFac_Cinematic_Vehicle_Registrant$initializer$ DD FLAT:??__EMDB_ExpVehFac_Cinematic_Vehicle_Registrant@@YAXXZ
_MDB_ExpVehFac_Limit_Registrant$initializer$ DD FLAT:??__EMDB_ExpVehFac_Limit_Registrant@@YAXXZ
CRT$XCU	ENDS
END
