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

	TITLE	d:\Source Code\STGM\mdbdef.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
;	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	?GetID@GameObjObserverClass@@QAEHXZ		; GameObjObserverClass::GetID
; Function compile flags: /Ogtpy
; File d:\source code\stgm\scripts.h
;	COMDAT ?GetID@GameObjObserverClass@@QAEHXZ
_TEXT	SEGMENT
?GetID@GameObjObserverClass@@QAEHXZ PROC		; GameObjObserverClass::GetID, COMDAT
; _this$ = ecx

; 126  : 		return ObserverID;

	mov	eax, DWORD PTR [ecx+4]

; 127  : 	}

	ret	0
?GetID@GameObjObserverClass@@QAEHXZ ENDP		; GameObjObserverClass::GetID
_TEXT	ENDS
PUBLIC	__real@40000000
PUBLIC	__real@41a00000
PUBLIC	__real@447a0000
PUBLIC	__real@3f800000
PUBLIC	__real@00000000
PUBLIC	??0ActionParamsStruct@@QAE@XZ			; ActionParamsStruct::ActionParamsStruct
EXTRN	??0Vector3@@QAE@MMM@Z:PROC			; Vector3::Vector3
EXTRN	__fltused:DWORD
;	COMDAT __real@40000000
CONST	SEGMENT
__real@40000000 DD 040000000r			; 2
CONST	ENDS
;	COMDAT __real@41a00000
CONST	SEGMENT
__real@41a00000 DD 041a00000r			; 20
CONST	ENDS
;	COMDAT __real@447a0000
CONST	SEGMENT
__real@447a0000 DD 0447a0000r			; 1000
CONST	ENDS
;	COMDAT __real@3f800000
CONST	SEGMENT
__real@3f800000 DD 03f800000r			; 1
CONST	ENDS
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0ActionParamsStruct@@QAE@XZ
_TEXT	SEGMENT
??0ActionParamsStruct@@QAE@XZ PROC			; ActionParamsStruct::ActionParamsStruct, COMDAT
; _this$ = ecx

; 236  : 	ActionParamsStruct()

	fldz
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	edi, DWORD PTR [esi+12]
	fst	DWORD PTR [esp+4]
	mov	ecx, edi
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ebx, DWORD PTR [esi+32]
	fst	DWORD PTR [esp+4]
	mov	ecx, ebx
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ebp, DWORD PTR [esi+48]
	fst	DWORD PTR [esp+4]
	mov	ecx, ebp
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR [esi+96]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR [esi+116]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR [esi+172]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR [esi+184]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 237  : 	{
; 238  : 		Action_Priority = 0;
; 239  : 		Action_ID = 0;
; 240  : 		Observer_ID = 0;
; 241  : 		varB8.X = 0;

	fldz
	fst	DWORD PTR [edi]
	xor	eax, eax

; 242  : 		varB8.Y = 0;

	fst	DWORD PTR [esi+16]
	mov	DWORD PTR [esi], eax

; 243  : 		varB8.Z = 0;

	fst	DWORD PTR [esi+20]
	mov	DWORD PTR [esi+4], eax

; 244  : 		varAC = 0;
; 245  : 		varA8 = 0;

	fst	DWORD PTR [esi+28]
	mov	DWORD PTR [esi+8], eax

; 246  : 		Move_Destination.X = 0;

	fst	DWORD PTR [ebx]
	mov	DWORD PTR [esi+24], eax

; 247  : 		Move_Destination.Y = 0;

	fst	DWORD PTR [esi+36]

; 248  : 		Move_Destination.Z = 0;
; 249  : 		Move_Target = 0;

	mov	DWORD PTR [esi+44], eax
	fst	DWORD PTR [esi+40]

; 250  : 		var94.X = 0;
; 251  : 		var94.Y = 0;
; 252  : 		var94.Z = 0;
; 253  : 		Move_Speed = 1.0;
; 254  : 		Move_Arrive_Distance = 1000;
; 255  : 		Move_Backwards = false;

	mov	BYTE PTR [esi+68], al
	fst	DWORD PTR [ebp]

; 256  : 		Move_Following = false;

	mov	BYTE PTR [esi+69], al
	fst	DWORD PTR [esi+52]

; 257  : 		Move_Crouch = false;

	mov	BYTE PTR [esi+70], al
	fst	DWORD PTR [esi+56]
	fld1
	fstp	DWORD PTR [esi+60]
	fld	DWORD PTR __real@447a0000
	fstp	DWORD PTR [esi+64]

; 258  : 		Move_Pathfind = true;
; 259  : 		var7C = false;
; 260  : 		Attack_Range = 20;

	fld	DWORD PTR __real@41a00000
	mov	cl, 1
	fstp	DWORD PTR [esi+76]
	pop	edi
	mov	BYTE PTR [esi+72], al

; 261  : 		Attack_Deviation = 0;

	fst	DWORD PTR [esi+80]

; 262  : 		var70 = false;

	mov	BYTE PTR [esi+84], al

; 263  : 		Attack_Target = 0;
; 264  : 		Attack_Primary = true;
; 265  : 		Attack_Crouched = false;
; 266  : 		Attack_Location.X = 0;

	fst	DWORD PTR [esi+96]
	mov	DWORD PTR [esi+88], eax

; 267  : 		Attack_Location.Y = 0;

	fst	DWORD PTR [esi+100]
	mov	BYTE PTR [esi+93], al

; 268  : 		Attack_Location.Z = 0;

	fst	DWORD PTR [esi+104]

; 269  : 		Hold_Action = true;
; 270  : 		var57 = true;
; 271  : 		var56 = false;

	mov	BYTE PTR [esi+110], al

; 272  : 		var55 = true;
; 273  : 		var54 = false;
; 274  : 		var53 = false;
; 275  : 		Face_Location.X = 0;

	fst	DWORD PTR [esi+116]
	mov	BYTE PTR [esi+112], al

; 276  : 		Face_Location.Y = 0;

	fst	DWORD PTR [esi+120]
	mov	BYTE PTR [esi+113], al

; 277  : 		Face_Location.Z = 0;

	fst	DWORD PTR [esi+124]

; 278  : 		Face_Time = 2.0;
; 279  : 		var40 = false;

	mov	BYTE PTR [esi+132], al
	fld	DWORD PTR __real@40000000

; 280  : 		Move_Waypath_ID = 0;

	mov	DWORD PTR [esi+136], eax
	fstp	DWORD PTR [esi+128]

; 281  : 		Move_Waypath_Start_ID = 0;

	mov	DWORD PTR [esi+140], eax

; 282  : 		Move_Waypath_End_ID = 0;

	mov	DWORD PTR [esi+144], eax

; 283  : 		Move_Waypath_Splined = false;
; 284  : 		Animation = 0;
; 285  : 		Anim_Loop = false;
; 286  : 		var24 = 0;
; 287  : 		var20 = 0;
; 288  : 		Soldier_AI_State = -1;
; 289  : 		Dock_Location.X = 0;

	fst	DWORD PTR [esi+172]
	mov	BYTE PTR [esi+148], al

; 290  : 		Dock_Location.Y = 0;

	fst	DWORD PTR [esi+176]
	mov	DWORD PTR [esi+152], eax

; 291  : 		Dock_Location.Z = 0;

	fst	DWORD PTR [esi+180]
	mov	BYTE PTR [esi+156], al

; 292  : 		Dock_Entrance.X = 0;

	fst	DWORD PTR [esi+184]
	mov	DWORD PTR [esi+160], eax

; 293  : 		Dock_Entrance.Y = 0;

	fst	DWORD PTR [esi+188]
	mov	DWORD PTR [esi+164], eax

; 294  : 		Dock_Entrance.Z = 0;

	fstp	DWORD PTR [esi+192]
	mov	BYTE PTR [esi+71], cl
	mov	BYTE PTR [esi+92], cl
	mov	BYTE PTR [esi+108], cl
	mov	BYTE PTR [esi+109], cl
	mov	BYTE PTR [esi+111], cl
	mov	DWORD PTR [esi+168], -1

; 295  : 	}

	mov	eax, esi
	pop	esi
	pop	ebp
	pop	ebx
	ret	0
??0ActionParamsStruct@@QAE@XZ ENDP			; ActionParamsStruct::ActionParamsStruct
_TEXT	ENDS
PUBLIC	?Set_Basic@ActionParamsStruct@@QAEXPAVScriptClass@@KK@Z ; ActionParamsStruct::Set_Basic
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Basic@ActionParamsStruct@@QAEXPAVScriptClass@@KK@Z
_TEXT	SEGMENT
_s$ = 8							; size = 4
_priority$ = 12						; size = 4
_ID$ = 16						; size = 4
?Set_Basic@ActionParamsStruct@@QAEXPAVScriptClass@@KK@Z PROC ; ActionParamsStruct::Set_Basic, COMDAT
; _this$ = ecx

; 298  : 		ID = s->GetID();

	mov	eax, DWORD PTR _s$[esp-4]
	mov	eax, DWORD PTR [eax+4]

; 299  : 		Action_Priority = priority;

	mov	edx, DWORD PTR _priority$[esp-4]
	mov	DWORD PTR [ecx], edx

; 300  : 		Action_ID = ID;

	mov	DWORD PTR [ecx+4], eax

; 301  : 		Soldier_AI_State = -1;

	mov	DWORD PTR [ecx+168], -1

; 302  : 	}

	ret	12					; 0000000cH
?Set_Basic@ActionParamsStruct@@QAEXPAVScriptClass@@KK@Z ENDP ; ActionParamsStruct::Set_Basic
_TEXT	ENDS
PUBLIC	?Set_Attack_Hold@ActionParamsStruct@@QAEXPAEMM_N1@Z ; ActionParamsStruct::Set_Attack_Hold
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Attack_Hold@ActionParamsStruct@@QAEXPAEMM_N1@Z
_TEXT	SEGMENT
_Target$ = 8						; size = 4
_Range$ = 12						; size = 4
_Deviation$ = 16					; size = 4
_Primary$ = 20						; size = 1
_Hold$ = 24						; size = 1
?Set_Attack_Hold@ActionParamsStruct@@QAEXPAEMM_N1@Z PROC ; ActionParamsStruct::Set_Attack_Hold, COMDAT
; _this$ = ecx

; 312  : 		Attack_Target = Target;

	mov	eax, DWORD PTR _Target$[esp-4]

; 313  : 		Attack_Range = Range;

	fld	DWORD PTR _Range$[esp-4]

; 314  : 		Attack_Deviation = Deviation;
; 315  : 		Attack_Primary = Primary;

	mov	dl, BYTE PTR _Primary$[esp-4]
	fstp	DWORD PTR [ecx+76]
	fld	DWORD PTR _Deviation$[esp-4]
	mov	DWORD PTR [ecx+88], eax

; 316  : 		Hold_Action = Hold;

	mov	al, BYTE PTR _Hold$[esp-4]
	fstp	DWORD PTR [ecx+80]
	mov	BYTE PTR [ecx+92], dl
	mov	BYTE PTR [ecx+108], al

; 317  : 	}

	ret	20					; 00000014H
?Set_Attack_Hold@ActionParamsStruct@@QAEXPAEMM_N1@Z ENDP ; ActionParamsStruct::Set_Attack_Hold
_TEXT	ENDS
PUBLIC	?Set_Attack_Position@ActionParamsStruct@@QAEXABUVector3@@MM_N@Z ; ActionParamsStruct::Set_Attack_Position
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Attack_Position@ActionParamsStruct@@QAEXABUVector3@@MM_N@Z
_TEXT	SEGMENT
_position$ = 8						; size = 4
_Range$ = 12						; size = 4
_Deviation$ = 16					; size = 4
_Primary$ = 20						; size = 1
?Set_Attack_Position@ActionParamsStruct@@QAEXABUVector3@@MM_N@Z PROC ; ActionParamsStruct::Set_Attack_Position, COMDAT
; _this$ = ecx

; 320  : 		Attack_Range = Range;
; 321  : 		Attack_Location.X = position.X;

	mov	eax, DWORD PTR _position$[esp-4]
	fld	DWORD PTR _Range$[esp-4]
	fstp	DWORD PTR [ecx+76]
	fld	DWORD PTR [eax]
	fstp	DWORD PTR [ecx+96]

; 322  : 		Attack_Location.Y = position.Y;

	fld	DWORD PTR [eax+4]
	fstp	DWORD PTR [ecx+100]

; 323  : 		Attack_Location.Z = position.Z;

	fld	DWORD PTR [eax+8]

; 324  : 		Attack_Deviation = Deviation;
; 325  : 		Attack_Primary = Primary;

	mov	al, BYTE PTR _Primary$[esp-4]
	fstp	DWORD PTR [ecx+104]
	mov	BYTE PTR [ecx+92], al
	fld	DWORD PTR _Deviation$[esp-4]
	fstp	DWORD PTR [ecx+80]

; 326  : 	}

	ret	16					; 00000010H
?Set_Attack_Position@ActionParamsStruct@@QAEXABUVector3@@MM_N@Z ENDP ; ActionParamsStruct::Set_Attack_Position
_TEXT	ENDS
PUBLIC	__real@40400000
PUBLIC	??_C@_0BI@LAMHEDCF@Adjust_Aim_For_Infantry?$AA@	; `string'
PUBLIC	??_C@_0L@FAKKFBNE@ReturnTime?$AA@		; `string'
PUBLIC	??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@	; `string'
PUBLIC	??_C@_09ONEINPNJ@Animation?$AA@			; `string'
PUBLIC	?Created@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAE@Z ; MDB_Base_Defense_Popup_No_VTOL::Created
EXTRN	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z:PROC ; ScriptImpClass::Get_Int_Parameter
EXTRN	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z:PROC ; ScriptImpClass::Get_Float_Parameter
EXTRN	?The_Game@@YAPAVcGameData@@XZ:PROC		; The_Game
EXTRN	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z:PROC	; ScriptImpClass::Get_Parameter
EXTRN	?Commands@@3PAUScriptCommands@@A:DWORD		; Commands
;	COMDAT __real@40400000
; File d:\source code\stgm\mdbdef.cpp
CONST	SEGMENT
__real@40400000 DD 040400000r			; 3
CONST	ENDS
;	COMDAT ??_C@_0BI@LAMHEDCF@Adjust_Aim_For_Infantry?$AA@
CONST	SEGMENT
??_C@_0BI@LAMHEDCF@Adjust_Aim_For_Infantry?$AA@ DB 'Adjust_Aim_For_Infant'
	DB	'ry', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@FAKKFBNE@ReturnTime?$AA@
CONST	SEGMENT
??_C@_0L@FAKKFBNE@ReturnTime?$AA@ DB 'ReturnTime', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@
CONST	SEGMENT
??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@ DB 'MaxAttackDistance', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09ONEINPNJ@Animation?$AA@
CONST	SEGMENT
??_C@_09ONEINPNJ@Animation?$AA@ DB 'Animation', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAE@Z PROC	; MDB_Base_Defense_Popup_No_VTOL::Created, COMDAT
; _this$ = ecx

; 19   : 	State = 1;
; 20   : 	Commands->Set_Animation(obj,Get_Parameter("Animation"),false,0,0,0,false);

	fldz
	push	ebx
	push	esi
	push	edi
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	esi, ecx
	fstp	DWORD PTR [esp]
	push	0
	mov	DWORD PTR [esi+28], 1
	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_09ONEINPNJ@Animation?$AA@
	add	ebx, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edi, DWORD PTR _obj$[esp+28]
	push	eax
	mov	eax, DWORD PTR [ebx]
	push	edi
	call	eax

; 21   : 	Commands->Enable_Hibernation(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+568]
	push	0
	push	edi
	call	edx

; 22   : 	Commands->Innate_Enable(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+440]
	push	edi
	call	ecx

; 23   : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+300]
	push	1
	push	edi
	call	eax
	add	esp, 48					; 00000030H

; 24   : 	LastAttack = The_Game()->GameDuration_Seconds;

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game
	mov	ecx, DWORD PTR [eax+604]
	mov	DWORD PTR [esi+40], ecx

; 25   : 	LastSeen = 0;
; 26   : 	MaxDis = Get_Float_Parameter("MaxAttackDistance");

	push	OFFSET ??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+32], 0
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR [esi+44]

; 27   : 	ReturnTime = Get_Int_Parameter("ReturnTime");

	push	OFFSET ??_C@_0L@FAKKFBNE@ReturnTime?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 28   : 	AdjustInf = Get_Int_Parameter("Adjust_Aim_For_Infantry");

	push	OFFSET ??_C@_0BI@LAMHEDCF@Adjust_Aim_For_Infantry?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+36], eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 29   : 	Commands->Start_Timer(obj,this,3.0f,2);

	fld	DWORD PTR __real@40400000
	test	eax, eax
	push	2
	push	ecx
	setne	dl
	fstp	DWORD PTR [esp]
	mov	BYTE PTR [esi+48], dl
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+128]
	push	esi
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebx

; 30   : }

	ret	4
?Created@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAE@Z ENDP	; MDB_Base_Defense_Popup_No_VTOL::Created
_TEXT	ENDS
PUBLIC	??_C@_05MAHMNMLO@Sound?$AA@			; `string'
PUBLIC	??_C@_01GBGANLPD@0?$AA@				; `string'
PUBLIC	??_C@_09GIBPIKCC@LastFrame?$AA@			; `string'
PUBLIC	?Custom@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEHH0@Z ; MDB_Base_Defense_Popup_No_VTOL::Custom
EXTRN	__stricmp:PROC
EXTRN	?Get_Vehicle_Mode@@YAIPAE@Z:PROC		; Get_Vehicle_Mode
EXTRN	?Get_Vehicle@@YAPAEPAE@Z:PROC			; Get_Vehicle
;	COMDAT ??_C@_05MAHMNMLO@Sound?$AA@
CONST	SEGMENT
??_C@_05MAHMNMLO@Sound?$AA@ DB 'Sound', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_01GBGANLPD@0?$AA@
CONST	SEGMENT
??_C@_01GBGANLPD@0?$AA@ DB '0', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_09GIBPIKCC@LastFrame?$AA@
CONST	SEGMENT
??_C@_09GIBPIKCC@LastFrame?$AA@ DB 'LastFrame', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Custom@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEHH0@Z
_TEXT	SEGMENT
$T61452 = -24						; size = 12
$T61454 = -12						; size = 12
$T61453 = -12						; size = 12
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEHH0@Z PROC ; MDB_Base_Defense_Popup_No_VTOL::Custom, COMDAT
; _this$ = ecx

; 33   : {

	sub	esp, 24					; 00000018H

; 34   : 	if (message == 9813199)

	cmp	DWORD PTR _message$[esp+20], 9813199	; 0095bccfH
	push	esi
	mov	esi, ecx
	jne	$LN2@Custom
	push	ebp

; 35   : 	{
; 36   : 		GameObject *o = Get_Vehicle(sender);

	mov	ebp, DWORD PTR _sender$[esp+28]
	push	ebp
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 37   : 		if (o)

	test	eax, eax
	je	SHORT $LN5@Custom

; 38   : 		{
; 39   : 			sender = o;

	mov	ebp, eax
$LN5@Custom:

; 40   : 		}
; 41   : 		if (Get_Vehicle_Mode(sender) != FLYING)

	push	ebp
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	je	$LN9@Custom

; 42   : 		{
; 43   : 			if (Commands->Get_Distance(Commands->Get_Position(obj),Commands->Get_Position(sender)) <= MaxDis)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	push	ebx
	push	edi
	lea	ecx, DWORD PTR $T61452[esp+40]
	push	ebp
	push	ecx
	lea	ebx, DWORD PTR [eax+256]
	call	edx
	mov	edi, DWORD PTR _obj$[esp+44]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	add	esp, 8
	push	eax
	lea	eax, DWORD PTR $T61453[esp+44]
	push	edi
	push	eax
	call	edx
	add	esp, 8
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax
	fcomp	DWORD PTR [esi+44]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	$LN10@Custom

; 44   : 			{
; 45   : 				if (State == 1)

	cmp	DWORD PTR [esi+28], 1
	jne	$LN10@Custom

; 46   : 				{
; 47   : 					State = 2;

	mov	DWORD PTR [esi+28], 2

; 48   : 					Commands->Set_Animation(obj,Get_Parameter("Animation"),false,0,0,Get_Float_Parameter("LastFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_09GIBPIKCC@LastFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	sub	esp, 8
	fstp	DWORD PTR [esp+4]
	mov	ecx, esi
	fldz
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET ??_C@_09ONEINPNJ@Animation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebx]
	push	eax
	push	edi
	call	ecx
	add	esp, 28					; 0000001cH

; 49   : 					if (_stricmp(Get_Parameter("Sound"),"0"))

	push	OFFSET ??_C@_01GBGANLPD@0?$AA@
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN1@Custom

; 50   : 					{
; 51   : 						Commands->Create_Sound(Get_Parameter("Sound"),Commands->Get_Position(obj),obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	lea	edx, DWORD PTR $T61454[esp+44]
	lea	ebx, DWORD PTR [eax+172]
	mov	eax, DWORD PTR [eax+64]
	push	edi
	push	edx
	call	eax
	add	esp, 8
	push	eax
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebx]
	push	eax
	call	ecx
	add	esp, 12					; 0000000cH
$LN1@Custom:

; 52   : 					}
; 53   : 					LastSeen = Commands->Get_ID(sender);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebp
	call	eax
	add	esp, 4
	mov	DWORD PTR [esi+32], eax

; 54   : 					LastAttack = The_Game()->GameDuration_Seconds;

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game
	mov	ecx, DWORD PTR [eax+604]
	mov	DWORD PTR [esi+40], ecx
$LN10@Custom:
	pop	edi
	pop	ebx
$LN9@Custom:
	pop	ebp
$LN2@Custom:
	pop	esi

; 55   : 				}
; 56   : 			}
; 57   : 		}
; 58   : 	}
; 59   : }

	add	esp, 24					; 00000018H
	ret	16					; 00000010H
?Custom@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEHH0@Z ENDP ; MDB_Base_Defense_Popup_No_VTOL::Custom
_TEXT	ENDS
PUBLIC	??_C@_08IKKGLDJN@c?5R?5Foot?$AA@		; `string'
PUBLIC	?Enemy_Seen@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAE0@Z ; MDB_Base_Defense_Popup_No_VTOL::Enemy_Seen
EXTRN	?Is_Soldier@@YA_NPAE@Z:PROC			; Is_Soldier
;	COMDAT ??_C@_08IKKGLDJN@c?5R?5Foot?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_08IKKGLDJN@c?5R?5Foot?$AA@ DB 'c R Foot', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbdef.cpp
CONST	ENDS
;	COMDAT ?Enemy_Seen@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
$T61463 = -220						; size = 12
$T61462 = -220						; size = 12
$T61461 = -208						; size = 12
_params$56631 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAE0@Z PROC ; MDB_Base_Defense_Popup_No_VTOL::Enemy_Seen, COMDAT
; _this$ = ecx

; 62   : {

	sub	esp, 220				; 000000dcH
	push	esi
	push	edi

; 63   : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+224]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 64   : 	if (o)

	test	eax, eax
	je	SHORT $LN6@Enemy_Seen

; 65   : 	{
; 66   : 		seen = o;

	mov	edi, eax
$LN6@Enemy_Seen:

; 67   : 	}
; 68   : 	if (Get_Vehicle_Mode(seen) != FLYING && State == 3)

	push	edi
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	je	$LN1@Enemy_Seen
	cmp	DWORD PTR [esi+28], 3
	jne	$LN1@Enemy_Seen

; 69   : 	{
; 70   : 		if (Commands->Get_Distance(Commands->Get_Position(obj),Commands->Get_Position(seen)) <= MaxDis)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	push	ebx
	push	ebp
	lea	ecx, DWORD PTR $T61461[esp+236]
	push	edi
	push	ecx
	lea	ebx, DWORD PTR [eax+256]
	call	edx
	mov	ebp, DWORD PTR _obj$[esp+240]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	add	esp, 8
	push	eax
	lea	eax, DWORD PTR $T61462[esp+240]
	push	ebp
	push	eax
	call	edx
	add	esp, 8
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax
	fcomp	DWORD PTR [esi+44]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	$LN4@Enemy_Seen

; 71   : 		{
; 72   : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$56631[esp+236]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 73   : 			params.Set_Basic(this,100,1);
; 74   : 			if (AdjustInf && Is_Soldier(seen))

	cmp	BYTE PTR [esi+48], 0
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR _params$56631[esp+236], 100	; 00000064H
	mov	DWORD PTR _params$56631[esp+240], ecx
	mov	DWORD PTR _params$56631[esp+404], -1
	je	SHORT $LN3@Enemy_Seen
	push	edi
	call	?Is_Soldier@@YA_NPAE@Z			; Is_Soldier
	add	esp, 4
	test	al, al
	je	SHORT $LN3@Enemy_Seen

; 75   : 			{
; 76   : 				params.Set_Attack_Position(Commands->Get_Bone_Position(seen,"c R Foot"),MaxDis,0.0,true);

	fldz
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+68]
	mov	ebx, 1
	push	ebx
	sub	esp, 8
	fstp	DWORD PTR [esp+4]
	lea	edx, DWORD PTR $T61463[esp+248]
	fld	DWORD PTR [esi+44]
	fstp	DWORD PTR [esp]
	push	OFFSET ??_C@_08IKKGLDJN@c?5R?5Foot?$AA@
	push	edi
	push	edx
	call	ecx
	add	esp, 12					; 0000000cH
	push	eax
	lea	ecx, DWORD PTR _params$56631[esp+252]
	call	?Set_Attack_Position@ActionParamsStruct@@QAEXABUVector3@@MM_N@Z ; ActionParamsStruct::Set_Attack_Position

; 77   : 				params.Hold_Action = true;
; 78   : 				LastSeen = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	BYTE PTR _params$56631[esp+344], bl
	mov	eax, DWORD PTR [edx+108]
	push	edi
	call	eax

; 79   : 				Commands->Start_Timer(obj,this,1.0f,3);

	fld1
	add	esp, 4
	push	3
	push	ecx
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebp
	call	edx
	add	esp, 16					; 00000010H

; 80   : 			}
; 81   : 			else

	jmp	SHORT $LN13@Enemy_Seen
$LN3@Enemy_Seen:

; 82   : 			{
; 83   : 				params.Set_Attack_Hold(seen,MaxDis,0.0,true,true);

	fld	DWORD PTR [esi+44]
	mov	ebx, 1
	fstp	DWORD PTR _params$56631[esp+312]
	mov	DWORD PTR _params$56631[esp+324], edi
	fldz
	mov	BYTE PTR _params$56631[esp+328], bl
	fstp	DWORD PTR _params$56631[esp+316]
	mov	BYTE PTR _params$56631[esp+344], bl
$LN13@Enemy_Seen:

; 84   : 			}
; 85   : 			Commands->Action_Attack(obj,params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+20]
	lea	eax, DWORD PTR _params$56631[esp+236]
	push	eax
	push	ebp
	call	edx
	add	esp, 8

; 86   : 			LastAttack = The_Game()->GameDuration_Seconds;

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game

; 87   : 			Commands->Start_Timer(obj,this,(float)ReturnTime,1);

	fild	DWORD PTR [esi+36]
	mov	eax, DWORD PTR [eax+604]
	push	ebx
	push	ecx
	mov	DWORD PTR [esi+40], eax
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebp
	call	edx

; 88   : 		}
; 89   : 		else
; 90   : 		{
; 91   : 			Commands->Start_Timer(obj,this,(float)ReturnTime,1);

	add	esp, 16					; 00000010H
	pop	ebp
	pop	ebx
	pop	edi
	pop	esi

; 92   : 		}
; 93   : 	}
; 94   : }

	add	esp, 220				; 000000dcH
	ret	8
$LN4@Enemy_Seen:

; 88   : 		}
; 89   : 		else
; 90   : 		{
; 91   : 			Commands->Start_Timer(obj,this,(float)ReturnTime,1);

	fild	DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	ecx
	mov	ecx, DWORD PTR [eax+128]
	fstp	DWORD PTR [esp]
	push	esi
	push	ebp
	call	ecx
	add	esp, 16					; 00000010H
	pop	ebp
	pop	ebx
$LN1@Enemy_Seen:
	pop	edi
	pop	esi

; 92   : 		}
; 93   : 	}
; 94   : }

	add	esp, 220				; 000000dcH
	ret	8
?Enemy_Seen@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAE0@Z ENDP ; MDB_Base_Defense_Popup_No_VTOL::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Animation_Complete@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEPBD@Z ; MDB_Base_Defense_Popup_No_VTOL::Animation_Complete
; Function compile flags: /Ogtpy
;	COMDAT ?Animation_Complete@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEPBD@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_anim$ = 12						; size = 4
?Animation_Complete@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEPBD@Z PROC ; MDB_Base_Defense_Popup_No_VTOL::Animation_Complete, COMDAT
; _this$ = ecx

; 97   : {

	push	esi
	mov	esi, ecx

; 98   : 	if (State == 2)

	mov	eax, DWORD PTR [esi+28]
	cmp	eax, 2
	jne	SHORT $LN3@Animation_

; 99   : 	{
; 100  : 		State = 3;
; 101  : 		Enemy_Seen(obj,Commands->Find_Object(LastSeen));

	mov	eax, DWORD PTR [esi+32]
	mov	DWORD PTR [esi+28], 3
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+96]
	push	edi
	mov	edi, DWORD PTR [esi]
	push	eax
	call	edx
	mov	edx, DWORD PTR [edi+40]
	add	esp, 4
	push	eax
	mov	eax, DWORD PTR _obj$[esp+8]
	push	eax
	mov	ecx, esi
	call	edx
	pop	edi
	pop	esi

; 106  : 	}
; 107  : }

	ret	8
$LN3@Animation_:

; 102  : 	}
; 103  : 	else if (State == 4)

	cmp	eax, 4
	jne	SHORT $LN1@Animation_

; 104  : 	{
; 105  : 		State = 1;

	mov	DWORD PTR [esi+28], 1
$LN1@Animation_:
	pop	esi

; 106  : 	}
; 107  : }

	ret	8
?Animation_Complete@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEPBD@Z ENDP ; MDB_Base_Defense_Popup_No_VTOL::Animation_Complete
_TEXT	ENDS
PUBLIC	__real@42c80000
PUBLIC	?Action_Complete@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z ; MDB_Base_Defense_Popup_No_VTOL::Action_Complete
;	COMDAT __real@42c80000
CONST	SEGMENT
__real@42c80000 DD 042c80000r			; 100
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Action_Complete@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z PROC ; MDB_Base_Defense_Popup_No_VTOL::Action_Complete, COMDAT
; _this$ = ecx

; 111  : 	Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	mov	eax, DWORD PTR _obj$[esp-4]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+12]
	push	eax
	call	edx
	add	esp, 8

; 112  : }

	ret	12					; 0000000cH
?Action_Complete@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; MDB_Base_Defense_Popup_No_VTOL::Action_Complete
_TEXT	ENDS
PUBLIC	??_C@_0O@PKMGNIBI@Sensor_Preset?$AA@		; `string'
PUBLIC	??_C@_0BF@GIFHCGCH@Sensor_Creation_Bone?$AA@	; `string'
PUBLIC	??_C@_0BL@FCNNONNN@MDB_Send_Custom_Enemy_Seen?$AA@ ; `string'
PUBLIC	??_C@_0L@NKNAGBBD@9813199?0?$CFd?$AA@		; `string'
PUBLIC	?Timer_Expired@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEH@Z ; MDB_Base_Defense_Popup_No_VTOL::Timer_Expired
EXTRN	_sprintf:PROC
;	COMDAT ??_C@_0O@PKMGNIBI@Sensor_Preset?$AA@
CONST	SEGMENT
??_C@_0O@PKMGNIBI@Sensor_Preset?$AA@ DB 'Sensor_Preset', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@GIFHCGCH@Sensor_Creation_Bone?$AA@
CONST	SEGMENT
??_C@_0BF@GIFHCGCH@Sensor_Creation_Bone?$AA@ DB 'Sensor_Creation_Bone', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@FCNNONNN@MDB_Send_Custom_Enemy_Seen?$AA@
CONST	SEGMENT
??_C@_0BL@FCNNONNN@MDB_Send_Custom_Enemy_Seen?$AA@ DB 'MDB_Send_Custom_En'
	DB	'emy_Seen', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@NKNAGBBD@9813199?0?$CFd?$AA@
CONST	SEGMENT
??_C@_0L@NKNAGBBD@9813199?0?$CFd?$AA@ DB '9813199,%d', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Timer_Expired@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
$T61494 = -64						; size = 12
$T61493 = -64						; size = 12
$T61492 = -64						; size = 12
$T61495 = -52						; size = 12
_params$56666 = -40					; size = 40
tv192 = 8						; size = 4
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEH@Z PROC ; MDB_Base_Defense_Popup_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 116  : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 64					; 00000040H
	cmp	eax, 1
	push	ebx
	push	esi
	push	edi
	mov	esi, ecx
	jne	$LN9@Timer_Expi

; 117  : 	{
; 118  : 		if (State == 3)

	cmp	DWORD PTR [esi+28], 3
	jne	$LN1@Timer_Expi

; 119  : 		{
; 120  : 			if ((int)(The_Game()->GameDuration_Seconds - LastAttack)+1 >= Get_Int_Parameter("ReturnTime"))

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game
	mov	edi, DWORD PTR [eax+604]
	sub	edi, DWORD PTR [esi+40]
	push	OFFSET ??_C@_0L@FAKKFBNE@ReturnTime?$AA@
	mov	ecx, esi
	add	edi, 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	cmp	edi, eax
	jl	$LN1@Timer_Expi

; 121  : 			{
; 122  : 				Commands->Set_Animation(obj,Get_Parameter("Animation"),false,0,Get_Float_Parameter("LastFrame"),0,false);

	fldz
	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ecx
	fstp	DWORD PTR [esp]
	push	OFFSET ??_C@_09GIBPIKCC@LastFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET ??_C@_09ONEINPNJ@Animation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edi, DWORD PTR _obj$[esp+92]
	push	eax
	mov	eax, DWORD PTR [ebx]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH

; 123  : 				if (_stricmp(Get_Parameter("Sound"),"0"))

	push	OFFSET ??_C@_01GBGANLPD@0?$AA@
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN6@Timer_Expi

; 124  : 				{
; 125  : 					Commands->Create_Sound(Get_Parameter("Sound"),Commands->Get_Position(obj),obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	push	edi
	lea	ecx, DWORD PTR $T61492[esp+80]
	push	edi
	push	ecx
	lea	ebx, DWORD PTR [eax+172]
	call	edx
	add	esp, 8
	push	eax
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax
	add	esp, 12					; 0000000cH
$LN6@Timer_Expi:

; 126  : 				}
; 127  : 				Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+12]
	push	edi
	call	edx

; 141  : 		{
; 142  : 			Commands->Action_Reset(obj,100);

	add	esp, 8
	pop	edi
	mov	DWORD PTR [esi+28], 4
	pop	esi
	pop	ebx

; 143  : 		}
; 144  : 	}
; 145  : }

	add	esp, 64					; 00000040H
	ret	8
$LN9@Timer_Expi:

; 128  : 				State = 4;
; 129  : 			}
; 130  : 		}
; 131  : 	}
; 132  : 	else if (number == 2)

	cmp	eax, 2
	jne	$LN4@Timer_Expi

; 133  : 	{
; 134  : 		char params[40];
; 135  : 		sprintf(params,"9813199,%d",Commands->Get_ID(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edi, DWORD PTR _obj$[esp+72]
	mov	ecx, DWORD PTR [eax+108]
	push	ebp
	push	edi
	call	ecx
	push	eax
	lea	edx, DWORD PTR _params$56666[esp+88]
	push	OFFSET ??_C@_0L@NKNAGBBD@9813199?0?$CFd?$AA@
	push	edx
	call	_sprintf

; 136  : 		Commands->Attach_Script(Commands->Create_Object(Get_Parameter("Sensor_Preset"),Commands->Get_Bone_Position(obj,Get_Parameter("Sensor_Creation_Bone"))),"MDB_Send_Custom_Enemy_Seen",params);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ebx, DWORD PTR [eax+120]
	lea	ebp, DWORD PTR [eax+100]
	add	eax, 68					; 00000044H
	add	esp, 16					; 00000010H
	mov	DWORD PTR tv192[esp+76], eax
	lea	eax, DWORD PTR _params$56666[esp+80]
	push	eax
	push	OFFSET ??_C@_0BL@FCNNONNN@MDB_Send_Custom_Enemy_Seen?$AA@
	push	OFFSET ??_C@_0BF@GIFHCGCH@Sensor_Creation_Bone?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR tv192[esp+84]
	push	eax
	mov	eax, DWORD PTR [edx]
	lea	ecx, DWORD PTR $T61493[esp+92]
	push	edi
	push	ecx
	call	eax
	add	esp, 12					; 0000000cH
	push	eax
	push	OFFSET ??_C@_0O@PKMGNIBI@Sensor_Preset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebp]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [ebx]
	add	esp, 8
	push	eax
	call	edx
	add	esp, 12					; 0000000cH
	pop	ebp
	pop	edi
	pop	esi
	pop	ebx

; 143  : 		}
; 144  : 	}
; 145  : }

	add	esp, 64					; 00000040H
	ret	8
$LN4@Timer_Expi:

; 137  : 	}
; 138  : 	else if (number == 3)

	cmp	eax, 3
	jne	SHORT $LN1@Timer_Expi

; 139  : 	{
; 140  : 		if (Commands->Get_Distance(Commands->Get_Position(obj),Commands->Get_Position(Commands->Find_Object(LastSeen))) > MaxDis)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+256]
	lea	ebx, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [ebx]
	push	eax
	lea	eax, DWORD PTR $T61494[esp+84]
	push	eax
	call	ecx
	mov	ebx, DWORD PTR _obj$[esp+84]
	add	esp, 12					; 0000000cH
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T61495[esp+80]
	push	ebx
	push	edx
	call	ecx
	mov	edx, DWORD PTR [edi]
	add	esp, 8
	push	eax
	call	edx
	fcomp	DWORD PTR [esi+44]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN1@Timer_Expi

; 141  : 		{
; 142  : 			Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	ecx, DWORD PTR [eax+12]
	fstp	DWORD PTR [esp]
	push	ebx
	call	ecx
	add	esp, 8
$LN1@Timer_Expi:
	pop	edi
	pop	esi
	pop	ebx

; 143  : 		}
; 144  : 	}
; 145  : }

	add	esp, 64					; 00000040H
	ret	8
?Timer_Expired@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEH@Z ENDP ; MDB_Base_Defense_Popup_No_VTOL::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@MDB_Base_Defense_Popup_No_VTOL@@EAEXXZ ; MDB_Base_Defense_Popup_No_VTOL::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_Base_Defense_Popup_No_VTOL@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@MDB_Base_Defense_Popup_No_VTOL@@EAEXXZ PROC ; MDB_Base_Defense_Popup_No_VTOL::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 148  : {

	push	esi
	mov	esi, ecx

; 149  : 	Auto_Save_Variable(1,4,&State);

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

; 150  : 	Auto_Save_Variable(2,4,&LastSeen);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 151  : 	Auto_Save_Variable(3,4,&LastAttack);

	lea	edx, DWORD PTR [esi+40]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 152  : 	Auto_Save_Variable(4,4,&ReturnTime);

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

; 153  : 	Auto_Save_Variable(5,4,&MaxDis);

	lea	ecx, DWORD PTR [esi+44]
	push	ecx
	push	4
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 154  : 	Auto_Save_Variable(6,1,&AdjustInf);

	lea	edx, DWORD PTR [esi+48]
	push	edx
	push	1
	push	6
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 155  : }

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

; 159  : 	State = 1;
; 160  : 	Commands->Set_Animation(obj,Get_Parameter("Animation"),false,0,0,0,false);

	fldz
	push	ebx
	push	esi
	push	edi
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	esi, ecx
	fstp	DWORD PTR [esp]
	push	0
	mov	DWORD PTR [esi+28], 1
	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_09ONEINPNJ@Animation?$AA@
	add	ebx, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edi, DWORD PTR _obj$[esp+28]
	push	eax
	mov	eax, DWORD PTR [ebx]
	push	edi
	call	eax

; 161  : 	Commands->Enable_Hibernation(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+568]
	push	0
	push	edi
	call	edx

; 162  : 	Commands->Innate_Enable(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+440]
	push	edi
	call	ecx

; 163  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+300]
	push	1
	push	edi
	call	eax
	add	esp, 48					; 00000030H

; 164  : 	LastAttack = The_Game()->GameDuration_Seconds;

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game
	mov	ecx, DWORD PTR [eax+604]
	mov	DWORD PTR [esi+40], ecx

; 165  : 	LastSeen = 0;
; 166  : 	MaxDis = Get_Float_Parameter("MaxAttackDistance");

	push	OFFSET ??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+32], 0
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR [esi+44]

; 167  : 	ReturnTime = Get_Int_Parameter("ReturnTime");

	push	OFFSET ??_C@_0L@FAKKFBNE@ReturnTime?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 168  : 	Commands->Start_Timer(obj,this,3.0f,2);

	fld	DWORD PTR __real@40400000
	push	2
	push	ecx
	mov	DWORD PTR [esi+36], eax
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+128]
	push	esi
	push	edi
	call	eax
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebx

; 169  : }

	ret	4
?Created@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAE@Z ENDP ; MDB_Base_Defense_Popup_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Custom@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEHH0@Z ; MDB_Base_Defense_Popup_VTOL_Only::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT
$T61506 = -24						; size = 12
$T61508 = -12						; size = 12
$T61507 = -12						; size = 12
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEHH0@Z PROC ; MDB_Base_Defense_Popup_VTOL_Only::Custom, COMDAT
; _this$ = ecx

; 172  : {

	sub	esp, 24					; 00000018H

; 173  : 	if (message == 9813199)

	cmp	DWORD PTR _message$[esp+20], 9813199	; 0095bccfH
	push	esi
	mov	esi, ecx
	jne	$LN2@Custom@2
	push	ebp

; 174  : 	{
; 175  : 		GameObject *o = Get_Vehicle(sender);

	mov	ebp, DWORD PTR _sender$[esp+28]
	push	ebp
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 176  : 		if (o)

	test	eax, eax
	je	SHORT $LN5@Custom@2

; 177  : 		{
; 178  : 			sender = o;

	mov	ebp, eax
$LN5@Custom@2:

; 179  : 		}
; 180  : 		if (Get_Vehicle_Mode(sender) == FLYING)

	push	ebp
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	jne	$LN9@Custom@2

; 181  : 		{
; 182  : 			if (Commands->Get_Distance(Commands->Get_Position(obj),Commands->Get_Position(sender)) <= MaxDis)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	push	ebx
	push	edi
	lea	ecx, DWORD PTR $T61506[esp+40]
	push	ebp
	push	ecx
	lea	ebx, DWORD PTR [eax+256]
	call	edx
	mov	edi, DWORD PTR _obj$[esp+44]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	add	esp, 8
	push	eax
	lea	eax, DWORD PTR $T61507[esp+44]
	push	edi
	push	eax
	call	edx
	add	esp, 8
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax
	fcomp	DWORD PTR [esi+44]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	$LN10@Custom@2

; 183  : 			{
; 184  : 				if (State == 1)

	cmp	DWORD PTR [esi+28], 1
	jne	$LN10@Custom@2

; 185  : 				{
; 186  : 					State = 2;

	mov	DWORD PTR [esi+28], 2

; 187  : 					Commands->Set_Animation(obj,Get_Parameter("Animation"),false,0,0,Get_Float_Parameter("LastFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_09GIBPIKCC@LastFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	sub	esp, 8
	fstp	DWORD PTR [esp+4]
	mov	ecx, esi
	fldz
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET ??_C@_09ONEINPNJ@Animation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebx]
	push	eax
	push	edi
	call	ecx
	add	esp, 28					; 0000001cH

; 188  : 					if (_stricmp(Get_Parameter("Sound"),"0"))

	push	OFFSET ??_C@_01GBGANLPD@0?$AA@
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN1@Custom@2

; 189  : 					{
; 190  : 						Commands->Create_Sound(Get_Parameter("Sound"),Commands->Get_Position(obj),obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	lea	edx, DWORD PTR $T61508[esp+44]
	lea	ebx, DWORD PTR [eax+172]
	mov	eax, DWORD PTR [eax+64]
	push	edi
	push	edx
	call	eax
	add	esp, 8
	push	eax
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebx]
	push	eax
	call	ecx
	add	esp, 12					; 0000000cH
$LN1@Custom@2:

; 191  : 					}
; 192  : 					LastSeen = Commands->Get_ID(sender);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebp
	call	eax
	add	esp, 4
	mov	DWORD PTR [esi+32], eax

; 193  : 					LastAttack = The_Game()->GameDuration_Seconds;

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game
	mov	ecx, DWORD PTR [eax+604]
	mov	DWORD PTR [esi+40], ecx
$LN10@Custom@2:
	pop	edi
	pop	ebx
$LN9@Custom@2:
	pop	ebp
$LN2@Custom@2:
	pop	esi

; 194  : 				}
; 195  : 			}
; 196  : 		}
; 197  : 	}
; 198  : }

	add	esp, 24					; 00000018H
	ret	16					; 00000010H
?Custom@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEHH0@Z ENDP ; MDB_Base_Defense_Popup_VTOL_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAE0@Z ; MDB_Base_Defense_Popup_VTOL_Only::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
$T61516 = -220						; size = 12
$T61515 = -208						; size = 12
_params$56712 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAE0@Z PROC ; MDB_Base_Defense_Popup_VTOL_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 201  : {

	sub	esp, 220				; 000000dcH
	push	ebx

; 202  : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+220]
	push	esi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 203  : 	if (o)

	test	eax, eax
	je	SHORT $LN4@Enemy_Seen@2

; 204  : 	{
; 205  : 		seen = o;

	mov	ebx, eax
$LN4@Enemy_Seen@2:

; 206  : 	}
; 207  : 	if (Get_Vehicle_Mode(seen) == FLYING && State == 3)

	push	ebx
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	jne	$LN1@Enemy_Seen@2
	cmp	DWORD PTR [esi+28], eax
	jne	$LN1@Enemy_Seen@2

; 208  : 	{
; 209  : 		if (Commands->Get_Distance(Commands->Get_Position(obj),Commands->Get_Position(seen)) <= MaxDis)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	push	ebp
	push	edi
	lea	ecx, DWORD PTR $T61515[esp+236]
	push	ebx
	push	ecx
	lea	ebp, DWORD PTR [eax+256]
	call	edx
	mov	edi, DWORD PTR _obj$[esp+240]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	add	esp, 8
	push	eax
	lea	eax, DWORD PTR $T61516[esp+240]
	push	edi
	push	eax
	call	edx
	add	esp, 8
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	fcomp	DWORD PTR [esi+44]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	$LN2@Enemy_Seen@2

; 210  : 		{
; 211  : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$56712[esp+236]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 212  : 			params.Set_Basic(this,100,1);
; 213  : 			params.Set_Attack_Hold(seen,MaxDis,0.0,true,true);

	fld	DWORD PTR [esi+44]
	mov	ecx, DWORD PTR [esi+4]
	fstp	DWORD PTR _params$56712[esp+312]
	fldz

; 214  : 			Commands->Action_Attack(obj,params);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$56712[esp+324], ebx
	fstp	DWORD PTR _params$56712[esp+316]
	lea	edx, DWORD PTR _params$56712[esp+236]
	mov	ebx, 1
	push	edx
	mov	DWORD PTR _params$56712[esp+240], 100	; 00000064H
	mov	DWORD PTR _params$56712[esp+244], ecx
	mov	DWORD PTR _params$56712[esp+408], -1
	mov	BYTE PTR _params$56712[esp+332], bl
	mov	BYTE PTR _params$56712[esp+348], bl
	mov	ecx, DWORD PTR [eax+20]
	push	edi
	call	ecx
	add	esp, 8

; 215  : 			LastAttack = The_Game()->GameDuration_Seconds;

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game

; 216  : 			Commands->Start_Timer(obj,this,(float)ReturnTime,1);

	fild	DWORD PTR [esi+36]
	mov	edx, DWORD PTR [eax+604]
	push	ebx
	push	ecx
	mov	DWORD PTR [esi+40], edx
	fstp	DWORD PTR [esp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+128]
	push	esi
	push	edi
	call	ecx

; 217  : 		}
; 218  : 		else
; 219  : 		{
; 220  : 			Commands->Start_Timer(obj,this,(float)ReturnTime,1);

	add	esp, 16					; 00000010H
	pop	edi
	pop	ebp
	pop	esi
	pop	ebx

; 221  : 		}
; 222  : 	}
; 223  : }

	add	esp, 220				; 000000dcH
	ret	8
$LN2@Enemy_Seen@2:

; 217  : 		}
; 218  : 		else
; 219  : 		{
; 220  : 			Commands->Start_Timer(obj,this,(float)ReturnTime,1);

	fild	DWORD PTR [esi+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+128]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	eax
	add	esp, 16					; 00000010H
	pop	edi
	pop	ebp
$LN1@Enemy_Seen@2:
	pop	esi
	pop	ebx

; 221  : 		}
; 222  : 	}
; 223  : }

	add	esp, 220				; 000000dcH
	ret	8
?Enemy_Seen@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAE0@Z ENDP ; MDB_Base_Defense_Popup_VTOL_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Animation_Complete@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEPBD@Z ; MDB_Base_Defense_Popup_VTOL_Only::Animation_Complete
; Function compile flags: /Ogtpy
;	COMDAT ?Animation_Complete@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEPBD@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_anim$ = 12						; size = 4
?Animation_Complete@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEPBD@Z PROC ; MDB_Base_Defense_Popup_VTOL_Only::Animation_Complete, COMDAT
; _this$ = ecx

; 226  : {

	push	esi
	mov	esi, ecx

; 227  : 	if (State == 2)

	mov	eax, DWORD PTR [esi+28]
	cmp	eax, 2
	jne	SHORT $LN3@Animation_@2

; 228  : 	{
; 229  : 		State = 3;
; 230  : 		Enemy_Seen(obj,Commands->Find_Object(LastSeen));

	mov	eax, DWORD PTR [esi+32]
	mov	DWORD PTR [esi+28], 3
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+96]
	push	edi
	mov	edi, DWORD PTR [esi]
	push	eax
	call	edx
	mov	edx, DWORD PTR [edi+40]
	add	esp, 4
	push	eax
	mov	eax, DWORD PTR _obj$[esp+8]
	push	eax
	mov	ecx, esi
	call	edx
	pop	edi
	pop	esi

; 235  : 	}
; 236  : }

	ret	8
$LN3@Animation_@2:

; 231  : 	}
; 232  : 	else if (State == 4)

	cmp	eax, 4
	jne	SHORT $LN1@Animation_@2

; 233  : 	{
; 234  : 		State = 1;

	mov	DWORD PTR [esi+28], 1
$LN1@Animation_@2:
	pop	esi

; 235  : 	}
; 236  : }

	ret	8
?Animation_Complete@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEPBD@Z ENDP ; MDB_Base_Defense_Popup_VTOL_Only::Animation_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ; MDB_Base_Defense_Popup_VTOL_Only::Action_Complete
; Function compile flags: /Ogtpy
;	COMDAT ?Action_Complete@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z PROC ; MDB_Base_Defense_Popup_VTOL_Only::Action_Complete, COMDAT
; _this$ = ecx

; 240  : 	Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	mov	eax, DWORD PTR _obj$[esp-4]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+12]
	push	eax
	call	edx
	add	esp, 8

; 241  : }

	ret	12					; 0000000cH
?Action_Complete@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; MDB_Base_Defense_Popup_VTOL_Only::Action_Complete
_TEXT	ENDS
PUBLIC	?Timer_Expired@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEH@Z ; MDB_Base_Defense_Popup_VTOL_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
$T61543 = -52						; size = 12
$T61542 = -52						; size = 12
_params$56743 = -40					; size = 40
tv146 = 8						; size = 4
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEH@Z PROC ; MDB_Base_Defense_Popup_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 245  : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 52					; 00000034H
	cmp	eax, 1
	push	ebx
	push	esi
	push	edi
	mov	esi, ecx
	jne	$LN6@Timer_Expi@2

; 246  : 	{
; 247  : 		if (State == 3)

	cmp	DWORD PTR [esi+28], 3
	jne	$LN1@Timer_Expi@2

; 248  : 		{
; 249  : 			if ((int)(The_Game()->GameDuration_Seconds - LastAttack)+1 >= Get_Int_Parameter("ReturnTime"))

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game
	mov	edi, DWORD PTR [eax+604]
	sub	edi, DWORD PTR [esi+40]
	push	OFFSET ??_C@_0L@FAKKFBNE@ReturnTime?$AA@
	mov	ecx, esi
	add	edi, 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	cmp	edi, eax
	jl	$LN1@Timer_Expi@2

; 250  : 			{
; 251  : 				Commands->Set_Animation(obj,Get_Parameter("Animation"),false,0,Get_Float_Parameter("LastFrame"),0,false);

	fldz
	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ecx
	fstp	DWORD PTR [esp]
	push	OFFSET ??_C@_09GIBPIKCC@LastFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET ??_C@_09ONEINPNJ@Animation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edi, DWORD PTR _obj$[esp+80]
	push	eax
	mov	eax, DWORD PTR [ebx]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH

; 252  : 				if (_stricmp(Get_Parameter("Sound"),"0"))

	push	OFFSET ??_C@_01GBGANLPD@0?$AA@
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Timer_Expi@2

; 253  : 				{
; 254  : 					Commands->Create_Sound(Get_Parameter("Sound"),Commands->Get_Position(obj),obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	push	edi
	lea	ecx, DWORD PTR $T61542[esp+68]
	push	edi
	push	ecx
	lea	ebx, DWORD PTR [eax+172]
	call	edx
	add	esp, 8
	push	eax
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax
	add	esp, 12					; 0000000cH
$LN3@Timer_Expi@2:

; 255  : 				}
; 256  : 				Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+12]
	push	edi
	call	edx
	add	esp, 8
	pop	edi

; 257  : 				State = 4;

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

; 266  : 	}
; 267  : }

	add	esp, 52					; 00000034H
	ret	8
$LN6@Timer_Expi@2:

; 258  : 			}
; 259  : 		}
; 260  : 	}
; 261  : 	else if (number == 2)

	cmp	eax, 2
	jne	SHORT $LN1@Timer_Expi@2

; 262  : 	{
; 263  : 		char params[40];
; 264  : 		sprintf(params,"9813199,%d",Commands->Get_ID(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edi, DWORD PTR _obj$[esp+60]
	mov	ecx, DWORD PTR [eax+108]
	push	ebp
	push	edi
	call	ecx
	push	eax
	lea	edx, DWORD PTR _params$56743[esp+76]
	push	OFFSET ??_C@_0L@NKNAGBBD@9813199?0?$CFd?$AA@
	push	edx
	call	_sprintf

; 265  : 		Commands->Attach_Script(Commands->Create_Object(Get_Parameter("Sensor_Preset"),Commands->Get_Bone_Position(obj,Get_Parameter("Sensor_Creation_Bone"))),"MDB_Send_Custom_Enemy_Seen",params);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ebx, DWORD PTR [eax+120]
	lea	ebp, DWORD PTR [eax+100]
	add	eax, 68					; 00000044H
	add	esp, 16					; 00000010H
	mov	DWORD PTR tv146[esp+64], eax
	lea	eax, DWORD PTR _params$56743[esp+68]
	push	eax
	push	OFFSET ??_C@_0BL@FCNNONNN@MDB_Send_Custom_Enemy_Seen?$AA@
	push	OFFSET ??_C@_0BF@GIFHCGCH@Sensor_Creation_Bone?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR tv146[esp+72]
	push	eax
	mov	eax, DWORD PTR [edx]
	lea	ecx, DWORD PTR $T61543[esp+80]
	push	edi
	push	ecx
	call	eax
	add	esp, 12					; 0000000cH
	push	eax
	push	OFFSET ??_C@_0O@PKMGNIBI@Sensor_Preset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebp]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [ebx]
	add	esp, 8
	push	eax
	call	edx
	add	esp, 12					; 0000000cH
	pop	ebp
$LN1@Timer_Expi@2:
	pop	edi
	pop	esi
	pop	ebx

; 266  : 	}
; 267  : }

	add	esp, 52					; 00000034H
	ret	8
?Timer_Expired@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEH@Z ENDP ; MDB_Base_Defense_Popup_VTOL_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@MDB_Base_Defense_Popup_VTOL_Only@@EAEXXZ ; MDB_Base_Defense_Popup_VTOL_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@MDB_Base_Defense_Popup_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@MDB_Base_Defense_Popup_VTOL_Only@@EAEXXZ PROC ; MDB_Base_Defense_Popup_VTOL_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 270  : {

	push	esi
	mov	esi, ecx

; 271  : 	Auto_Save_Variable(1,4,&State);

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

; 272  : 	Auto_Save_Variable(2,4,&LastSeen);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 273  : 	Auto_Save_Variable(3,4,&LastAttack);

	lea	edx, DWORD PTR [esi+40]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 274  : 	Auto_Save_Variable(4,4,&ReturnTime);

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

; 275  : 	Auto_Save_Variable(5,4,&MaxDis);

	lea	ecx, DWORD PTR [esi+44]
	push	ecx
	push	4
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 276  : }

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

; 280  : 	State = 1;
; 281  : 	Commands->Set_Animation(obj,Get_Parameter("Animation"),false,0,0,0,false);

	fldz
	push	ebx
	push	esi
	push	edi
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	esi, ecx
	fstp	DWORD PTR [esp]
	push	0
	mov	DWORD PTR [esi+28], 1
	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_09ONEINPNJ@Animation?$AA@
	add	ebx, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edi, DWORD PTR _obj$[esp+28]
	push	eax
	mov	eax, DWORD PTR [ebx]
	push	edi
	call	eax

; 282  : 	Commands->Enable_Hibernation(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+568]
	push	0
	push	edi
	call	edx

; 283  : 	Commands->Innate_Enable(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+440]
	push	edi
	call	ecx

; 284  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+300]
	push	1
	push	edi
	call	eax
	add	esp, 48					; 00000030H

; 285  : 	LastAttack = The_Game()->GameDuration_Seconds;

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game
	mov	ecx, DWORD PTR [eax+604]
	mov	DWORD PTR [esi+40], ecx

; 286  : 	LastSeen = 0;
; 287  : 	MaxDis = Get_Float_Parameter("MaxAttackDistance");

	push	OFFSET ??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+32], 0
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR [esi+44]

; 288  : 	ReturnTime = Get_Int_Parameter("ReturnTime");

	push	OFFSET ??_C@_0L@FAKKFBNE@ReturnTime?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 289  : 	AdjustInf = Get_Int_Parameter("Adjust_Aim_For_Infantry");

	push	OFFSET ??_C@_0BI@LAMHEDCF@Adjust_Aim_For_Infantry?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+36], eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 290  : 	Commands->Start_Timer(obj,this,3.0f,2);

	fld	DWORD PTR __real@40400000
	test	eax, eax
	push	2
	push	ecx
	setne	dl
	fstp	DWORD PTR [esp]
	mov	BYTE PTR [esi+48], dl
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+128]
	push	esi
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebx

; 291  : }

	ret	4
?Created@MDB_Base_Defense_Popup@@EAEXPAE@Z ENDP		; MDB_Base_Defense_Popup::Created
_TEXT	ENDS
PUBLIC	?Custom@MDB_Base_Defense_Popup@@EAEXPAEHH0@Z	; MDB_Base_Defense_Popup::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@MDB_Base_Defense_Popup@@EAEXPAEHH0@Z
_TEXT	SEGMENT
$T61553 = -24						; size = 12
$T61555 = -12						; size = 12
$T61554 = -12						; size = 12
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@MDB_Base_Defense_Popup@@EAEXPAEHH0@Z PROC	; MDB_Base_Defense_Popup::Custom, COMDAT
; _this$ = ecx

; 294  : {

	sub	esp, 24					; 00000018H

; 295  : 	if (message == 9813199)

	cmp	DWORD PTR _message$[esp+20], 9813199	; 0095bccfH
	push	esi
	mov	esi, ecx
	jne	$LN2@Custom@3
	push	ebp

; 296  : 	{
; 297  : 		GameObject *o = Get_Vehicle(sender);

	mov	ebp, DWORD PTR _sender$[esp+28]
	push	ebp
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 298  : 		if (o)

	test	eax, eax
	je	SHORT $LN4@Custom@3

; 299  : 		{
; 300  : 			sender = o;

	mov	ebp, eax
$LN4@Custom@3:

; 301  : 		}
; 302  : 		if (Commands->Get_Distance(Commands->Get_Position(obj),Commands->Get_Position(sender)) <= MaxDis)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	push	ebx
	push	edi
	lea	ecx, DWORD PTR $T61553[esp+40]
	push	ebp
	push	ecx
	lea	ebx, DWORD PTR [eax+256]
	call	edx
	mov	edi, DWORD PTR _obj$[esp+44]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	add	esp, 8
	push	eax
	lea	eax, DWORD PTR $T61554[esp+44]
	push	edi
	push	eax
	call	edx
	add	esp, 8
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax
	fcomp	DWORD PTR [esi+44]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	$LN9@Custom@3

; 303  : 		{
; 304  : 			if (State == 1)

	cmp	DWORD PTR [esi+28], 1
	jne	$LN9@Custom@3

; 305  : 			{
; 306  : 				State = 2;

	mov	DWORD PTR [esi+28], 2

; 307  : 				Commands->Set_Animation(obj,Get_Parameter("Animation"),false,0,0,Get_Float_Parameter("LastFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_09GIBPIKCC@LastFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	sub	esp, 8
	fstp	DWORD PTR [esp+4]
	mov	ecx, esi
	fldz
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET ??_C@_09ONEINPNJ@Animation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebx]
	push	eax
	push	edi
	call	ecx
	add	esp, 28					; 0000001cH

; 308  : 				if (_stricmp(Get_Parameter("Sound"),"0"))

	push	OFFSET ??_C@_01GBGANLPD@0?$AA@
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN1@Custom@3

; 309  : 				{
; 310  : 					Commands->Create_Sound(Get_Parameter("Sound"),Commands->Get_Position(obj),obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	lea	edx, DWORD PTR $T61555[esp+44]
	lea	ebx, DWORD PTR [eax+172]
	mov	eax, DWORD PTR [eax+64]
	push	edi
	push	edx
	call	eax
	add	esp, 8
	push	eax
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebx]
	push	eax
	call	ecx
	add	esp, 12					; 0000000cH
$LN1@Custom@3:

; 311  : 				}
; 312  : 				LastSeen = Commands->Get_ID(sender);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebp
	call	eax
	add	esp, 4
	mov	DWORD PTR [esi+32], eax

; 313  : 				LastAttack = The_Game()->GameDuration_Seconds;

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game
	mov	ecx, DWORD PTR [eax+604]
	mov	DWORD PTR [esi+40], ecx
$LN9@Custom@3:
	pop	edi
	pop	ebx
	pop	ebp
$LN2@Custom@3:
	pop	esi

; 314  : 			}
; 315  : 		}
; 316  : 	}
; 317  : }

	add	esp, 24					; 00000018H
	ret	16					; 00000010H
?Custom@MDB_Base_Defense_Popup@@EAEXPAEHH0@Z ENDP	; MDB_Base_Defense_Popup::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@MDB_Base_Defense_Popup@@EAEXPAE0@Z	; MDB_Base_Defense_Popup::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@MDB_Base_Defense_Popup@@EAEXPAE0@Z
_TEXT	SEGMENT
$T61564 = -220						; size = 12
$T61563 = -220						; size = 12
_params$56779 = -208					; size = 196
$T61562 = -12						; size = 12
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@MDB_Base_Defense_Popup@@EAEXPAE0@Z PROC	; MDB_Base_Defense_Popup::Enemy_Seen, COMDAT
; _this$ = ecx

; 320  : {

	sub	esp, 220				; 000000dcH
	push	esi
	push	edi

; 321  : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+224]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 322  : 	if (o)

	test	eax, eax
	je	SHORT $LN6@Enemy_Seen@3

; 323  : 	{
; 324  : 		seen = o;

	mov	edi, eax
$LN6@Enemy_Seen@3:

; 325  : 	}
; 326  : 	if (State == 3)

	cmp	DWORD PTR [esi+28], 3
	jne	$LN1@Enemy_Seen@3

; 327  : 	{
; 328  : 		if (Commands->Get_Distance(Commands->Get_Position(obj),Commands->Get_Position(seen)) <= MaxDis)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	push	ebx
	push	ebp
	lea	ecx, DWORD PTR $T61562[esp+236]
	push	edi
	push	ecx
	lea	ebx, DWORD PTR [eax+256]
	call	edx
	mov	ebp, DWORD PTR _obj$[esp+240]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	add	esp, 8
	push	eax
	lea	eax, DWORD PTR $T61563[esp+240]
	push	ebp
	push	eax
	call	edx
	add	esp, 8
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax
	fcomp	DWORD PTR [esi+44]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	$LN4@Enemy_Seen@3

; 329  : 		{
; 330  : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$56779[esp+236]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 331  : 			params.Set_Basic(this,100,1);
; 332  : 			if (AdjustInf && Is_Soldier(seen))

	cmp	BYTE PTR [esi+48], 0
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR _params$56779[esp+236], 100	; 00000064H
	mov	DWORD PTR _params$56779[esp+240], ecx
	mov	DWORD PTR _params$56779[esp+404], -1
	je	$LN3@Enemy_Seen@3
	push	edi
	call	?Is_Soldier@@YA_NPAE@Z			; Is_Soldier
	add	esp, 4
	test	al, al
	je	$LN3@Enemy_Seen@3

; 333  : 			{
; 334  : 				params.Set_Attack_Position(Commands->Get_Bone_Position(seen,"c R Foot"),MaxDis,0.0,true);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+68]
	push	OFFSET ??_C@_08IKKGLDJN@c?5R?5Foot?$AA@
	lea	edx, DWORD PTR $T61564[esp+240]
	push	edi
	push	edx
	call	ecx
	fld	DWORD PTR [esi+44]

; 335  : 				params.Hold_Action = true;
; 336  : 				LastSeen = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$56779[esp+324]
	fld	DWORD PTR [eax]
	mov	ebx, 1
	fstp	DWORD PTR _params$56779[esp+344]
	push	edi
	fld	DWORD PTR [eax+4]
	fstp	DWORD PTR _params$56779[esp+352]
	fld	DWORD PTR [eax+8]
	mov	BYTE PTR _params$56779[esp+344], bl
	fstp	DWORD PTR _params$56779[esp+356]
	mov	BYTE PTR _params$56779[esp+360], bl
	fldz
	fstp	DWORD PTR _params$56779[esp+332]
	mov	eax, DWORD PTR [edx+108]
	call	eax

; 337  : 				Commands->Start_Timer(obj,this,1.0f,3);

	fld1
	add	esp, 16					; 00000010H
	push	3
	push	ecx
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebp
	call	edx
	add	esp, 16					; 00000010H

; 338  : 			}
; 339  : 			else

	jmp	SHORT $LN15@Enemy_Seen@3
$LN3@Enemy_Seen@3:

; 340  : 			{
; 341  : 				params.Set_Attack_Hold(seen,MaxDis,0.0,true,true);

	fld	DWORD PTR [esi+44]
	mov	ebx, 1
	fstp	DWORD PTR _params$56779[esp+312]
	mov	DWORD PTR _params$56779[esp+324], edi
	fldz
	mov	BYTE PTR _params$56779[esp+328], bl
	fstp	DWORD PTR _params$56779[esp+316]
	mov	BYTE PTR _params$56779[esp+344], bl
$LN15@Enemy_Seen@3:

; 342  : 			}
; 343  : 			Commands->Action_Attack(obj,params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+20]
	lea	eax, DWORD PTR _params$56779[esp+236]
	push	eax
	push	ebp
	call	edx
	add	esp, 8

; 344  : 			LastAttack = The_Game()->GameDuration_Seconds;

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game

; 345  : 			Commands->Start_Timer(obj,this,(float)ReturnTime,1);

	fild	DWORD PTR [esi+36]
	mov	eax, DWORD PTR [eax+604]
	push	ebx
	push	ecx
	mov	DWORD PTR [esi+40], eax
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebp
	call	edx

; 346  : 		}
; 347  : 		else
; 348  : 		{
; 349  : 			Commands->Start_Timer(obj,this,(float)ReturnTime,1);

	add	esp, 16					; 00000010H
	pop	ebp
	pop	ebx
	pop	edi
	pop	esi

; 350  : 		}
; 351  : 	}
; 352  : }

	add	esp, 220				; 000000dcH
	ret	8
$LN4@Enemy_Seen@3:

; 346  : 		}
; 347  : 		else
; 348  : 		{
; 349  : 			Commands->Start_Timer(obj,this,(float)ReturnTime,1);

	fild	DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	ecx
	mov	ecx, DWORD PTR [eax+128]
	fstp	DWORD PTR [esp]
	push	esi
	push	ebp
	call	ecx
	add	esp, 16					; 00000010H
	pop	ebp
	pop	ebx
$LN1@Enemy_Seen@3:
	pop	edi
	pop	esi

; 350  : 		}
; 351  : 	}
; 352  : }

	add	esp, 220				; 000000dcH
	ret	8
?Enemy_Seen@MDB_Base_Defense_Popup@@EAEXPAE0@Z ENDP	; MDB_Base_Defense_Popup::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Animation_Complete@MDB_Base_Defense_Popup@@EAEXPAEPBD@Z ; MDB_Base_Defense_Popup::Animation_Complete
; Function compile flags: /Ogtpy
;	COMDAT ?Animation_Complete@MDB_Base_Defense_Popup@@EAEXPAEPBD@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_anim$ = 12						; size = 4
?Animation_Complete@MDB_Base_Defense_Popup@@EAEXPAEPBD@Z PROC ; MDB_Base_Defense_Popup::Animation_Complete, COMDAT
; _this$ = ecx

; 355  : {

	push	esi
	mov	esi, ecx

; 356  : 	if (State == 2)

	mov	eax, DWORD PTR [esi+28]
	cmp	eax, 2
	jne	SHORT $LN3@Animation_@3

; 357  : 	{
; 358  : 		State = 3;
; 359  : 		Enemy_Seen(obj,Commands->Find_Object(LastSeen));

	mov	eax, DWORD PTR [esi+32]
	mov	DWORD PTR [esi+28], 3
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+96]
	push	edi
	mov	edi, DWORD PTR [esi]
	push	eax
	call	edx
	mov	edx, DWORD PTR [edi+40]
	add	esp, 4
	push	eax
	mov	eax, DWORD PTR _obj$[esp+8]
	push	eax
	mov	ecx, esi
	call	edx
	pop	edi
	pop	esi

; 364  : 	}
; 365  : }

	ret	8
$LN3@Animation_@3:

; 360  : 	}
; 361  : 	else if (State == 4)

	cmp	eax, 4
	jne	SHORT $LN1@Animation_@3

; 362  : 	{
; 363  : 		State = 1;

	mov	DWORD PTR [esi+28], 1
$LN1@Animation_@3:
	pop	esi

; 364  : 	}
; 365  : }

	ret	8
?Animation_Complete@MDB_Base_Defense_Popup@@EAEXPAEPBD@Z ENDP ; MDB_Base_Defense_Popup::Animation_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@MDB_Base_Defense_Popup@@EAEXPAEHW4ActionCompleteReason@@@Z ; MDB_Base_Defense_Popup::Action_Complete
; Function compile flags: /Ogtpy
;	COMDAT ?Action_Complete@MDB_Base_Defense_Popup@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@MDB_Base_Defense_Popup@@EAEXPAEHW4ActionCompleteReason@@@Z PROC ; MDB_Base_Defense_Popup::Action_Complete, COMDAT
; _this$ = ecx

; 369  : 	Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	mov	eax, DWORD PTR _obj$[esp-4]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+12]
	push	eax
	call	edx
	add	esp, 8

; 370  : }

	ret	12					; 0000000cH
?Action_Complete@MDB_Base_Defense_Popup@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; MDB_Base_Defense_Popup::Action_Complete
_TEXT	ENDS
PUBLIC	?Timer_Expired@MDB_Base_Defense_Popup@@EAEXPAEH@Z ; MDB_Base_Defense_Popup::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@MDB_Base_Defense_Popup@@EAEXPAEH@Z
_TEXT	SEGMENT
$T61598 = -64						; size = 12
$T61597 = -64						; size = 12
$T61596 = -64						; size = 12
$T61599 = -52						; size = 12
_params$56813 = -40					; size = 40
tv192 = 8						; size = 4
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@MDB_Base_Defense_Popup@@EAEXPAEH@Z PROC	; MDB_Base_Defense_Popup::Timer_Expired, COMDAT
; _this$ = ecx

; 374  : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 64					; 00000040H
	cmp	eax, 1
	push	ebx
	push	esi
	push	edi
	mov	esi, ecx
	jne	$LN9@Timer_Expi@3

; 375  : 	{
; 376  : 		if (State == 3)

	cmp	DWORD PTR [esi+28], 3
	jne	$LN1@Timer_Expi@3

; 377  : 		{
; 378  : 			if ((int)(The_Game()->GameDuration_Seconds - LastAttack)+1 >= Get_Int_Parameter("ReturnTime"))

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game
	mov	edi, DWORD PTR [eax+604]
	sub	edi, DWORD PTR [esi+40]
	push	OFFSET ??_C@_0L@FAKKFBNE@ReturnTime?$AA@
	mov	ecx, esi
	add	edi, 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	cmp	edi, eax
	jl	$LN1@Timer_Expi@3

; 379  : 			{
; 380  : 				Commands->Set_Animation(obj,Get_Parameter("Animation"),false,0,Get_Float_Parameter("LastFrame"),0,false);

	fldz
	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ecx
	fstp	DWORD PTR [esp]
	push	OFFSET ??_C@_09GIBPIKCC@LastFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET ??_C@_09ONEINPNJ@Animation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edi, DWORD PTR _obj$[esp+92]
	push	eax
	mov	eax, DWORD PTR [ebx]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH

; 381  : 				if (_stricmp(Get_Parameter("Sound"),"0"))

	push	OFFSET ??_C@_01GBGANLPD@0?$AA@
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN6@Timer_Expi@3

; 382  : 				{
; 383  : 					Commands->Create_Sound(Get_Parameter("Sound"),Commands->Get_Position(obj),obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	push	edi
	lea	ecx, DWORD PTR $T61596[esp+80]
	push	edi
	push	ecx
	lea	ebx, DWORD PTR [eax+172]
	call	edx
	add	esp, 8
	push	eax
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax
	add	esp, 12					; 0000000cH
$LN6@Timer_Expi@3:

; 384  : 				}
; 385  : 				Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+12]
	push	edi
	call	edx

; 399  : 		{
; 400  : 			Commands->Action_Reset(obj,100);

	add	esp, 8
	pop	edi
	mov	DWORD PTR [esi+28], 4
	pop	esi
	pop	ebx

; 401  : 		}
; 402  : 	}
; 403  : }

	add	esp, 64					; 00000040H
	ret	8
$LN9@Timer_Expi@3:

; 386  : 				State = 4;
; 387  : 			}
; 388  : 		}
; 389  : 	}
; 390  : 	else if (number == 2)

	cmp	eax, 2
	jne	$LN4@Timer_Expi@3

; 391  : 	{
; 392  : 		char params[40];
; 393  : 		sprintf(params,"9813199,%d",Commands->Get_ID(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edi, DWORD PTR _obj$[esp+72]
	mov	ecx, DWORD PTR [eax+108]
	push	ebp
	push	edi
	call	ecx
	push	eax
	lea	edx, DWORD PTR _params$56813[esp+88]
	push	OFFSET ??_C@_0L@NKNAGBBD@9813199?0?$CFd?$AA@
	push	edx
	call	_sprintf

; 394  : 		Commands->Attach_Script(Commands->Create_Object(Get_Parameter("Sensor_Preset"),Commands->Get_Bone_Position(obj,Get_Parameter("Sensor_Creation_Bone"))),"MDB_Send_Custom_Enemy_Seen",params);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ebx, DWORD PTR [eax+120]
	lea	ebp, DWORD PTR [eax+100]
	add	eax, 68					; 00000044H
	add	esp, 16					; 00000010H
	mov	DWORD PTR tv192[esp+76], eax
	lea	eax, DWORD PTR _params$56813[esp+80]
	push	eax
	push	OFFSET ??_C@_0BL@FCNNONNN@MDB_Send_Custom_Enemy_Seen?$AA@
	push	OFFSET ??_C@_0BF@GIFHCGCH@Sensor_Creation_Bone?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR tv192[esp+84]
	push	eax
	mov	eax, DWORD PTR [edx]
	lea	ecx, DWORD PTR $T61597[esp+92]
	push	edi
	push	ecx
	call	eax
	add	esp, 12					; 0000000cH
	push	eax
	push	OFFSET ??_C@_0O@PKMGNIBI@Sensor_Preset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebp]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [ebx]
	add	esp, 8
	push	eax
	call	edx
	add	esp, 12					; 0000000cH
	pop	ebp
	pop	edi
	pop	esi
	pop	ebx

; 401  : 		}
; 402  : 	}
; 403  : }

	add	esp, 64					; 00000040H
	ret	8
$LN4@Timer_Expi@3:

; 395  : 	}
; 396  : 	else if (number == 3)

	cmp	eax, 3
	jne	SHORT $LN1@Timer_Expi@3

; 397  : 	{
; 398  : 		if (Commands->Get_Distance(Commands->Get_Position(obj),Commands->Get_Position(Commands->Find_Object(LastSeen))) > MaxDis)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+256]
	lea	ebx, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [ebx]
	push	eax
	lea	eax, DWORD PTR $T61598[esp+84]
	push	eax
	call	ecx
	mov	ebx, DWORD PTR _obj$[esp+84]
	add	esp, 12					; 0000000cH
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T61599[esp+80]
	push	ebx
	push	edx
	call	ecx
	mov	edx, DWORD PTR [edi]
	add	esp, 8
	push	eax
	call	edx
	fcomp	DWORD PTR [esi+44]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN1@Timer_Expi@3

; 399  : 		{
; 400  : 			Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	ecx, DWORD PTR [eax+12]
	fstp	DWORD PTR [esp]
	push	ebx
	call	ecx
	add	esp, 8
$LN1@Timer_Expi@3:
	pop	edi
	pop	esi
	pop	ebx

; 401  : 		}
; 402  : 	}
; 403  : }

	add	esp, 64					; 00000040H
	ret	8
?Timer_Expired@MDB_Base_Defense_Popup@@EAEXPAEH@Z ENDP	; MDB_Base_Defense_Popup::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@MDB_Base_Defense_Popup@@EAEXXZ ; MDB_Base_Defense_Popup::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@MDB_Base_Defense_Popup@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@MDB_Base_Defense_Popup@@EAEXXZ PROC ; MDB_Base_Defense_Popup::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 406  : {

	push	esi
	mov	esi, ecx

; 407  : 	Auto_Save_Variable(1,4,&State);

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

; 408  : 	Auto_Save_Variable(2,4,&LastSeen);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 409  : 	Auto_Save_Variable(3,4,&LastAttack);

	lea	edx, DWORD PTR [esi+40]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 410  : 	Auto_Save_Variable(4,4,&ReturnTime);

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

; 411  : 	Auto_Save_Variable(5,4,&MaxDis);

	lea	ecx, DWORD PTR [esi+44]
	push	ecx
	push	4
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 412  : 	Auto_Save_Variable(6,1,&AdjustInf);

	lea	edx, DWORD PTR [esi+48]
	push	edx
	push	1
	push	6
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 413  : }

	ret	0
?Register_Auto_Save_Variables@MDB_Base_Defense_Popup@@EAEXXZ ENDP ; MDB_Base_Defense_Popup::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	__real@40a00000
PUBLIC	__real@41700000
PUBLIC	__real@40800000
PUBLIC	__real@41200000
PUBLIC	?Created@MDB_Base_Defense@@EAEXPAE@Z		; MDB_Base_Defense::Created
;	COMDAT __real@40a00000
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
__real@40a00000 DD 040a00000r			; 5
CONST	ENDS
;	COMDAT __real@41700000
CONST	SEGMENT
__real@41700000 DD 041700000r			; 15
CONST	ENDS
;	COMDAT __real@40800000
CONST	SEGMENT
__real@40800000 DD 040800000r			; 4
CONST	ENDS
;	COMDAT __real@41200000
CONST	SEGMENT
__real@41200000 DD 041200000r			; 10
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbdef.cpp
CONST	ENDS
;	COMDAT ?Created@MDB_Base_Defense@@EAEXPAE@Z
_TEXT	SEGMENT
_pos$ = -220						; size = 12
$T61607 = -208						; size = 12
_var$ = -196						; size = 196
_obj$ = 8						; size = 4
?Created@MDB_Base_Defense@@EAEXPAE@Z PROC		; MDB_Base_Defense::Created, COMDAT
; _this$ = ecx

; 416  : {

	sub	esp, 220				; 000000dcH

; 417  : 	Commands->Enable_Hibernation(obj,false);

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

; 418  : 	Commands->Innate_Enable(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+440]
	push	edi
	call	eax

; 419  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	1
	push	edi
	call	edx

; 420  : 	Vector3 pos = Commands->Get_Position(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T61607[esp+252]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$[esp+260], ecx

; 421  : 	V[0].X = pos.X - 10;

	fld	DWORD PTR _pos$[esp+260]
	fld	ST(0)
	mov	DWORD PTR _pos$[esp+264], edx
	fld	DWORD PTR __real@41200000
	mov	DWORD PTR _pos$[esp+268], eax
	fsub	ST(1), ST(0)
	add	esp, 28					; 0000001cH
	fxch	ST(1)

; 422  : 	V[0].Y = pos.Y - 10;
; 423  : 	V[0].Z = pos.Z + 2;
; 424  : 	V[1].X = pos.X + 10;
; 425  : 	V[1].Y = pos.Y;
; 426  : 	V[1].Z = pos.Z + 2;
; 427  : 	V[2].X = pos.X + 10;
; 428  : 	V[2].Y = pos.Y - 10;
; 429  : 	V[2].Z = pos.Z + 2;
; 430  : 	V[3].X = pos.X;
; 431  : 	V[3].Y = pos.Y + 10;
; 432  : 	V[3].Z = pos.Z + 4;
; 433  : 	ActionParamsStruct var;

	lea	ecx, DWORD PTR _var$[esp+232]
	fstp	DWORD PTR [esi+28]
	fld	DWORD PTR _pos$[esp+236]
	fld	ST(0)
	fsub	ST(0), ST(2)
	fst	DWORD PTR [esi+32]
	fld	DWORD PTR _pos$[esp+240]
	fld	DWORD PTR __real@40000000
	fadd	ST(0), ST(1)
	fst	DWORD PTR [esi+36]
	fld	ST(5)
	fadd	ST(0), ST(5)
	fst	DWORD PTR [esi+40]
	fstp	DWORD PTR [esi+52]
	fxch	ST(3)
	fst	DWORD PTR [esi+44]
	fxch	ST(3)
	fst	DWORD PTR [esi+48]
	fstp	DWORD PTR [esi+60]
	fxch	ST(1)
	fstp	DWORD PTR [esi+56]
	fxch	ST(3)
	fstp	DWORD PTR [esi+64]
	faddp	ST(1), ST(0)
	fstp	DWORD PTR [esi+68]
	fadd	DWORD PTR __real@40800000
	fstp	DWORD PTR [esi+72]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 434  : 	var.Set_Basic(this,1,2);

	mov	ecx, DWORD PTR [esi+4]

; 435  : 	var.Set_Attack_Position(V[Commands->Get_Random_Int(0,4)],0.0,0.0,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _var$[esp+232], 1
	mov	DWORD PTR _var$[esp+236], ecx
	mov	DWORD PTR _var$[esp+400], -1
	mov	eax, DWORD PTR [edx+152]
	push	4
	push	0
	call	eax
	fldz
	lea	ecx, DWORD PTR [eax+eax*2]
	fst	DWORD PTR _var$[esp+316]
	fld	DWORD PTR [esi+ecx*4+28]
	lea	eax, DWORD PTR [esi+ecx*4+28]
	fstp	DWORD PTR _var$[esp+336]
	add	esp, 8
	fld	DWORD PTR [eax+4]

; 436  : 	MaxDis = Get_Float_Parameter("MaxAttackDistance");

	push	OFFSET ??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@
	fstp	DWORD PTR _var$[esp+336]
	mov	ecx, esi
	fld	DWORD PTR [eax+8]
	mov	BYTE PTR _var$[esp+328], 1
	fstp	DWORD PTR _var$[esp+340]
	fstp	DWORD PTR _var$[esp+316]
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter

; 437  : 	LastSeen = 0;
; 438  : 	AdjustInf = Get_Int_Parameter("Adjust_Aim_For_Infantry");

	push	OFFSET ??_C@_0BI@LAMHEDCF@Adjust_Aim_For_Infantry?$AA@
	fstp	DWORD PTR [esi+76]
	mov	ecx, esi
	mov	DWORD PTR [esi+84], 0
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 439  : 	Commands->Start_Timer(obj,this,Commands->Get_Random(5.0f,15.0f),1);

	fld	DWORD PTR __real@41700000
	test	eax, eax
	setne	dl
	mov	BYTE PTR [esi+80], dl
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	sub	esp, 8
	fstp	DWORD PTR [esp+4]
	lea	ebp, DWORD PTR [eax+128]
	fld	DWORD PTR __real@40a00000
	mov	eax, DWORD PTR [eax+148]
	fstp	DWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR [ebp]
	fstp	DWORD PTR [esp+4]
	add	esp, 4
	push	esi
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp

; 440  : }

	add	esp, 220				; 000000dcH
	ret	4
?Created@MDB_Base_Defense@@EAEXPAE@Z ENDP		; MDB_Base_Defense::Created
_TEXT	ENDS
PUBLIC	?Enemy_Seen@MDB_Base_Defense@@EAEXPAE0@Z	; MDB_Base_Defense::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@MDB_Base_Defense@@EAEXPAE0@Z
_TEXT	SEGMENT
_params$ = -208						; size = 196
$T61633 = -12						; size = 12
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@MDB_Base_Defense@@EAEXPAE0@Z PROC		; MDB_Base_Defense::Enemy_Seen, COMDAT
; _this$ = ecx

; 443  : {

	sub	esp, 208				; 000000d0H
	push	ebx
	push	esi
	push	edi

; 444  : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+216]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 445  : 	if (o)

	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@4

; 446  : 	{
; 447  : 		seen = o;

	mov	edi, eax
$LN3@Enemy_Seen@4:

; 448  : 	}
; 449  : 	ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$[esp+220]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 450  : 	params.Set_Basic(this,100,1);
; 451  : 	if (AdjustInf && Is_Soldier(seen))

	cmp	BYTE PTR [esi+80], 0
	mov	eax, DWORD PTR [esi+4]
	mov	ebx, DWORD PTR _obj$[esp+216]
	mov	DWORD PTR _params$[esp+220], 100	; 00000064H
	mov	DWORD PTR _params$[esp+224], eax
	mov	DWORD PTR _params$[esp+388], -1
	je	$LN2@Enemy_Seen@4
	push	edi
	call	?Is_Soldier@@YA_NPAE@Z			; Is_Soldier
	add	esp, 4
	test	al, al
	je	SHORT $LN2@Enemy_Seen@4

; 452  : 	{
; 453  : 		params.Set_Attack_Position(Commands->Get_Bone_Position(seen,"c R Foot"),MaxDis,0.0,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+68]
	push	OFFSET ??_C@_08IKKGLDJN@c?5R?5Foot?$AA@
	lea	ecx, DWORD PTR $T61633[esp+224]
	push	edi
	push	ecx
	call	eax
	fld	DWORD PTR [esi+76]

; 454  : 		params.Hold_Action = true;
; 455  : 		LastSeen = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$[esp+308]
	fld	DWORD PTR [eax]
	push	edi
	fstp	DWORD PTR _params$[esp+332]
	fld	DWORD PTR [eax+4]
	fstp	DWORD PTR _params$[esp+336]
	fld	DWORD PTR [eax+8]
	mov	al, 1
	fstp	DWORD PTR _params$[esp+340]
	mov	BYTE PTR _params$[esp+328], al
	fldz
	mov	BYTE PTR _params$[esp+344], al
	fstp	DWORD PTR _params$[esp+316]
	mov	edx, DWORD PTR [ecx+108]
	call	edx

; 456  : 		Commands->Start_Timer(obj,this,1.0f,3);

	fld1
	add	esp, 16					; 00000010H
	push	3
	push	ecx
	mov	DWORD PTR [esi+84], eax
	fstp	DWORD PTR [esp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+128]
	push	esi
	push	ebx
	call	ecx
	add	esp, 16					; 00000010H

; 457  : 	}
; 458  : 	else

	jmp	SHORT $LN12@Enemy_Seen@4
$LN2@Enemy_Seen@4:

; 459  : 	{
; 460  : 		params.Set_Attack_Hold(seen,MaxDis,0.0,true,true);

	fld	DWORD PTR [esi+76]
	mov	al, 1
	fstp	DWORD PTR _params$[esp+296]
	mov	DWORD PTR _params$[esp+308], edi
	fldz
	mov	BYTE PTR _params$[esp+312], al
	fstp	DWORD PTR _params$[esp+300]
	mov	BYTE PTR _params$[esp+328], al
$LN12@Enemy_Seen@4:

; 461  : 	}
; 462  : 	Commands->Action_Attack(obj,params);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+20]
	lea	edx, DWORD PTR _params$[esp+220]
	push	edx
	push	ebx
	call	ecx
	add	esp, 8
	pop	edi
	pop	esi
	pop	ebx

; 463  : }

	add	esp, 208				; 000000d0H
	ret	8
?Enemy_Seen@MDB_Base_Defense@@EAEXPAE0@Z ENDP		; MDB_Base_Defense::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Action_Complete@MDB_Base_Defense@@EAEXPAEHW4ActionCompleteReason@@@Z ; MDB_Base_Defense::Action_Complete
; Function compile flags: /Ogtpy
;	COMDAT ?Action_Complete@MDB_Base_Defense@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@MDB_Base_Defense@@EAEXPAEHW4ActionCompleteReason@@@Z PROC ; MDB_Base_Defense::Action_Complete, COMDAT
; _this$ = ecx

; 467  : 	if (action == 1)

	cmp	DWORD PTR _action$[esp-4], 1
	jne	SHORT $LN1@Action_Com

; 468  : 	{
; 469  : 		Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	mov	eax, DWORD PTR _obj$[esp-4]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+12]
	push	eax
	call	edx
	add	esp, 8
$LN1@Action_Com:

; 470  : 	}
; 471  : }

	ret	12					; 0000000cH
?Action_Complete@MDB_Base_Defense@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; MDB_Base_Defense::Action_Complete
_TEXT	ENDS
PUBLIC	?Timer_Expired@MDB_Base_Defense@@EAEXPAEH@Z	; MDB_Base_Defense::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@MDB_Base_Defense@@EAEXPAEH@Z
_TEXT	SEGMENT
$T61660 = -220						; size = 12
$T61659 = -208						; size = 12
_var$56854 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@MDB_Base_Defense@@EAEXPAEH@Z PROC	; MDB_Base_Defense::Timer_Expired, COMDAT
; _this$ = ecx

; 475  : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 220				; 000000dcH
	push	ebx
	push	esi
	mov	ebx, 1
	cmp	eax, ebx
	push	edi
	mov	esi, ecx
	jne	$LN4@Timer_Expi@4

; 476  : 	{
; 477  : 		ActionParamsStruct var;

	lea	ecx, DWORD PTR _var$56854[esp+232]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 478  : 		var.Set_Basic(this,1,2);

	mov	eax, DWORD PTR [esi+4]

; 479  : 		var.Set_Attack_Position(V[Commands->Get_Random_Int(0,4)],0.0,0.0,true);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _var$56854[esp+232], ebx
	mov	DWORD PTR _var$56854[esp+236], eax
	mov	DWORD PTR _var$56854[esp+400], -1
	mov	edx, DWORD PTR [ecx+152]
	push	4
	push	0
	call	edx
	fldz
	fst	DWORD PTR _var$56854[esp+316]
	lea	eax, DWORD PTR [eax+eax*2]
	fld	DWORD PTR [esi+eax*4+28]
	lea	eax, DWORD PTR [esi+eax*4+28]
	fstp	DWORD PTR _var$56854[esp+336]
	add	esp, 8
	fld	DWORD PTR [eax+4]

; 480  : 		Commands->Start_Timer(obj,this,Commands->Get_Random(5.0f,15.0f),1);

	push	ebx
	fstp	DWORD PTR _var$56854[esp+336]
	sub	esp, 8
	fld	DWORD PTR [eax+8]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _var$56854[esp+348]
	mov	BYTE PTR _var$56854[esp+336], bl
	lea	edi, DWORD PTR [eax+128]
	fstp	DWORD PTR _var$56854[esp+324]
	mov	ecx, DWORD PTR [eax+148]
	fld	DWORD PTR __real@41700000
	fstp	DWORD PTR [esp+4]
	fld	DWORD PTR __real@40a00000
	fstp	DWORD PTR [esp]
	call	ecx
	mov	edx, DWORD PTR _obj$[esp+240]
	fstp	DWORD PTR [esp+4]
	mov	eax, DWORD PTR [edi]
	add	esp, 4
	push	esi
	push	edx
	call	eax
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebx

; 487  : 		}
; 488  : 	}
; 489  : }

	add	esp, 220				; 000000dcH
	ret	8
$LN4@Timer_Expi@4:

; 481  : 	}
; 482  : 	else if (number == 2)

	cmp	eax, 2
	jne	SHORT $LN1@Timer_Expi@4

; 483  : 	{
; 484  : 		if (Commands->Get_Distance(Commands->Get_Position(obj),Commands->Get_Position(Commands->Find_Object(LastSeen))) > MaxDis)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [esi+84]
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+256]
	lea	ebx, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [ebx]
	push	eax
	lea	eax, DWORD PTR $T61659[esp+240]
	push	eax
	call	ecx
	mov	ebx, DWORD PTR _obj$[esp+240]
	add	esp, 12					; 0000000cH
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T61660[esp+236]
	push	ebx
	push	edx
	call	ecx
	mov	edx, DWORD PTR [edi]
	add	esp, 8
	push	eax
	call	edx
	fcomp	DWORD PTR [esi+76]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN1@Timer_Expi@4

; 485  : 		{
; 486  : 			Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	ecx, DWORD PTR [eax+12]
	fstp	DWORD PTR [esp]
	push	ebx
	call	ecx
	add	esp, 8
$LN1@Timer_Expi@4:
	pop	edi
	pop	esi
	pop	ebx

; 487  : 		}
; 488  : 	}
; 489  : }

	add	esp, 220				; 000000dcH
	ret	8
?Timer_Expired@MDB_Base_Defense@@EAEXPAEH@Z ENDP	; MDB_Base_Defense::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@MDB_Base_Defense@@EAEXXZ ; MDB_Base_Defense::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@MDB_Base_Defense@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@MDB_Base_Defense@@EAEXXZ PROC ; MDB_Base_Defense::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 492  : {

	push	esi
	mov	esi, ecx

; 493  : 	Auto_Save_Variable(1,4,&MaxDis);

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

; 494  : 	Auto_Save_Variable(2,1,&AdjustInf);

	lea	ecx, DWORD PTR [esi+80]
	push	ecx
	push	1
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 495  : 	Auto_Save_Variable(3,4,&LastSeen);

	lea	edx, DWORD PTR [esi+84]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 496  : 	Auto_Save_Variable(4,4,&V[0].X);

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

; 497  : 	Auto_Save_Variable(5,4,&V[0].Y);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 498  : 	Auto_Save_Variable(6,4,&V[0].Z);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	6
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 499  : 	Auto_Save_Variable(7,4,&V[1].X);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	4
	push	7
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 500  : 	Auto_Save_Variable(8,4,&V[1].Y);

	lea	ecx, DWORD PTR [esi+44]
	push	ecx
	push	4
	push	8
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 501  : 	Auto_Save_Variable(9,4,&V[1].Z);

	lea	edx, DWORD PTR [esi+48]
	push	edx
	push	4
	push	9
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 502  : 	Auto_Save_Variable(10,4,&V[2].X);

	lea	eax, DWORD PTR [esi+52]
	push	eax
	push	4
	push	10					; 0000000aH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 503  : 	Auto_Save_Variable(11,4,&V[2].Y);

	lea	ecx, DWORD PTR [esi+56]
	push	ecx
	push	4
	push	11					; 0000000bH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 504  : 	Auto_Save_Variable(12,4,&V[2].Z);

	lea	edx, DWORD PTR [esi+60]
	push	edx
	push	4
	push	12					; 0000000cH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 505  : 	Auto_Save_Variable(13,4,&V[3].X);

	lea	eax, DWORD PTR [esi+64]
	push	eax
	push	4
	push	13					; 0000000dH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 506  : 	Auto_Save_Variable(14,4,&V[3].Y);

	lea	ecx, DWORD PTR [esi+68]
	push	ecx
	push	4
	push	14					; 0000000eH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 507  : 	Auto_Save_Variable(15,4,&V[3].Z);

	lea	edx, DWORD PTR [esi+72]
	push	edx
	push	4
	push	15					; 0000000fH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 508  : }

	ret	0
?Register_Auto_Save_Variables@MDB_Base_Defense@@EAEXXZ ENDP ; MDB_Base_Defense::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@MDB_Base_Defense_No_VTOL@@EAEXPAE@Z	; MDB_Base_Defense_No_VTOL::Created
; Function compile flags: /Ogtpy
;	COMDAT ?Created@MDB_Base_Defense_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT
_pos$ = -220						; size = 12
$T61681 = -208						; size = 12
_var$ = -196						; size = 196
_obj$ = 8						; size = 4
?Created@MDB_Base_Defense_No_VTOL@@EAEXPAE@Z PROC	; MDB_Base_Defense_No_VTOL::Created, COMDAT
; _this$ = ecx

; 511  : {

	sub	esp, 220				; 000000dcH

; 512  : 	Commands->Enable_Hibernation(obj,false);

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

; 513  : 	Commands->Innate_Enable(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+440]
	push	edi
	call	eax

; 514  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	1
	push	edi
	call	edx

; 515  : 	Vector3 pos = Commands->Get_Position(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T61681[esp+252]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$[esp+260], ecx

; 516  : 	V[0].X = pos.X - 10;

	fld	DWORD PTR _pos$[esp+260]
	fld	ST(0)
	mov	DWORD PTR _pos$[esp+264], edx
	fld	DWORD PTR __real@41200000
	mov	DWORD PTR _pos$[esp+268], eax
	fsub	ST(1), ST(0)
	add	esp, 28					; 0000001cH
	fxch	ST(1)

; 517  : 	V[0].Y = pos.Y - 10;
; 518  : 	V[0].Z = pos.Z + 2;
; 519  : 	V[1].X = pos.X + 10;
; 520  : 	V[1].Y = pos.Y;
; 521  : 	V[1].Z = pos.Z + 2;
; 522  : 	V[2].X = pos.X + 10;
; 523  : 	V[2].Y = pos.Y - 10;
; 524  : 	V[2].Z = pos.Z + 2;
; 525  : 	V[3].X = pos.X;
; 526  : 	V[3].Y = pos.Y + 10;
; 527  : 	V[3].Z = pos.Z + 4;
; 528  : 	ActionParamsStruct var;

	lea	ecx, DWORD PTR _var$[esp+232]
	fstp	DWORD PTR [esi+28]
	fld	DWORD PTR _pos$[esp+236]
	fld	ST(0)
	fsub	ST(0), ST(2)
	fst	DWORD PTR [esi+32]
	fld	DWORD PTR _pos$[esp+240]
	fld	DWORD PTR __real@40000000
	fadd	ST(0), ST(1)
	fst	DWORD PTR [esi+36]
	fld	ST(5)
	fadd	ST(0), ST(5)
	fst	DWORD PTR [esi+40]
	fstp	DWORD PTR [esi+52]
	fxch	ST(3)
	fst	DWORD PTR [esi+44]
	fxch	ST(3)
	fst	DWORD PTR [esi+48]
	fstp	DWORD PTR [esi+60]
	fxch	ST(1)
	fstp	DWORD PTR [esi+56]
	fxch	ST(3)
	fstp	DWORD PTR [esi+64]
	faddp	ST(1), ST(0)
	fstp	DWORD PTR [esi+68]
	fadd	DWORD PTR __real@40800000
	fstp	DWORD PTR [esi+72]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 529  : 	var.Set_Basic(this,1,2);

	mov	ecx, DWORD PTR [esi+4]

; 530  : 	var.Set_Attack_Position(V[Commands->Get_Random_Int(0,4)],0.0,0.0,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _var$[esp+232], 1
	mov	DWORD PTR _var$[esp+236], ecx
	mov	DWORD PTR _var$[esp+400], -1
	mov	eax, DWORD PTR [edx+152]
	push	4
	push	0
	call	eax
	fldz
	lea	ecx, DWORD PTR [eax+eax*2]
	fst	DWORD PTR _var$[esp+316]
	fld	DWORD PTR [esi+ecx*4+28]
	lea	eax, DWORD PTR [esi+ecx*4+28]
	fstp	DWORD PTR _var$[esp+336]
	add	esp, 8
	fld	DWORD PTR [eax+4]

; 531  : 	MaxDis = Get_Float_Parameter("MaxAttackDistance");

	push	OFFSET ??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@
	fstp	DWORD PTR _var$[esp+336]
	mov	ecx, esi
	fld	DWORD PTR [eax+8]
	mov	BYTE PTR _var$[esp+328], 1
	fstp	DWORD PTR _var$[esp+340]
	fstp	DWORD PTR _var$[esp+316]
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter

; 532  : 	LastSeen = 0;
; 533  : 	AdjustInf = Get_Int_Parameter("Adjust_Aim_For_Infantry");

	push	OFFSET ??_C@_0BI@LAMHEDCF@Adjust_Aim_For_Infantry?$AA@
	fstp	DWORD PTR [esi+76]
	mov	ecx, esi
	mov	DWORD PTR [esi+84], 0
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 534  : 	Commands->Start_Timer(obj,this,Commands->Get_Random(5.0f,15.0f),1);

	fld	DWORD PTR __real@41700000
	test	eax, eax
	setne	dl
	mov	BYTE PTR [esi+80], dl
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	sub	esp, 8
	fstp	DWORD PTR [esp+4]
	lea	ebp, DWORD PTR [eax+128]
	fld	DWORD PTR __real@40a00000
	mov	eax, DWORD PTR [eax+148]
	fstp	DWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR [ebp]
	fstp	DWORD PTR [esp+4]
	add	esp, 4
	push	esi
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp

; 535  : }

	add	esp, 220				; 000000dcH
	ret	4
?Created@MDB_Base_Defense_No_VTOL@@EAEXPAE@Z ENDP	; MDB_Base_Defense_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Enemy_Seen@MDB_Base_Defense_No_VTOL@@EAEXPAE0@Z ; MDB_Base_Defense_No_VTOL::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@MDB_Base_Defense_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_params$56878 = -208					; size = 196
$T61699 = -12						; size = 12
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@MDB_Base_Defense_No_VTOL@@EAEXPAE0@Z PROC	; MDB_Base_Defense_No_VTOL::Enemy_Seen, COMDAT
; _this$ = ecx

; 538  : {

	sub	esp, 208				; 000000d0H
	push	esi
	push	edi

; 539  : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+212]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 540  : 	if (o)

	test	eax, eax
	je	SHORT $LN4@Enemy_Seen@5

; 541  : 	{
; 542  : 		seen = o;

	mov	edi, eax
$LN4@Enemy_Seen@5:

; 543  : 	}
; 544  : 	if (Get_Vehicle_Mode(seen) != FLYING)

	push	edi
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	je	$LN3@Enemy_Seen@5
	push	ebx

; 545  : 	{
; 546  : 		ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$56878[esp+220]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 547  : 		params.Set_Basic(this,100,1);
; 548  : 		if (AdjustInf && Is_Soldier(seen))

	cmp	BYTE PTR [esi+80], 0
	mov	eax, DWORD PTR [esi+4]
	mov	ebx, DWORD PTR _obj$[esp+216]
	mov	DWORD PTR _params$56878[esp+220], 100	; 00000064H
	mov	DWORD PTR _params$56878[esp+224], eax
	mov	DWORD PTR _params$56878[esp+388], -1
	je	$LN2@Enemy_Seen@5
	push	edi
	call	?Is_Soldier@@YA_NPAE@Z			; Is_Soldier
	add	esp, 4
	test	al, al
	je	SHORT $LN2@Enemy_Seen@5

; 549  : 		{
; 550  : 			params.Set_Attack_Position(Commands->Get_Bone_Position(seen,"c R Foot"),MaxDis,0.0,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+68]
	push	OFFSET ??_C@_08IKKGLDJN@c?5R?5Foot?$AA@
	lea	ecx, DWORD PTR $T61699[esp+224]
	push	edi
	push	ecx
	call	eax
	fld	DWORD PTR [esi+76]

; 551  : 			params.Hold_Action = true;
; 552  : 			LastSeen = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$56878[esp+308]
	fld	DWORD PTR [eax]
	push	edi
	fstp	DWORD PTR _params$56878[esp+332]
	fld	DWORD PTR [eax+4]
	fstp	DWORD PTR _params$56878[esp+336]
	fld	DWORD PTR [eax+8]
	mov	al, 1
	fstp	DWORD PTR _params$56878[esp+340]
	mov	BYTE PTR _params$56878[esp+328], al
	fldz
	mov	BYTE PTR _params$56878[esp+344], al
	fstp	DWORD PTR _params$56878[esp+316]
	mov	edx, DWORD PTR [ecx+108]
	call	edx

; 553  : 			Commands->Start_Timer(obj,this,1.0f,3);

	fld1
	add	esp, 16					; 00000010H
	push	3
	push	ecx
	mov	DWORD PTR [esi+84], eax
	fstp	DWORD PTR [esp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+128]
	push	esi
	push	ebx
	call	ecx
	add	esp, 16					; 00000010H

; 554  : 		}
; 555  : 		else

	jmp	SHORT $LN13@Enemy_Seen@5
$LN2@Enemy_Seen@5:

; 556  : 		{
; 557  : 			params.Set_Attack_Hold(seen,MaxDis,0.0,true,true);

	fld	DWORD PTR [esi+76]
	mov	al, 1
	fstp	DWORD PTR _params$56878[esp+296]
	mov	DWORD PTR _params$56878[esp+308], edi
	fldz
	mov	BYTE PTR _params$56878[esp+312], al
	fstp	DWORD PTR _params$56878[esp+300]
	mov	BYTE PTR _params$56878[esp+328], al
$LN13@Enemy_Seen@5:

; 558  : 		}
; 559  : 		Commands->Action_Attack(obj,params);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+20]
	lea	edx, DWORD PTR _params$56878[esp+220]
	push	edx
	push	ebx
	call	ecx
	add	esp, 8
	pop	ebx
$LN3@Enemy_Seen@5:
	pop	edi
	pop	esi

; 560  : 	}
; 561  : }

	add	esp, 208				; 000000d0H
	ret	8
?Enemy_Seen@MDB_Base_Defense_No_VTOL@@EAEXPAE0@Z ENDP	; MDB_Base_Defense_No_VTOL::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Action_Complete@MDB_Base_Defense_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z ; MDB_Base_Defense_No_VTOL::Action_Complete
; Function compile flags: /Ogtpy
;	COMDAT ?Action_Complete@MDB_Base_Defense_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@MDB_Base_Defense_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z PROC ; MDB_Base_Defense_No_VTOL::Action_Complete, COMDAT
; _this$ = ecx

; 565  : 	if (action == 1)

	cmp	DWORD PTR _action$[esp-4], 1
	jne	SHORT $LN1@Action_Com@2

; 566  : 	{
; 567  : 		Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	mov	eax, DWORD PTR _obj$[esp-4]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+12]
	push	eax
	call	edx
	add	esp, 8
$LN1@Action_Com@2:

; 568  : 	}
; 569  : }

	ret	12					; 0000000cH
?Action_Complete@MDB_Base_Defense_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; MDB_Base_Defense_No_VTOL::Action_Complete
_TEXT	ENDS
PUBLIC	?Timer_Expired@MDB_Base_Defense_No_VTOL@@EAEXPAEH@Z ; MDB_Base_Defense_No_VTOL::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@MDB_Base_Defense_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
$T61726 = -220						; size = 12
$T61725 = -208						; size = 12
_var$56895 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@MDB_Base_Defense_No_VTOL@@EAEXPAEH@Z PROC ; MDB_Base_Defense_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 573  : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 220				; 000000dcH
	push	ebx
	push	esi
	mov	ebx, 1
	cmp	eax, ebx
	push	edi
	mov	esi, ecx
	jne	$LN4@Timer_Expi@5

; 574  : 	{
; 575  : 		ActionParamsStruct var;

	lea	ecx, DWORD PTR _var$56895[esp+232]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 576  : 		var.Set_Basic(this,1,2);

	mov	eax, DWORD PTR [esi+4]

; 577  : 		var.Set_Attack_Position(V[Commands->Get_Random_Int(0,4)],0.0,0.0,true);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _var$56895[esp+232], ebx
	mov	DWORD PTR _var$56895[esp+236], eax
	mov	DWORD PTR _var$56895[esp+400], -1
	mov	edx, DWORD PTR [ecx+152]
	push	4
	push	0
	call	edx
	fldz
	fst	DWORD PTR _var$56895[esp+316]
	lea	eax, DWORD PTR [eax+eax*2]
	fld	DWORD PTR [esi+eax*4+28]
	lea	eax, DWORD PTR [esi+eax*4+28]
	fstp	DWORD PTR _var$56895[esp+336]
	add	esp, 8
	fld	DWORD PTR [eax+4]

; 578  : 		Commands->Start_Timer(obj,this,Commands->Get_Random(5.0f,15.0f),1);

	push	ebx
	fstp	DWORD PTR _var$56895[esp+336]
	sub	esp, 8
	fld	DWORD PTR [eax+8]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _var$56895[esp+348]
	mov	BYTE PTR _var$56895[esp+336], bl
	lea	edi, DWORD PTR [eax+128]
	fstp	DWORD PTR _var$56895[esp+324]
	mov	ecx, DWORD PTR [eax+148]
	fld	DWORD PTR __real@41700000
	fstp	DWORD PTR [esp+4]
	fld	DWORD PTR __real@40a00000
	fstp	DWORD PTR [esp]
	call	ecx
	mov	edx, DWORD PTR _obj$[esp+240]
	fstp	DWORD PTR [esp+4]
	mov	eax, DWORD PTR [edi]
	add	esp, 4
	push	esi
	push	edx
	call	eax
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebx

; 585  : 		}
; 586  : 	}
; 587  : }

	add	esp, 220				; 000000dcH
	ret	8
$LN4@Timer_Expi@5:

; 579  : 	}
; 580  : 	else if (number == 2)

	cmp	eax, 2
	jne	SHORT $LN1@Timer_Expi@5

; 581  : 	{
; 582  : 		if (Commands->Get_Distance(Commands->Get_Position(obj),Commands->Get_Position(Commands->Find_Object(LastSeen))) > MaxDis)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [esi+84]
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+256]
	lea	ebx, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [ebx]
	push	eax
	lea	eax, DWORD PTR $T61725[esp+240]
	push	eax
	call	ecx
	mov	ebx, DWORD PTR _obj$[esp+240]
	add	esp, 12					; 0000000cH
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T61726[esp+236]
	push	ebx
	push	edx
	call	ecx
	mov	edx, DWORD PTR [edi]
	add	esp, 8
	push	eax
	call	edx
	fcomp	DWORD PTR [esi+76]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN1@Timer_Expi@5

; 583  : 		{
; 584  : 			Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	ecx, DWORD PTR [eax+12]
	fstp	DWORD PTR [esp]
	push	ebx
	call	ecx
	add	esp, 8
$LN1@Timer_Expi@5:
	pop	edi
	pop	esi
	pop	ebx

; 585  : 		}
; 586  : 	}
; 587  : }

	add	esp, 220				; 000000dcH
	ret	8
?Timer_Expired@MDB_Base_Defense_No_VTOL@@EAEXPAEH@Z ENDP ; MDB_Base_Defense_No_VTOL::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@MDB_Base_Defense_No_VTOL@@EAEXXZ ; MDB_Base_Defense_No_VTOL::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@MDB_Base_Defense_No_VTOL@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@MDB_Base_Defense_No_VTOL@@EAEXXZ PROC ; MDB_Base_Defense_No_VTOL::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 590  : {

	push	esi
	mov	esi, ecx

; 591  : 	Auto_Save_Variable(1,4,&MaxDis);

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

; 592  : 	Auto_Save_Variable(2,1,&AdjustInf);

	lea	ecx, DWORD PTR [esi+80]
	push	ecx
	push	1
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 593  : 	Auto_Save_Variable(3,4,&LastSeen);

	lea	edx, DWORD PTR [esi+84]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 594  : 	Auto_Save_Variable(4,4,&V[0].X);

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

; 595  : 	Auto_Save_Variable(5,4,&V[0].Y);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 596  : 	Auto_Save_Variable(6,4,&V[0].Z);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	6
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 597  : 	Auto_Save_Variable(7,4,&V[1].X);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	4
	push	7
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 598  : 	Auto_Save_Variable(8,4,&V[1].Y);

	lea	ecx, DWORD PTR [esi+44]
	push	ecx
	push	4
	push	8
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 599  : 	Auto_Save_Variable(9,4,&V[1].Z);

	lea	edx, DWORD PTR [esi+48]
	push	edx
	push	4
	push	9
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 600  : 	Auto_Save_Variable(10,4,&V[2].X);

	lea	eax, DWORD PTR [esi+52]
	push	eax
	push	4
	push	10					; 0000000aH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 601  : 	Auto_Save_Variable(11,4,&V[2].Y);

	lea	ecx, DWORD PTR [esi+56]
	push	ecx
	push	4
	push	11					; 0000000bH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 602  : 	Auto_Save_Variable(12,4,&V[2].Z);

	lea	edx, DWORD PTR [esi+60]
	push	edx
	push	4
	push	12					; 0000000cH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 603  : 	Auto_Save_Variable(13,4,&V[3].X);

	lea	eax, DWORD PTR [esi+64]
	push	eax
	push	4
	push	13					; 0000000dH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 604  : 	Auto_Save_Variable(14,4,&V[3].Y);

	lea	ecx, DWORD PTR [esi+68]
	push	ecx
	push	4
	push	14					; 0000000eH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 605  : 	Auto_Save_Variable(15,4,&V[3].Z);

	lea	edx, DWORD PTR [esi+72]
	push	edx
	push	4
	push	15					; 0000000fH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 606  : }

	ret	0
?Register_Auto_Save_Variables@MDB_Base_Defense_No_VTOL@@EAEXXZ ENDP ; MDB_Base_Defense_No_VTOL::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@MDB_Base_Defense_VTOL_Only@@EAEXPAE@Z	; MDB_Base_Defense_VTOL_Only::Created
; Function compile flags: /Ogtpy
;	COMDAT ?Created@MDB_Base_Defense_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_pos$ = -220						; size = 12
$T61747 = -208						; size = 12
_var$ = -196						; size = 196
_obj$ = 8						; size = 4
?Created@MDB_Base_Defense_VTOL_Only@@EAEXPAE@Z PROC	; MDB_Base_Defense_VTOL_Only::Created, COMDAT
; _this$ = ecx

; 609  : {

	sub	esp, 220				; 000000dcH

; 610  : 	Commands->Enable_Hibernation(obj,false);

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

; 611  : 	Commands->Innate_Enable(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+440]
	push	edi
	call	eax

; 612  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	1
	push	edi
	call	edx

; 613  : 	Vector3 pos = Commands->Get_Position(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T61747[esp+252]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$[esp+260], ecx

; 614  : 	V[0].X = pos.X - 10;

	fld	DWORD PTR _pos$[esp+260]
	fld	ST(0)
	mov	DWORD PTR _pos$[esp+264], edx
	fld	DWORD PTR __real@41200000
	mov	DWORD PTR _pos$[esp+268], eax
	fsub	ST(1), ST(0)
	add	esp, 28					; 0000001cH
	fxch	ST(1)

; 615  : 	V[0].Y = pos.Y - 10;
; 616  : 	V[0].Z = pos.Z + 2;
; 617  : 	V[1].X = pos.X + 10;
; 618  : 	V[1].Y = pos.Y;
; 619  : 	V[1].Z = pos.Z + 2;
; 620  : 	V[2].X = pos.X + 10;
; 621  : 	V[2].Y = pos.Y - 10;
; 622  : 	V[2].Z = pos.Z + 2;
; 623  : 	V[3].X = pos.X;
; 624  : 	V[3].Y = pos.Y + 10;
; 625  : 	V[3].Z = pos.Z + 4;
; 626  : 	ActionParamsStruct var;

	lea	ecx, DWORD PTR _var$[esp+232]
	fstp	DWORD PTR [esi+28]
	fld	DWORD PTR _pos$[esp+236]
	fld	ST(0)
	fsub	ST(0), ST(2)
	fst	DWORD PTR [esi+32]
	fld	DWORD PTR _pos$[esp+240]
	fld	DWORD PTR __real@40000000
	fadd	ST(0), ST(1)
	fst	DWORD PTR [esi+36]
	fld	ST(5)
	fadd	ST(0), ST(5)
	fst	DWORD PTR [esi+40]
	fstp	DWORD PTR [esi+52]
	fxch	ST(3)
	fst	DWORD PTR [esi+44]
	fxch	ST(3)
	fst	DWORD PTR [esi+48]
	fstp	DWORD PTR [esi+60]
	fxch	ST(1)
	fstp	DWORD PTR [esi+56]
	fxch	ST(3)
	fstp	DWORD PTR [esi+64]
	faddp	ST(1), ST(0)
	fstp	DWORD PTR [esi+68]
	fadd	DWORD PTR __real@40800000
	fstp	DWORD PTR [esi+72]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 627  : 	var.Set_Basic(this,1,2);

	mov	ecx, DWORD PTR [esi+4]

; 628  : 	var.Set_Attack_Position(V[Commands->Get_Random_Int(0,4)],0.0,0.0,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _var$[esp+232], 1
	mov	DWORD PTR _var$[esp+236], ecx
	mov	DWORD PTR _var$[esp+400], -1
	mov	eax, DWORD PTR [edx+152]
	push	4
	push	0
	call	eax
	fldz
	lea	ecx, DWORD PTR [eax+eax*2]
	fst	DWORD PTR _var$[esp+316]
	fld	DWORD PTR [esi+ecx*4+28]
	lea	eax, DWORD PTR [esi+ecx*4+28]
	fstp	DWORD PTR _var$[esp+336]
	add	esp, 8
	fld	DWORD PTR [eax+4]

; 629  : 	MaxDis = Get_Float_Parameter("MaxAttackDistance");

	push	OFFSET ??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@
	fstp	DWORD PTR _var$[esp+336]
	mov	ecx, esi
	fld	DWORD PTR [eax+8]
	mov	BYTE PTR _var$[esp+328], 1
	fstp	DWORD PTR _var$[esp+340]
	fstp	DWORD PTR _var$[esp+316]
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR [esi+76]

; 630  : 	Commands->Start_Timer(obj,this,Commands->Get_Random(5.0f,15.0f),1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fld	DWORD PTR __real@41700000
	mov	edx, DWORD PTR [eax+148]
	push	1
	sub	esp, 8
	fstp	DWORD PTR [esp+4]
	lea	ebp, DWORD PTR [eax+128]
	fld	DWORD PTR __real@40a00000
	fstp	DWORD PTR [esp]
	call	edx
	mov	eax, DWORD PTR [ebp]
	fstp	DWORD PTR [esp+4]
	add	esp, 4
	push	esi
	push	edi
	call	eax
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp

; 631  : }

	add	esp, 220				; 000000dcH
	ret	4
?Created@MDB_Base_Defense_VTOL_Only@@EAEXPAE@Z ENDP	; MDB_Base_Defense_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Enemy_Seen@MDB_Base_Defense_VTOL_Only@@EAEXPAE0@Z ; MDB_Base_Defense_VTOL_Only::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@MDB_Base_Defense_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_params$56919 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@MDB_Base_Defense_VTOL_Only@@EAEXPAE0@Z PROC	; MDB_Base_Defense_VTOL_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 634  : {

	sub	esp, 196				; 000000c4H
	push	esi

; 635  : 	GameObject *o = Get_Vehicle(seen);

	mov	esi, DWORD PTR _seen$[esp+196]
	push	edi
	push	esi
	mov	edi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 636  : 	if (o)

	test	eax, eax
	je	SHORT $LN2@Enemy_Seen@6

; 637  : 	{
; 638  : 		seen = o;

	mov	esi, eax
$LN2@Enemy_Seen@6:

; 639  : 	}
; 640  : 	if (Get_Vehicle_Mode(seen) == FLYING)

	push	esi
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	jne	SHORT $LN1@Enemy_Seen@6

; 641  : 	{
; 642  : 		ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$56919[esp+204]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 643  : 		params.Set_Basic(this,100,1);
; 644  : 		params.Set_Attack_Hold(seen,MaxDis,0.0,true,true);

	fld	DWORD PTR [edi+76]
	mov	eax, DWORD PTR [edi+4]
	fstp	DWORD PTR _params$56919[esp+280]
	fldz

; 645  : 		Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR _obj$[esp+200]
	mov	DWORD PTR _params$56919[esp+208], eax
	fstp	DWORD PTR _params$56919[esp+284]
	mov	al, 1
	mov	BYTE PTR _params$56919[esp+296], al
	mov	BYTE PTR _params$56919[esp+312], al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$56919[esp+204]
	push	ecx
	mov	DWORD PTR _params$56919[esp+208], 100	; 00000064H
	mov	DWORD PTR _params$56919[esp+376], -1
	mov	DWORD PTR _params$56919[esp+296], esi
	mov	ecx, DWORD PTR [eax+20]
	push	edx
	call	ecx
	add	esp, 8
$LN1@Enemy_Seen@6:
	pop	edi
	pop	esi

; 646  : 	}
; 647  : }

	add	esp, 196				; 000000c4H
	ret	8
?Enemy_Seen@MDB_Base_Defense_VTOL_Only@@EAEXPAE0@Z ENDP	; MDB_Base_Defense_VTOL_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Action_Complete@MDB_Base_Defense_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ; MDB_Base_Defense_VTOL_Only::Action_Complete
; Function compile flags: /Ogtpy
;	COMDAT ?Action_Complete@MDB_Base_Defense_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@MDB_Base_Defense_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z PROC ; MDB_Base_Defense_VTOL_Only::Action_Complete, COMDAT
; _this$ = ecx

; 651  : 	if (action == 1)

	cmp	DWORD PTR _action$[esp-4], 1
	jne	SHORT $LN1@Action_Com@3

; 652  : 	{
; 653  : 		Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	mov	eax, DWORD PTR _obj$[esp-4]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+12]
	push	eax
	call	edx
	add	esp, 8
$LN1@Action_Com@3:

; 654  : 	}
; 655  : }

	ret	12					; 0000000cH
?Action_Complete@MDB_Base_Defense_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; MDB_Base_Defense_VTOL_Only::Action_Complete
_TEXT	ENDS
PUBLIC	?Timer_Expired@MDB_Base_Defense_VTOL_Only@@EAEXPAEH@Z ; MDB_Base_Defense_VTOL_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@MDB_Base_Defense_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_var$56933 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@MDB_Base_Defense_VTOL_Only@@EAEXPAEH@Z PROC ; MDB_Base_Defense_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 658  : {

	sub	esp, 196				; 000000c4H

; 659  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+192], 1
	push	esi
	mov	esi, ecx
	jne	$LN1@Timer_Expi@6
	push	edi

; 660  : 	{
; 661  : 		ActionParamsStruct var;

	lea	ecx, DWORD PTR _var$56933[esp+204]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 662  : 		var.Set_Basic(this,1,2);

	mov	eax, DWORD PTR [esi+4]

; 663  : 		var.Set_Attack_Position(V[Commands->Get_Random_Int(0,4)],0.0,0.0,true);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _var$56933[esp+204], 1
	mov	DWORD PTR _var$56933[esp+208], eax
	mov	DWORD PTR _var$56933[esp+372], -1
	mov	edx, DWORD PTR [ecx+152]
	push	4
	push	0
	call	edx
	fldz
	fst	DWORD PTR _var$56933[esp+288]
	lea	eax, DWORD PTR [eax+eax*2]
	fld	DWORD PTR [esi+eax*4+28]
	lea	eax, DWORD PTR [esi+eax*4+28]
	fstp	DWORD PTR _var$56933[esp+308]
	add	esp, 8
	fld	DWORD PTR [eax+4]

; 664  : 		Commands->Start_Timer(obj,this,Commands->Get_Random(5.0f,15.0f),1);

	push	1
	fstp	DWORD PTR _var$56933[esp+308]
	sub	esp, 8
	fld	DWORD PTR [eax+8]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _var$56933[esp+320]
	mov	BYTE PTR _var$56933[esp+308], 1
	lea	edi, DWORD PTR [eax+128]
	fstp	DWORD PTR _var$56933[esp+296]
	mov	ecx, DWORD PTR [eax+148]
	fld	DWORD PTR __real@41700000
	fstp	DWORD PTR [esp+4]
	fld	DWORD PTR __real@40a00000
	fstp	DWORD PTR [esp]
	call	ecx
	mov	edx, DWORD PTR _obj$[esp+212]
	fstp	DWORD PTR [esp+4]
	mov	eax, DWORD PTR [edi]
	add	esp, 4
	push	esi
	push	edx
	call	eax
	add	esp, 16					; 00000010H
	pop	edi
$LN1@Timer_Expi@6:
	pop	esi

; 665  : 	}
; 666  : }

	add	esp, 196				; 000000c4H
	ret	8
?Timer_Expired@MDB_Base_Defense_VTOL_Only@@EAEXPAEH@Z ENDP ; MDB_Base_Defense_VTOL_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@MDB_Base_Defense_VTOL_Only@@EAEXXZ ; MDB_Base_Defense_VTOL_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@MDB_Base_Defense_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@MDB_Base_Defense_VTOL_Only@@EAEXXZ PROC ; MDB_Base_Defense_VTOL_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 669  : {

	push	esi
	mov	esi, ecx

; 670  : 	Auto_Save_Variable(1,4,&MaxDis);

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

; 671  : 	Auto_Save_Variable(2,4,&V[0].X);

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

; 672  : 	Auto_Save_Variable(3,4,&V[0].Y);

	lea	edx, DWORD PTR [esi+32]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 673  : 	Auto_Save_Variable(4,4,&V[0].Z);

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

; 674  : 	Auto_Save_Variable(5,4,&V[1].X);

	lea	ecx, DWORD PTR [esi+40]
	push	ecx
	push	4
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 675  : 	Auto_Save_Variable(6,4,&V[1].Y);

	lea	edx, DWORD PTR [esi+44]
	push	edx
	push	4
	push	6
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 676  : 	Auto_Save_Variable(7,4,&V[1].Z);

	lea	eax, DWORD PTR [esi+48]
	push	eax
	push	4
	push	7
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 677  : 	Auto_Save_Variable(8,4,&V[2].X);

	lea	ecx, DWORD PTR [esi+52]
	push	ecx
	push	4
	push	8
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 678  : 	Auto_Save_Variable(9,4,&V[2].Y);

	lea	edx, DWORD PTR [esi+56]
	push	edx
	push	4
	push	9
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 679  : 	Auto_Save_Variable(10,4,&V[2].Z);

	lea	eax, DWORD PTR [esi+60]
	push	eax
	push	4
	push	10					; 0000000aH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 680  : 	Auto_Save_Variable(11,4,&V[3].X);

	lea	ecx, DWORD PTR [esi+64]
	push	ecx
	push	4
	push	11					; 0000000bH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 681  : 	Auto_Save_Variable(12,4,&V[3].Y);

	lea	edx, DWORD PTR [esi+68]
	push	edx
	push	4
	push	12					; 0000000cH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 682  : 	Auto_Save_Variable(13,4,&V[3].Z);

	lea	eax, DWORD PTR [esi+72]
	push	eax
	push	4
	push	13					; 0000000dH
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 683  : }

	ret	0
?Register_Auto_Save_Variables@MDB_Base_Defense_VTOL_Only@@EAEXXZ ENDP ; MDB_Base_Defense_VTOL_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::~ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>
EXTRN	??1ScriptFactory@@UAE@XZ:PROC			; ScriptFactory::~ScriptFactory
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAE@XZ PROC ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::~ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::~ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<MDB_Base_Defense_Popup_VTOL_Only>::~ScriptRegistrant<MDB_Base_Defense_Popup_VTOL_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAE@XZ PROC ; ScriptRegistrant<MDB_Base_Defense_Popup_VTOL_Only>::~ScriptRegistrant<MDB_Base_Defense_Popup_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<MDB_Base_Defense_Popup_VTOL_Only>::~ScriptRegistrant<MDB_Base_Defense_Popup_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAE@XZ ; ScriptRegistrant<MDB_Base_Defense_Popup>::~ScriptRegistrant<MDB_Base_Defense_Popup>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAE@XZ PROC ; ScriptRegistrant<MDB_Base_Defense_Popup>::~ScriptRegistrant<MDB_Base_Defense_Popup>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAE@XZ ENDP ; ScriptRegistrant<MDB_Base_Defense_Popup>::~ScriptRegistrant<MDB_Base_Defense_Popup>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_Base_Defense@@@@UAE@XZ ; ScriptRegistrant<MDB_Base_Defense>::~ScriptRegistrant<MDB_Base_Defense>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_Base_Defense@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_Base_Defense@@@@UAE@XZ PROC	; ScriptRegistrant<MDB_Base_Defense>::~ScriptRegistrant<MDB_Base_Defense>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_Base_Defense@@@@UAE@XZ ENDP	; ScriptRegistrant<MDB_Base_Defense>::~ScriptRegistrant<MDB_Base_Defense>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<MDB_Base_Defense_No_VTOL>::~ScriptRegistrant<MDB_Base_Defense_No_VTOL>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAE@XZ PROC ; ScriptRegistrant<MDB_Base_Defense_No_VTOL>::~ScriptRegistrant<MDB_Base_Defense_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<MDB_Base_Defense_No_VTOL>::~ScriptRegistrant<MDB_Base_Defense_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<MDB_Base_Defense_VTOL_Only>::~ScriptRegistrant<MDB_Base_Defense_VTOL_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAE@XZ PROC ; ScriptRegistrant<MDB_Base_Defense_VTOL_Only>::~ScriptRegistrant<MDB_Base_Defense_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<MDB_Base_Defense_VTOL_Only>::~ScriptRegistrant<MDB_Base_Defense_VTOL_Only>
_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
$T61835 = -12						; size = 12
_this$ = 8						; size = 4
$T61841 = 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 $T61841[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T61835[esp+20]
	mov	DWORD PTR $T61841[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T61835[esp+20]
	push	ecx
	mov	DWORD PTR $T61835[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
$T61847 = -12						; size = 12
$T61852 = 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 $T61852[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T61847[esp+20]
	mov	DWORD PTR $T61852[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T61847[esp+20]
	push	ecx
	mov	DWORD PTR $T61847[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	??_7?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@6B@ ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`vftable'
PUBLIC	??0?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>
PUBLIC	??_R4?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@6B@ ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@@8 ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL> `RTTI Type Descriptor'
PUBLIC	??_R3?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8 ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8 ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8 ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`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_Base_Defense_Popup_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::Create
EXTRN	??0ScriptFactory@@QAE@PAD0@Z:PROC		; ScriptFactory::ScriptFactory
EXTRN	??_E?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAXI@Z:PROC ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`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_Base_Defense_Popup_No_VTOL@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8 DD FLAT:??_R0?AV?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@@8 ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8
rdata$r	SEGMENT
??_R2?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8 DD FLAT:??_R1A@?0A@EA@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8 ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8
rdata$r	SEGMENT
??_R3?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8 DD 00H ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@@8
_DATA	SEGMENT
??_R0?AV?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@@8 DD FLAT:??_7type_info@@6B@ ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@'
	DB	'@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@6B@
rdata$r	SEGMENT
??_R4?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@6B@ DD 00H ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@@8
	DD	FLAT:??_R3?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@6B@ DD FLAT:??_R4?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@6B@ ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`vftable'
	DD	FLAT:??_E?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@QAE@PAD0@Z PROC ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>, 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_Base_Defense_Popup_No_VTOL@@@@6B@

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<MDB_Base_Defense_VTOL_Only>::ScriptRegistrant<MDB_Base_Defense_VTOL_Only>
; 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?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`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@2
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@2:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_Base_Defense_Popup_VTOL_Only>::`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@3
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@3:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_Base_Defense_Popup_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_Base_Defense_Popup>::`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@4
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@4:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_Base_Defense_Popup>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VMDB_Base_Defense@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_Base_Defense@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_Base_Defense>::`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@5
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@5:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VMDB_Base_Defense@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_Base_Defense>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_Base_Defense_No_VTOL>::`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_Base_Defense_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_Base_Defense_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<MDB_Base_Defense_VTOL_Only>::`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_Base_Defense_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<MDB_Base_Defense_VTOL_Only>::`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?$allocator@D@std@@QAE@ABV01@@Z		; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$allocator@D@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??0?$allocator@D@std@@QAE@ABV01@@Z PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

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

	mov	eax, ecx

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

	ret	4
??0?$allocator@D@std@@QAE@ABV01@@Z ENDP			; std::allocator<char>::allocator<char>
_TEXT	ENDS
PUBLIC	??$_DebugHeapDelete@X@std@@YAXPAX@Z		; std::_DebugHeapDelete<void>
EXTRN	_free:PROC
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
;	COMDAT ??$_DebugHeapDelete@X@std@@YAXPAX@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??$_DebugHeapDelete@X@std@@YAXPAX@Z PROC		; std::_DebugHeapDelete<void>, COMDAT

; 56   : 	if (_Ptr != 0)

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

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

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

; 62   : 		}
; 63   : 	}

	ret	0
??$_DebugHeapDelete@X@std@@YAXPAX@Z ENDP		; std::_DebugHeapDelete<void>
_TEXT	ENDS
PUBLIC	??_7MDB_Base_Defense_Popup_No_VTOL@@6B@		; MDB_Base_Defense_Popup_No_VTOL::`vftable'
PUBLIC	??0MDB_Base_Defense_Popup_No_VTOL@@QAE@XZ	; MDB_Base_Defense_Popup_No_VTOL::MDB_Base_Defense_Popup_No_VTOL
PUBLIC	??_R4MDB_Base_Defense_Popup_No_VTOL@@6B@	; MDB_Base_Defense_Popup_No_VTOL::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_Base_Defense_Popup_No_VTOL@@@8	; MDB_Base_Defense_Popup_No_VTOL `RTTI Type Descriptor'
PUBLIC	??_R3MDB_Base_Defense_Popup_No_VTOL@@8		; MDB_Base_Defense_Popup_No_VTOL::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_Base_Defense_Popup_No_VTOL@@8		; MDB_Base_Defense_Popup_No_VTOL::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_Base_Defense_Popup_No_VTOL@@8	; MDB_Base_Defense_Popup_No_VTOL::`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'
EXTRN	??0ScriptImpClass@@QAE@XZ:PROC			; ScriptImpClass::ScriptImpClass
EXTRN	??_EMDB_Base_Defense_Popup_No_VTOL@@UAEPAXI@Z:PROC ; MDB_Base_Defense_Popup_No_VTOL::`vector deleting destructor'
EXTRN	?Get_Name@ScriptImpClass@@UAEPADXZ:PROC		; ScriptImpClass::Get_Name
EXTRN	?Attach@ScriptImpClass@@UAEXPAE@Z:PROC		; ScriptImpClass::Attach
EXTRN	?Detach@ScriptImpClass@@UAEXPAE@Z:PROC		; ScriptImpClass::Detach
EXTRN	?Destroyed@ScriptImpClass@@UAEXPAE@Z:PROC	; ScriptImpClass::Destroyed
EXTRN	?Killed@ScriptImpClass@@UAEXPAE0@Z:PROC		; ScriptImpClass::Killed
EXTRN	?Damaged@ScriptImpClass@@UAEXPAE0M@Z:PROC	; ScriptImpClass::Damaged
EXTRN	?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z:PROC ; ScriptImpClass::Sound_Heard
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
;	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_Base_Defense_Popup_No_VTOL@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_Base_Defense_Popup_No_VTOL@@8 DD FLAT:??_R0?AVMDB_Base_Defense_Popup_No_VTOL@@@8 ; MDB_Base_Defense_Popup_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_Base_Defense_Popup_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_Base_Defense_Popup_No_VTOL@@8
rdata$r	SEGMENT
??_R2MDB_Base_Defense_Popup_No_VTOL@@8 DD FLAT:??_R1A@?0A@EA@MDB_Base_Defense_Popup_No_VTOL@@8 ; MDB_Base_Defense_Popup_No_VTOL::`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_Base_Defense_Popup_No_VTOL@@8
rdata$r	SEGMENT
??_R3MDB_Base_Defense_Popup_No_VTOL@@8 DD 00H		; MDB_Base_Defense_Popup_No_VTOL::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_Base_Defense_Popup_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_Base_Defense_Popup_No_VTOL@@@8
_DATA	SEGMENT
??_R0?AVMDB_Base_Defense_Popup_No_VTOL@@@8 DD FLAT:??_7type_info@@6B@ ; MDB_Base_Defense_Popup_No_VTOL `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_Base_Defense_Popup_No_VTOL@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_Base_Defense_Popup_No_VTOL@@6B@
rdata$r	SEGMENT
??_R4MDB_Base_Defense_Popup_No_VTOL@@6B@ DD 00H		; MDB_Base_Defense_Popup_No_VTOL::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_Base_Defense_Popup_No_VTOL@@@8
	DD	FLAT:??_R3MDB_Base_Defense_Popup_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_Base_Defense_Popup_No_VTOL@@6B@
CONST	SEGMENT
??_7MDB_Base_Defense_Popup_No_VTOL@@6B@ DD FLAT:??_R4MDB_Base_Defense_Popup_No_VTOL@@6B@ ; MDB_Base_Defense_Popup_No_VTOL::`vftable'
	DD	FLAT:??_EMDB_Base_Defense_Popup_No_VTOL@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@MDB_Base_Defense_Popup_No_VTOL@@EAEXPAEPBD@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_Base_Defense_Popup_No_VTOL@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0MDB_Base_Defense_Popup_No_VTOL@@QAE@XZ
_TEXT	SEGMENT
??0MDB_Base_Defense_Popup_No_VTOL@@QAE@XZ PROC		; MDB_Base_Defense_Popup_No_VTOL::MDB_Base_Defense_Popup_No_VTOL, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7MDB_Base_Defense_Popup_No_VTOL@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0MDB_Base_Defense_Popup_No_VTOL@@QAE@XZ ENDP		; MDB_Base_Defense_Popup_No_VTOL::MDB_Base_Defense_Popup_No_VTOL
_TEXT	ENDS
PUBLIC	??_7MDB_Base_Defense_Popup_VTOL_Only@@6B@	; MDB_Base_Defense_Popup_VTOL_Only::`vftable'
PUBLIC	??0MDB_Base_Defense_Popup_VTOL_Only@@QAE@XZ	; MDB_Base_Defense_Popup_VTOL_Only::MDB_Base_Defense_Popup_VTOL_Only
PUBLIC	??_R4MDB_Base_Defense_Popup_VTOL_Only@@6B@	; MDB_Base_Defense_Popup_VTOL_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_Base_Defense_Popup_VTOL_Only@@@8	; MDB_Base_Defense_Popup_VTOL_Only `RTTI Type Descriptor'
PUBLIC	??_R3MDB_Base_Defense_Popup_VTOL_Only@@8	; MDB_Base_Defense_Popup_VTOL_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_Base_Defense_Popup_VTOL_Only@@8	; MDB_Base_Defense_Popup_VTOL_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_Base_Defense_Popup_VTOL_Only@@8 ; MDB_Base_Defense_Popup_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EMDB_Base_Defense_Popup_VTOL_Only@@UAEPAXI@Z:PROC ; MDB_Base_Defense_Popup_VTOL_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@MDB_Base_Defense_Popup_VTOL_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_Base_Defense_Popup_VTOL_Only@@8 DD FLAT:??_R0?AVMDB_Base_Defense_Popup_VTOL_Only@@@8 ; MDB_Base_Defense_Popup_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_Base_Defense_Popup_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_Base_Defense_Popup_VTOL_Only@@8
rdata$r	SEGMENT
??_R2MDB_Base_Defense_Popup_VTOL_Only@@8 DD FLAT:??_R1A@?0A@EA@MDB_Base_Defense_Popup_VTOL_Only@@8 ; MDB_Base_Defense_Popup_VTOL_Only::`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_Base_Defense_Popup_VTOL_Only@@8
rdata$r	SEGMENT
??_R3MDB_Base_Defense_Popup_VTOL_Only@@8 DD 00H		; MDB_Base_Defense_Popup_VTOL_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_Base_Defense_Popup_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_Base_Defense_Popup_VTOL_Only@@@8
_DATA	SEGMENT
??_R0?AVMDB_Base_Defense_Popup_VTOL_Only@@@8 DD FLAT:??_7type_info@@6B@ ; MDB_Base_Defense_Popup_VTOL_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_Base_Defense_Popup_VTOL_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_Base_Defense_Popup_VTOL_Only@@6B@
rdata$r	SEGMENT
??_R4MDB_Base_Defense_Popup_VTOL_Only@@6B@ DD 00H	; MDB_Base_Defense_Popup_VTOL_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_Base_Defense_Popup_VTOL_Only@@@8
	DD	FLAT:??_R3MDB_Base_Defense_Popup_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_Base_Defense_Popup_VTOL_Only@@6B@
CONST	SEGMENT
??_7MDB_Base_Defense_Popup_VTOL_Only@@6B@ DD FLAT:??_R4MDB_Base_Defense_Popup_VTOL_Only@@6B@ ; MDB_Base_Defense_Popup_VTOL_Only::`vftable'
	DD	FLAT:??_EMDB_Base_Defense_Popup_VTOL_Only@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@MDB_Base_Defense_Popup_VTOL_Only@@EAEXPAEPBD@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_Base_Defense_Popup_VTOL_Only@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0MDB_Base_Defense_Popup_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT
??0MDB_Base_Defense_Popup_VTOL_Only@@QAE@XZ PROC	; MDB_Base_Defense_Popup_VTOL_Only::MDB_Base_Defense_Popup_VTOL_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7MDB_Base_Defense_Popup_VTOL_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0MDB_Base_Defense_Popup_VTOL_Only@@QAE@XZ ENDP	; MDB_Base_Defense_Popup_VTOL_Only::MDB_Base_Defense_Popup_VTOL_Only
_TEXT	ENDS
PUBLIC	??_7MDB_Base_Defense_Popup@@6B@			; MDB_Base_Defense_Popup::`vftable'
PUBLIC	??0MDB_Base_Defense_Popup@@QAE@XZ		; MDB_Base_Defense_Popup::MDB_Base_Defense_Popup
PUBLIC	??_R4MDB_Base_Defense_Popup@@6B@		; MDB_Base_Defense_Popup::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_Base_Defense_Popup@@@8		; MDB_Base_Defense_Popup `RTTI Type Descriptor'
PUBLIC	??_R3MDB_Base_Defense_Popup@@8			; MDB_Base_Defense_Popup::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_Base_Defense_Popup@@8			; MDB_Base_Defense_Popup::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_Base_Defense_Popup@@8		; MDB_Base_Defense_Popup::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EMDB_Base_Defense_Popup@@UAEPAXI@Z:PROC	; MDB_Base_Defense_Popup::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@MDB_Base_Defense_Popup@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_Base_Defense_Popup@@8 DD FLAT:??_R0?AVMDB_Base_Defense_Popup@@@8 ; MDB_Base_Defense_Popup::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_Base_Defense_Popup@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_Base_Defense_Popup@@8
rdata$r	SEGMENT
??_R2MDB_Base_Defense_Popup@@8 DD FLAT:??_R1A@?0A@EA@MDB_Base_Defense_Popup@@8 ; MDB_Base_Defense_Popup::`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_Base_Defense_Popup@@8
rdata$r	SEGMENT
??_R3MDB_Base_Defense_Popup@@8 DD 00H			; MDB_Base_Defense_Popup::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_Base_Defense_Popup@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_Base_Defense_Popup@@@8
_DATA	SEGMENT
??_R0?AVMDB_Base_Defense_Popup@@@8 DD FLAT:??_7type_info@@6B@ ; MDB_Base_Defense_Popup `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_Base_Defense_Popup@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_Base_Defense_Popup@@6B@
rdata$r	SEGMENT
??_R4MDB_Base_Defense_Popup@@6B@ DD 00H			; MDB_Base_Defense_Popup::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_Base_Defense_Popup@@@8
	DD	FLAT:??_R3MDB_Base_Defense_Popup@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_Base_Defense_Popup@@6B@
CONST	SEGMENT
??_7MDB_Base_Defense_Popup@@6B@ DD FLAT:??_R4MDB_Base_Defense_Popup@@6B@ ; MDB_Base_Defense_Popup::`vftable'
	DD	FLAT:??_EMDB_Base_Defense_Popup@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@MDB_Base_Defense_Popup@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@MDB_Base_Defense_Popup@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@MDB_Base_Defense_Popup@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@MDB_Base_Defense_Popup@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@MDB_Base_Defense_Popup@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@MDB_Base_Defense_Popup@@EAEXPAEPBD@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_Base_Defense_Popup@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0MDB_Base_Defense_Popup@@QAE@XZ
_TEXT	SEGMENT
??0MDB_Base_Defense_Popup@@QAE@XZ PROC			; MDB_Base_Defense_Popup::MDB_Base_Defense_Popup, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7MDB_Base_Defense_Popup@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0MDB_Base_Defense_Popup@@QAE@XZ ENDP			; MDB_Base_Defense_Popup::MDB_Base_Defense_Popup
_TEXT	ENDS
PUBLIC	??_FVector3@@QAEXXZ				; Vector3::`default constructor closure'
; Function compile flags: /Ogtpy
;	COMDAT ??_FVector3@@QAEXXZ
_TEXT	SEGMENT
??_FVector3@@QAEXXZ PROC				; Vector3::`default constructor closure', COMDAT
; _this$ = ecx
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	ret	0
??_FVector3@@QAEXXZ ENDP				; Vector3::`default constructor closure'
_TEXT	ENDS
PUBLIC	??_H@YGXPAXIHP6EPAX0@Z@Z			; `vector constructor iterator'
; Function compile flags: /Ogtpy
;	COMDAT ??_H@YGXPAXIHP6EPAX0@Z@Z
_TEXT	SEGMENT
___t$ = 8						; size = 4
___s$ = 12						; size = 4
___n$ = 16						; size = 4
___f$ = 20						; size = 4
??_H@YGXPAXIHP6EPAX0@Z@Z PROC				; `vector constructor iterator', COMDAT
	push	edi
	mov	edi, DWORD PTR ___n$[esp]
	sub	edi, 1
	js	SHORT $LN1@vector
	push	ebx
	mov	ebx, DWORD PTR ___f$[esp+4]
	push	ebp
	mov	ebp, DWORD PTR ___s$[esp+8]
	push	esi
	mov	esi, DWORD PTR ___t$[esp+12]
	npad	7
$LL2@vector:
	mov	ecx, esi
	call	ebx
	add	esi, ebp
	sub	edi, 1
	jns	SHORT $LL2@vector
	pop	esi
	pop	ebp
	pop	ebx
$LN1@vector:
	pop	edi
	ret	16					; 00000010H
??_H@YGXPAXIHP6EPAX0@Z@Z ENDP				; `vector constructor iterator'
_TEXT	ENDS
PUBLIC	??1MDB_Base_Defense_Popup_No_VTOL@@UAE@XZ	; MDB_Base_Defense_Popup_No_VTOL::~MDB_Base_Defense_Popup_No_VTOL
EXTRN	??1ScriptImpClass@@UAE@XZ:PROC			; ScriptImpClass::~ScriptImpClass
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_Base_Defense_Popup_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1MDB_Base_Defense_Popup_No_VTOL@@UAE@XZ PROC		; MDB_Base_Defense_Popup_No_VTOL::~MDB_Base_Defense_Popup_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_Base_Defense_Popup_No_VTOL@@UAE@XZ ENDP		; MDB_Base_Defense_Popup_No_VTOL::~MDB_Base_Defense_Popup_No_VTOL
_TEXT	ENDS
PUBLIC	??1MDB_Base_Defense_Popup_VTOL_Only@@UAE@XZ	; MDB_Base_Defense_Popup_VTOL_Only::~MDB_Base_Defense_Popup_VTOL_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_Base_Defense_Popup_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1MDB_Base_Defense_Popup_VTOL_Only@@UAE@XZ PROC	; MDB_Base_Defense_Popup_VTOL_Only::~MDB_Base_Defense_Popup_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_Base_Defense_Popup_VTOL_Only@@UAE@XZ ENDP	; MDB_Base_Defense_Popup_VTOL_Only::~MDB_Base_Defense_Popup_VTOL_Only
_TEXT	ENDS
PUBLIC	??1MDB_Base_Defense_Popup@@UAE@XZ		; MDB_Base_Defense_Popup::~MDB_Base_Defense_Popup
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_Base_Defense_Popup@@UAE@XZ
_TEXT	SEGMENT
??1MDB_Base_Defense_Popup@@UAE@XZ PROC			; MDB_Base_Defense_Popup::~MDB_Base_Defense_Popup, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_Base_Defense_Popup@@UAE@XZ ENDP			; MDB_Base_Defense_Popup::~MDB_Base_Defense_Popup
_TEXT	ENDS
PUBLIC	?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ; std::_DebugHeapAllocator<char>::deallocate
; Function compile flags: /Ogtpy
;	COMDAT ?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z PROC ; std::_DebugHeapAllocator<char>::deallocate, COMDAT
; _this$ = ecx

; 102  : 		_DELETE_CRT_VEC(_Ptr);

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

; 103  : 		}

	ret	8
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ENDP ; std::_DebugHeapAllocator<char>::deallocate
_TEXT	ENDS
PUBLIC	??0?$_DebugHeapAllocator@D@std@@QAE@XZ		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_DebugHeapAllocator@D@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_DebugHeapAllocator@D@std@@QAE@XZ PROC		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	ret	0
??0?$_DebugHeapAllocator@D@std@@QAE@XZ ENDP		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
_TEXT	ENDS
PUBLIC	??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z PROC	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	ret	4
??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z ENDP	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
_TEXT	ENDS
PUBLIC	??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@ ; `string'
PUBLIC	??_C@_0DP@KPMMEAL@ScriptRegistrant?$DMclass?5MDB_Base_@ ; `string'
EXTRN	??2@YAPAXI@Z:PROC				; operator new
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
EXTRN	___CxxFrameHandler3:PROC
;	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@_0DP@KPMMEAL@ScriptRegistrant?$DMclass?5MDB_Base_@
CONST	SEGMENT
??_C@_0DP@KPMMEAL@ScriptRegistrant?$DMclass?5MDB_Base_@ DB 'ScriptRegistr'
	DB	'ant<class MDB_Base_Defense_Popup_No_VTOL>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@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_Base_Defense_Popup_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T62002 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@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@_0DP@KPMMEAL@ScriptRegistrant?$DMclass?5MDB_Base_@
	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	52					; 00000034H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T62002[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_Base_Defense_Popup_No_VTOL@@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_Base_Defense_Popup_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T62002[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL>::Create
PUBLIC	??_C@_0EB@GDPJJMJB@ScriptRegistrant?$DMclass?5MDB_Base_@ ; `string'
;	COMDAT ??_C@_0EB@GDPJJMJB@ScriptRegistrant?$DMclass?5MDB_Base_@
CONST	SEGMENT
??_C@_0EB@GDPJJMJB@ScriptRegistrant?$DMclass?5MDB_Base_@ DB 'ScriptRegist'
	DB	'rant<class MDB_Base_Defense_Popup_VTOL_Only>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@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_Base_Defense_Popup_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T62028 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_Base_Defense_Popup_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@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@_0EB@GDPJJMJB@ScriptRegistrant?$DMclass?5MDB_Base_@
	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	48					; 00000030H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T62028[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_Base_Defense_Popup_VTOL_Only@@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_Base_Defense_Popup_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T62028[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_Base_Defense_Popup_VTOL_Only>::Create
PUBLIC	??_C@_0DH@HMPLOEKK@ScriptRegistrant?$DMclass?5MDB_Base_@ ; `string'
;	COMDAT ??_C@_0DH@HMPLOEKK@ScriptRegistrant?$DMclass?5MDB_Base_@
CONST	SEGMENT
??_C@_0DH@HMPLOEKK@ScriptRegistrant?$DMclass?5MDB_Base_@ DB 'ScriptRegist'
	DB	'rant<class MDB_Base_Defense_Popup>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@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_Base_Defense_Popup@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T62051 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_Base_Defense_Popup>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@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@_0DH@HMPLOEKK@ScriptRegistrant?$DMclass?5MDB_Base_@
	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	52					; 00000034H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T62051[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_Base_Defense_Popup@@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_Base_Defense_Popup@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T62051[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_Base_Defense_Popup>::Create
PUBLIC	??_7MDB_Base_Defense@@6B@			; MDB_Base_Defense::`vftable'
PUBLIC	??0MDB_Base_Defense@@QAE@XZ			; MDB_Base_Defense::MDB_Base_Defense
PUBLIC	??_R4MDB_Base_Defense@@6B@			; MDB_Base_Defense::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_Base_Defense@@@8			; MDB_Base_Defense `RTTI Type Descriptor'
PUBLIC	??_R3MDB_Base_Defense@@8			; MDB_Base_Defense::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_Base_Defense@@8			; MDB_Base_Defense::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_Base_Defense@@8		; MDB_Base_Defense::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EMDB_Base_Defense@@UAEPAXI@Z:PROC		; MDB_Base_Defense::`vector deleting destructor'
EXTRN	?Custom@ScriptImpClass@@UAEXPAEHH0@Z:PROC	; ScriptImpClass::Custom
EXTRN	?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z:PROC ; ScriptImpClass::Animation_Complete
;	COMDAT ??_R1A@?0A@EA@MDB_Base_Defense@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_Base_Defense@@8 DD FLAT:??_R0?AVMDB_Base_Defense@@@8 ; MDB_Base_Defense::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_Base_Defense@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_Base_Defense@@8
rdata$r	SEGMENT
??_R2MDB_Base_Defense@@8 DD FLAT:??_R1A@?0A@EA@MDB_Base_Defense@@8 ; MDB_Base_Defense::`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_Base_Defense@@8
rdata$r	SEGMENT
??_R3MDB_Base_Defense@@8 DD 00H				; MDB_Base_Defense::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_Base_Defense@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_Base_Defense@@@8
_DATA	SEGMENT
??_R0?AVMDB_Base_Defense@@@8 DD FLAT:??_7type_info@@6B@	; MDB_Base_Defense `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_Base_Defense@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_Base_Defense@@6B@
rdata$r	SEGMENT
??_R4MDB_Base_Defense@@6B@ DD 00H			; MDB_Base_Defense::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_Base_Defense@@@8
	DD	FLAT:??_R3MDB_Base_Defense@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_Base_Defense@@6B@
CONST	SEGMENT
??_7MDB_Base_Defense@@6B@ DD FLAT:??_R4MDB_Base_Defense@@6B@ ; MDB_Base_Defense::`vftable'
	DD	FLAT:??_EMDB_Base_Defense@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@MDB_Base_Defense@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@MDB_Base_Defense@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@MDB_Base_Defense@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@MDB_Base_Defense@@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@MDB_Base_Defense@@EAEXXZ
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0MDB_Base_Defense@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0MDB_Base_Defense@@QAE@XZ$0
__ehfuncinfo$??0MDB_Base_Defense@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0MDB_Base_Defense@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0MDB_Base_Defense@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0MDB_Base_Defense@@QAE@XZ PROC			; MDB_Base_Defense::MDB_Base_Defense, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0MDB_Base_Defense@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi
	mov	ebx, ecx
	push	edi
	mov	DWORD PTR _this$[esp+28], ebx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR [ebx], OFFSET ??_7MDB_Base_Defense@@6B@
	lea	esi, DWORD PTR [ebx+28]
	mov	edi, 3
	npad	6
$LL12@MDB_Base_D:
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	ecx, esi
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	add	esi, 12					; 0000000cH
	sub	edi, 1
	jns	SHORT $LL12@MDB_Base_D
	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	pop	esi
	mov	eax, ebx
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0MDB_Base_Defense@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
__ehhandler$??0MDB_Base_Defense@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0MDB_Base_Defense@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0MDB_Base_Defense@@QAE@XZ ENDP			; MDB_Base_Defense::MDB_Base_Defense
PUBLIC	??1MDB_Base_Defense@@UAE@XZ			; MDB_Base_Defense::~MDB_Base_Defense
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_Base_Defense@@UAE@XZ
_TEXT	SEGMENT
??1MDB_Base_Defense@@UAE@XZ PROC			; MDB_Base_Defense::~MDB_Base_Defense, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_Base_Defense@@UAE@XZ ENDP			; MDB_Base_Defense::~MDB_Base_Defense
_TEXT	ENDS
PUBLIC	??_7MDB_Base_Defense_No_VTOL@@6B@		; MDB_Base_Defense_No_VTOL::`vftable'
PUBLIC	??0MDB_Base_Defense_No_VTOL@@QAE@XZ		; MDB_Base_Defense_No_VTOL::MDB_Base_Defense_No_VTOL
PUBLIC	??_R4MDB_Base_Defense_No_VTOL@@6B@		; MDB_Base_Defense_No_VTOL::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_Base_Defense_No_VTOL@@@8		; MDB_Base_Defense_No_VTOL `RTTI Type Descriptor'
PUBLIC	??_R3MDB_Base_Defense_No_VTOL@@8		; MDB_Base_Defense_No_VTOL::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_Base_Defense_No_VTOL@@8		; MDB_Base_Defense_No_VTOL::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_Base_Defense_No_VTOL@@8	; MDB_Base_Defense_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EMDB_Base_Defense_No_VTOL@@UAEPAXI@Z:PROC	; MDB_Base_Defense_No_VTOL::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@MDB_Base_Defense_No_VTOL@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_Base_Defense_No_VTOL@@8 DD FLAT:??_R0?AVMDB_Base_Defense_No_VTOL@@@8 ; MDB_Base_Defense_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_Base_Defense_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_Base_Defense_No_VTOL@@8
rdata$r	SEGMENT
??_R2MDB_Base_Defense_No_VTOL@@8 DD FLAT:??_R1A@?0A@EA@MDB_Base_Defense_No_VTOL@@8 ; MDB_Base_Defense_No_VTOL::`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_Base_Defense_No_VTOL@@8
rdata$r	SEGMENT
??_R3MDB_Base_Defense_No_VTOL@@8 DD 00H			; MDB_Base_Defense_No_VTOL::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_Base_Defense_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_Base_Defense_No_VTOL@@@8
_DATA	SEGMENT
??_R0?AVMDB_Base_Defense_No_VTOL@@@8 DD FLAT:??_7type_info@@6B@ ; MDB_Base_Defense_No_VTOL `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_Base_Defense_No_VTOL@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_Base_Defense_No_VTOL@@6B@
rdata$r	SEGMENT
??_R4MDB_Base_Defense_No_VTOL@@6B@ DD 00H		; MDB_Base_Defense_No_VTOL::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_Base_Defense_No_VTOL@@@8
	DD	FLAT:??_R3MDB_Base_Defense_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_Base_Defense_No_VTOL@@6B@
CONST	SEGMENT
??_7MDB_Base_Defense_No_VTOL@@6B@ DD FLAT:??_R4MDB_Base_Defense_No_VTOL@@6B@ ; MDB_Base_Defense_No_VTOL::`vftable'
	DD	FLAT:??_EMDB_Base_Defense_No_VTOL@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@MDB_Base_Defense_No_VTOL@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@MDB_Base_Defense_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@MDB_Base_Defense_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@MDB_Base_Defense_No_VTOL@@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@MDB_Base_Defense_No_VTOL@@EAEXXZ
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0MDB_Base_Defense_No_VTOL@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0MDB_Base_Defense_No_VTOL@@QAE@XZ$0
__ehfuncinfo$??0MDB_Base_Defense_No_VTOL@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0MDB_Base_Defense_No_VTOL@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0MDB_Base_Defense_No_VTOL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0MDB_Base_Defense_No_VTOL@@QAE@XZ PROC		; MDB_Base_Defense_No_VTOL::MDB_Base_Defense_No_VTOL, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0MDB_Base_Defense_No_VTOL@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi
	mov	ebx, ecx
	push	edi
	mov	DWORD PTR _this$[esp+28], ebx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR [ebx], OFFSET ??_7MDB_Base_Defense_No_VTOL@@6B@
	lea	esi, DWORD PTR [ebx+28]
	mov	edi, 3
	npad	6
$LL12@MDB_Base_D@2:
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	ecx, esi
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	add	esi, 12					; 0000000cH
	sub	edi, 1
	jns	SHORT $LL12@MDB_Base_D@2
	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	pop	esi
	mov	eax, ebx
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0MDB_Base_Defense_No_VTOL@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
__ehhandler$??0MDB_Base_Defense_No_VTOL@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0MDB_Base_Defense_No_VTOL@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0MDB_Base_Defense_No_VTOL@@QAE@XZ ENDP		; MDB_Base_Defense_No_VTOL::MDB_Base_Defense_No_VTOL
PUBLIC	??1MDB_Base_Defense_No_VTOL@@UAE@XZ		; MDB_Base_Defense_No_VTOL::~MDB_Base_Defense_No_VTOL
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_Base_Defense_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1MDB_Base_Defense_No_VTOL@@UAE@XZ PROC		; MDB_Base_Defense_No_VTOL::~MDB_Base_Defense_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_Base_Defense_No_VTOL@@UAE@XZ ENDP		; MDB_Base_Defense_No_VTOL::~MDB_Base_Defense_No_VTOL
_TEXT	ENDS
PUBLIC	??_7MDB_Base_Defense_VTOL_Only@@6B@		; MDB_Base_Defense_VTOL_Only::`vftable'
PUBLIC	??0MDB_Base_Defense_VTOL_Only@@QAE@XZ		; MDB_Base_Defense_VTOL_Only::MDB_Base_Defense_VTOL_Only
PUBLIC	??_R4MDB_Base_Defense_VTOL_Only@@6B@		; MDB_Base_Defense_VTOL_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMDB_Base_Defense_VTOL_Only@@@8		; MDB_Base_Defense_VTOL_Only `RTTI Type Descriptor'
PUBLIC	??_R3MDB_Base_Defense_VTOL_Only@@8		; MDB_Base_Defense_VTOL_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MDB_Base_Defense_VTOL_Only@@8		; MDB_Base_Defense_VTOL_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MDB_Base_Defense_VTOL_Only@@8	; MDB_Base_Defense_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EMDB_Base_Defense_VTOL_Only@@UAEPAXI@Z:PROC	; MDB_Base_Defense_VTOL_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@MDB_Base_Defense_VTOL_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MDB_Base_Defense_VTOL_Only@@8 DD FLAT:??_R0?AVMDB_Base_Defense_VTOL_Only@@@8 ; MDB_Base_Defense_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MDB_Base_Defense_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2MDB_Base_Defense_VTOL_Only@@8
rdata$r	SEGMENT
??_R2MDB_Base_Defense_VTOL_Only@@8 DD FLAT:??_R1A@?0A@EA@MDB_Base_Defense_VTOL_Only@@8 ; MDB_Base_Defense_VTOL_Only::`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_Base_Defense_VTOL_Only@@8
rdata$r	SEGMENT
??_R3MDB_Base_Defense_VTOL_Only@@8 DD 00H		; MDB_Base_Defense_VTOL_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2MDB_Base_Defense_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMDB_Base_Defense_VTOL_Only@@@8
_DATA	SEGMENT
??_R0?AVMDB_Base_Defense_VTOL_Only@@@8 DD FLAT:??_7type_info@@6B@ ; MDB_Base_Defense_VTOL_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMDB_Base_Defense_VTOL_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MDB_Base_Defense_VTOL_Only@@6B@
rdata$r	SEGMENT
??_R4MDB_Base_Defense_VTOL_Only@@6B@ DD 00H		; MDB_Base_Defense_VTOL_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMDB_Base_Defense_VTOL_Only@@@8
	DD	FLAT:??_R3MDB_Base_Defense_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_7MDB_Base_Defense_VTOL_Only@@6B@
CONST	SEGMENT
??_7MDB_Base_Defense_VTOL_Only@@6B@ DD FLAT:??_R4MDB_Base_Defense_VTOL_Only@@6B@ ; MDB_Base_Defense_VTOL_Only::`vftable'
	DD	FLAT:??_EMDB_Base_Defense_VTOL_Only@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@MDB_Base_Defense_VTOL_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@MDB_Base_Defense_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@MDB_Base_Defense_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@MDB_Base_Defense_VTOL_Only@@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@MDB_Base_Defense_VTOL_Only@@EAEXXZ
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0MDB_Base_Defense_VTOL_Only@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0MDB_Base_Defense_VTOL_Only@@QAE@XZ$0
__ehfuncinfo$??0MDB_Base_Defense_VTOL_Only@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0MDB_Base_Defense_VTOL_Only@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0MDB_Base_Defense_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0MDB_Base_Defense_VTOL_Only@@QAE@XZ PROC		; MDB_Base_Defense_VTOL_Only::MDB_Base_Defense_VTOL_Only, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0MDB_Base_Defense_VTOL_Only@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi
	mov	ebx, ecx
	push	edi
	mov	DWORD PTR _this$[esp+28], ebx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR [ebx], OFFSET ??_7MDB_Base_Defense_VTOL_Only@@6B@
	lea	esi, DWORD PTR [ebx+28]
	mov	edi, 3
	npad	6
$LL12@MDB_Base_D@3:
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	ecx, esi
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	add	esi, 12					; 0000000cH
	sub	edi, 1
	jns	SHORT $LL12@MDB_Base_D@3
	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	pop	esi
	mov	eax, ebx
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0MDB_Base_Defense_VTOL_Only@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
__ehhandler$??0MDB_Base_Defense_VTOL_Only@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0MDB_Base_Defense_VTOL_Only@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0MDB_Base_Defense_VTOL_Only@@QAE@XZ ENDP		; MDB_Base_Defense_VTOL_Only::MDB_Base_Defense_VTOL_Only
PUBLIC	??1MDB_Base_Defense_VTOL_Only@@UAE@XZ		; MDB_Base_Defense_VTOL_Only::~MDB_Base_Defense_VTOL_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1MDB_Base_Defense_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1MDB_Base_Defense_VTOL_Only@@UAE@XZ PROC		; MDB_Base_Defense_VTOL_Only::~MDB_Base_Defense_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1MDB_Base_Defense_VTOL_Only@@UAE@XZ ENDP		; MDB_Base_Defense_VTOL_Only::~MDB_Base_Defense_VTOL_Only
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GMDB_Base_Defense_Popup_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_Base_Defense_Popup_No_VTOL@@UAEPAXI@Z PROC	; MDB_Base_Defense_Popup_No_VTOL::`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@8
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@8:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_Base_Defense_Popup_No_VTOL@@UAEPAXI@Z ENDP	; MDB_Base_Defense_Popup_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GMDB_Base_Defense_Popup_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_Base_Defense_Popup_VTOL_Only@@UAEPAXI@Z PROC	; MDB_Base_Defense_Popup_VTOL_Only::`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@9
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@9:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_Base_Defense_Popup_VTOL_Only@@UAEPAXI@Z ENDP	; MDB_Base_Defense_Popup_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GMDB_Base_Defense_Popup@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_Base_Defense_Popup@@UAEPAXI@Z PROC		; MDB_Base_Defense_Popup::`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@10
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@10:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_Base_Defense_Popup@@UAEPAXI@Z ENDP		; MDB_Base_Defense_Popup::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GMDB_Base_Defense@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_Base_Defense@@UAEPAXI@Z PROC			; MDB_Base_Defense::`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@11
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@11:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_Base_Defense@@UAEPAXI@Z ENDP			; MDB_Base_Defense::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GMDB_Base_Defense_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_Base_Defense_No_VTOL@@UAEPAXI@Z PROC		; MDB_Base_Defense_No_VTOL::`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@12
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@12:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_Base_Defense_No_VTOL@@UAEPAXI@Z ENDP		; MDB_Base_Defense_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GMDB_Base_Defense_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GMDB_Base_Defense_VTOL_Only@@UAEPAXI@Z PROC		; MDB_Base_Defense_VTOL_Only::`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@13
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@13:
	mov	eax, esi
	pop	esi
	ret	4
??_GMDB_Base_Defense_VTOL_Only@@UAEPAXI@Z ENDP		; MDB_Base_Defense_VTOL_Only::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0DB@JPPHOCLK@ScriptRegistrant?$DMclass?5MDB_Base_@ ; `string'
;	COMDAT ??_C@_0DB@JPPHOCLK@ScriptRegistrant?$DMclass?5MDB_Base_@
CONST	SEGMENT
??_C@_0DB@JPPHOCLK@ScriptRegistrant?$DMclass?5MDB_Base_@ DB 'ScriptRegist'
	DB	'rant<class MDB_Base_Defense>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_Base_Defense@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense@@@@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_Base_Defense@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T62215 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_Base_Defense@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_Base_Defense>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense@@@@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@_0DB@JPPHOCLK@ScriptRegistrant?$DMclass?5MDB_Base_@
	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	88					; 00000058H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T62215[esp+24], eax
	xor	esi, esi
	cmp	eax, esi
	mov	DWORD PTR __$EHRec$[esp+32], esi
	je	SHORT $LN3@Create@4
	mov	ecx, eax
	call	??0MDB_Base_Defense@@QAE@XZ
	mov	esi, eax
$LN3@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_Base_Defense@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T62215[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_Base_Defense@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_Base_Defense>::Create
PUBLIC	??_C@_0DJ@NCBLNGO@ScriptRegistrant?$DMclass?5MDB_Base_@ ; `string'
;	COMDAT ??_C@_0DJ@NCBLNGO@ScriptRegistrant?$DMclass?5MDB_Base_@
CONST	SEGMENT
??_C@_0DJ@NCBLNGO@ScriptRegistrant?$DMclass?5MDB_Base_@ DB 'ScriptRegistr'
	DB	'ant<class MDB_Base_Defense_No_VTOL>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@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_Base_Defense_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T62234 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_Base_Defense_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@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@_0DJ@NCBLNGO@ScriptRegistrant?$DMclass?5MDB_Base_@
	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	88					; 00000058H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T62234[esp+24], eax
	xor	esi, esi
	cmp	eax, esi
	mov	DWORD PTR __$EHRec$[esp+32], esi
	je	SHORT $LN3@Create@5
	mov	ecx, eax
	call	??0MDB_Base_Defense_No_VTOL@@QAE@XZ
	mov	esi, eax
$LN3@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_Base_Defense_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T62234[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_Base_Defense_No_VTOL>::Create
PUBLIC	??_C@_0DL@FCKKMNDG@ScriptRegistrant?$DMclass?5MDB_Base_@ ; `string'
;	COMDAT ??_C@_0DL@FCKKMNDG@ScriptRegistrant?$DMclass?5MDB_Base_@
CONST	SEGMENT
??_C@_0DL@FCKKMNDG@ScriptRegistrant?$DMclass?5MDB_Base_@ DB 'ScriptRegist'
	DB	'rant<class MDB_Base_Defense_VTOL_Only>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@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_Base_Defense_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T62253 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<MDB_Base_Defense_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@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@_0DL@FCKKMNDG@ScriptRegistrant?$DMclass?5MDB_Base_@
	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	80					; 00000050H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T62253[esp+24], eax
	xor	esi, esi
	cmp	eax, esi
	mov	DWORD PTR __$EHRec$[esp+32], esi
	je	SHORT $LN3@Create@6
	mov	ecx, eax
	call	??0MDB_Base_Defense_VTOL_Only@@QAE@XZ
	mov	esi, eax
$LN3@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_Base_Defense_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T62253[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<MDB_Base_Defense_VTOL_Only>::Create
PUBLIC	??_C@_0BP@EKAFJNAG@MDB_Base_Defense_Popup_No_VTOL?$AA@ ; `string'
PUBLIC	??_C@_0LJ@KMLKNHMH@MaxAttackDistance?$DN10?40?3float?0Ret@ ; `string'
EXTRN	_atexit:PROC
;	COMDAT ??_C@_0BP@EKAFJNAG@MDB_Base_Defense_Popup_No_VTOL?$AA@
CONST	SEGMENT
??_C@_0BP@EKAFJNAG@MDB_Base_Defense_Popup_No_VTOL?$AA@ DB 'MDB_Base_Defen'
	DB	'se_Popup_No_VTOL', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0LJ@KMLKNHMH@MaxAttackDistance?$DN10?40?3float?0Ret@
CONST	SEGMENT
??_C@_0LJ@KMLKNHMH@MaxAttackDistance?$DN10?40?3float?0Ret@ DB 'MaxAttackD'
	DB	'istance=10.0:float,ReturnTime=10:int,Animation=0:string,LastF'
	DB	'rame=-1.0:float,Sensor_Preset=0:string,Sensor_Creation_Bone=0'
	DB	':string,Sound=0:string,Adjust_Aim_For_Infantry=1:int', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbdef.cpp
CONST	ENDS
;	COMDAT ??__EMDB_Base_Defense_Popup_No_VTOL_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_Base_Defense_Popup_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic initializer for 'MDB_Base_Defense_Popup_No_VTOL_Registrant'', COMDAT

; 685  : ScriptRegistrant<MDB_Base_Defense_Popup_No_VTOL> MDB_Base_Defense_Popup_No_VTOL_Registrant("MDB_Base_Defense_Popup_No_VTOL","MaxAttackDistance=10.0:float,ReturnTime=10:int,Animation=0:string,LastFrame=-1.0:float,Sensor_Preset=0:string,Sensor_Creation_Bone=0:string,Sound=0:string,Adjust_Aim_For_Infantry=1:int");

	push	OFFSET ??_C@_0LJ@KMLKNHMH@MaxAttackDistance?$DN10?40?3float?0Ret@
	push	OFFSET ??_C@_0BP@EKAFJNAG@MDB_Base_Defense_Popup_No_VTOL?$AA@
	mov	ecx, OFFSET ?MDB_Base_Defense_Popup_No_VTOL_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@A ; MDB_Base_Defense_Popup_No_VTOL_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_Base_Defense_Popup_No_VTOL_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_Base_Defense_Popup_No_VTOL_Registrant''
	mov	DWORD PTR ?MDB_Base_Defense_Popup_No_VTOL_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_Base_Defense_Popup_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'MDB_Base_Defense_Popup_No_VTOL_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CB@CACAAIEP@MDB_Base_Defense_Popup_VTOL_Only@ ; `string'
PUBLIC	??_C@_0JL@EAGFCAJH@MaxAttackDistance?$DN10?40?3float?0Ret@ ; `string'
;	COMDAT ??_C@_0CB@CACAAIEP@MDB_Base_Defense_Popup_VTOL_Only@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CB@CACAAIEP@MDB_Base_Defense_Popup_VTOL_Only@ DB 'MDB_Base_Defense'
	DB	'_Popup_VTOL_Only', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0JL@EAGFCAJH@MaxAttackDistance?$DN10?40?3float?0Ret@
CONST	SEGMENT
??_C@_0JL@EAGFCAJH@MaxAttackDistance?$DN10?40?3float?0Ret@ DB 'MaxAttackD'
	DB	'istance=10.0:float,ReturnTime=10:int,Animation=0:string,LastF'
	DB	'rame=-1.0:float,Sensor_Preset=0:string,Sensor_Creation_Bone=0'
	DB	':string,Sound=0:string', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbdef.cpp
CONST	ENDS
;	COMDAT ??__EMDB_Base_Defense_Popup_VTOL_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_Base_Defense_Popup_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'MDB_Base_Defense_Popup_VTOL_Only_Registrant'', COMDAT

; 686  : ScriptRegistrant<MDB_Base_Defense_Popup_VTOL_Only> MDB_Base_Defense_Popup_VTOL_Only_Registrant("MDB_Base_Defense_Popup_VTOL_Only","MaxAttackDistance=10.0:float,ReturnTime=10:int,Animation=0:string,LastFrame=-1.0:float,Sensor_Preset=0:string,Sensor_Creation_Bone=0:string,Sound=0:string");

	push	OFFSET ??_C@_0JL@EAGFCAJH@MaxAttackDistance?$DN10?40?3float?0Ret@
	push	OFFSET ??_C@_0CB@CACAAIEP@MDB_Base_Defense_Popup_VTOL_Only@
	mov	ecx, OFFSET ?MDB_Base_Defense_Popup_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@A ; MDB_Base_Defense_Popup_VTOL_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_Base_Defense_Popup_VTOL_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_Base_Defense_Popup_VTOL_Only_Registrant''
	mov	DWORD PTR ?MDB_Base_Defense_Popup_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_Base_Defense_Popup_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'MDB_Base_Defense_Popup_VTOL_Only_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BH@EEAPLOMP@MDB_Base_Defense_Popup?$AA@	; `string'
;	COMDAT ??_C@_0BH@EEAPLOMP@MDB_Base_Defense_Popup?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BH@EEAPLOMP@MDB_Base_Defense_Popup?$AA@ DB 'MDB_Base_Defense_Popup'
	DB	00H						; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbdef.cpp
CONST	ENDS
;	COMDAT ??__EMDB_Base_Defense_Popup_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_Base_Defense_Popup_Registrant@@YAXXZ PROC	; `dynamic initializer for 'MDB_Base_Defense_Popup_Registrant'', COMDAT

; 687  : ScriptRegistrant<MDB_Base_Defense_Popup> MDB_Base_Defense_Popup_Registrant("MDB_Base_Defense_Popup","MaxAttackDistance=10.0:float,ReturnTime=10:int,Animation=0:string,LastFrame=-1.0:float,Sensor_Preset=0:string,Sensor_Creation_Bone=0:string,Sound=0:string,Adjust_Aim_For_Infantry=1:int");

	push	OFFSET ??_C@_0LJ@KMLKNHMH@MaxAttackDistance?$DN10?40?3float?0Ret@
	push	OFFSET ??_C@_0BH@EEAPLOMP@MDB_Base_Defense_Popup?$AA@
	mov	ecx, OFFSET ?MDB_Base_Defense_Popup_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@A ; MDB_Base_Defense_Popup_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_Base_Defense_Popup_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_Base_Defense_Popup_Registrant''
	mov	DWORD PTR ?MDB_Base_Defense_Popup_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_Base_Defense_Popup_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'MDB_Base_Defense_Popup_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BB@GNGEMEEM@MDB_Base_Defense?$AA@	; `string'
PUBLIC	??_C@_0DL@MFIHOIKG@MaxAttackDistance?$DN10?40?3float?0Adj@ ; `string'
;	COMDAT ??_C@_0BB@GNGEMEEM@MDB_Base_Defense?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BB@GNGEMEEM@MDB_Base_Defense?$AA@ DB 'MDB_Base_Defense', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DL@MFIHOIKG@MaxAttackDistance?$DN10?40?3float?0Adj@
CONST	SEGMENT
??_C@_0DL@MFIHOIKG@MaxAttackDistance?$DN10?40?3float?0Adj@ DB 'MaxAttackD'
	DB	'istance=10.0:float,Adjust_Aim_For_Infantry=1:int', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbdef.cpp
CONST	ENDS
;	COMDAT ??__EMDB_Base_Defense_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_Base_Defense_Registrant@@YAXXZ PROC		; `dynamic initializer for 'MDB_Base_Defense_Registrant'', COMDAT

; 688  : ScriptRegistrant<MDB_Base_Defense> MDB_Base_Defense_Registrant("MDB_Base_Defense","MaxAttackDistance=10.0:float,Adjust_Aim_For_Infantry=1:int");

	push	OFFSET ??_C@_0DL@MFIHOIKG@MaxAttackDistance?$DN10?40?3float?0Adj@
	push	OFFSET ??_C@_0BB@GNGEMEEM@MDB_Base_Defense?$AA@
	mov	ecx, OFFSET ?MDB_Base_Defense_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense@@@@A ; MDB_Base_Defense_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_Base_Defense_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_Base_Defense_Registrant''
	mov	DWORD PTR ?MDB_Base_Defense_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_Base_Defense@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_Base_Defense_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'MDB_Base_Defense_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BJ@HBELCCLG@MDB_Base_Defense_No_VTOL?$AA@ ; `string'
;	COMDAT ??_C@_0BJ@HBELCCLG@MDB_Base_Defense_No_VTOL?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BJ@HBELCCLG@MDB_Base_Defense_No_VTOL?$AA@ DB 'MDB_Base_Defense_No_'
	DB	'VTOL', 00H					; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbdef.cpp
CONST	ENDS
;	COMDAT ??__EMDB_Base_Defense_No_VTOL_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_Base_Defense_No_VTOL_Registrant@@YAXXZ PROC	; `dynamic initializer for 'MDB_Base_Defense_No_VTOL_Registrant'', COMDAT

; 689  : ScriptRegistrant<MDB_Base_Defense_No_VTOL> MDB_Base_Defense_No_VTOL_Registrant("MDB_Base_Defense_No_VTOL","MaxAttackDistance=10.0:float,Adjust_Aim_For_Infantry=1:int");

	push	OFFSET ??_C@_0DL@MFIHOIKG@MaxAttackDistance?$DN10?40?3float?0Adj@
	push	OFFSET ??_C@_0BJ@HBELCCLG@MDB_Base_Defense_No_VTOL?$AA@
	mov	ecx, OFFSET ?MDB_Base_Defense_No_VTOL_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@A ; MDB_Base_Defense_No_VTOL_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_Base_Defense_No_VTOL_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_Base_Defense_No_VTOL_Registrant''
	mov	DWORD PTR ?MDB_Base_Defense_No_VTOL_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_Base_Defense_No_VTOL_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'MDB_Base_Defense_No_VTOL_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BL@JPDLDDKE@MDB_Base_Defense_VTOL_Only?$AA@ ; `string'
;	COMDAT ??_C@_0BL@JPDLDDKE@MDB_Base_Defense_VTOL_Only?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BL@JPDLDDKE@MDB_Base_Defense_VTOL_Only?$AA@ DB 'MDB_Base_Defense_V'
	DB	'TOL_Only', 00H				; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\mdbdef.cpp
CONST	ENDS
;	COMDAT ??__EMDB_Base_Defense_VTOL_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EMDB_Base_Defense_VTOL_Only_Registrant@@YAXXZ PROC	; `dynamic initializer for 'MDB_Base_Defense_VTOL_Only_Registrant'', COMDAT

; 690  : ScriptRegistrant<MDB_Base_Defense_VTOL_Only> MDB_Base_Defense_VTOL_Only_Registrant("MDB_Base_Defense_VTOL_Only","MaxAttackDistance=10.0:float,Adjust_Aim_For_Infantry=1:int");

	push	OFFSET ??_C@_0DL@MFIHOIKG@MaxAttackDistance?$DN10?40?3float?0Adj@
	push	OFFSET ??_C@_0BL@JPDLDDKE@MDB_Base_Defense_VTOL_Only?$AA@
	mov	ecx, OFFSET ?MDB_Base_Defense_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@A ; MDB_Base_Defense_VTOL_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FMDB_Base_Defense_VTOL_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'MDB_Base_Defense_VTOL_Only_Registrant''
	mov	DWORD PTR ?MDB_Base_Defense_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EMDB_Base_Defense_VTOL_Only_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'MDB_Base_Defense_VTOL_Only_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__FMDB_Base_Defense_Popup_No_VTOL_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_Base_Defense_Popup_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'MDB_Base_Defense_Popup_No_VTOL_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_Base_Defense_Popup_No_VTOL_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@A ; MDB_Base_Defense_Popup_No_VTOL_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_Base_Defense_Popup_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'MDB_Base_Defense_Popup_No_VTOL_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FMDB_Base_Defense_Popup_VTOL_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_Base_Defense_Popup_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'MDB_Base_Defense_Popup_VTOL_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_Base_Defense_Popup_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@A ; MDB_Base_Defense_Popup_VTOL_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_Base_Defense_Popup_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'MDB_Base_Defense_Popup_VTOL_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FMDB_Base_Defense_Popup_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_Base_Defense_Popup_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'MDB_Base_Defense_Popup_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_Base_Defense_Popup_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@A ; MDB_Base_Defense_Popup_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_Base_Defense_Popup_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'MDB_Base_Defense_Popup_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FMDB_Base_Defense_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_Base_Defense_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'MDB_Base_Defense_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_Base_Defense_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense@@@@A ; MDB_Base_Defense_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_Base_Defense_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'MDB_Base_Defense_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FMDB_Base_Defense_No_VTOL_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_Base_Defense_No_VTOL_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'MDB_Base_Defense_No_VTOL_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_Base_Defense_No_VTOL_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@A ; MDB_Base_Defense_No_VTOL_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_Base_Defense_No_VTOL_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'MDB_Base_Defense_No_VTOL_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FMDB_Base_Defense_VTOL_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FMDB_Base_Defense_VTOL_Only_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'MDB_Base_Defense_VTOL_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?MDB_Base_Defense_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@A ; MDB_Base_Defense_VTOL_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FMDB_Base_Defense_VTOL_Only_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'MDB_Base_Defense_VTOL_Only_Registrant''
text$yd	ENDS
PUBLIC	?MDB_Base_Defense_Popup_No_VTOL_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@A ; MDB_Base_Defense_Popup_No_VTOL_Registrant
PUBLIC	?MDB_Base_Defense_Popup_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@A ; MDB_Base_Defense_Popup_Registrant
PUBLIC	?MDB_Base_Defense_Popup_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@A ; MDB_Base_Defense_Popup_VTOL_Only_Registrant
PUBLIC	?MDB_Base_Defense_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@A ; MDB_Base_Defense_VTOL_Only_Registrant
PUBLIC	?MDB_Base_Defense_No_VTOL_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@A ; MDB_Base_Defense_No_VTOL_Registrant
PUBLIC	?MDB_Base_Defense_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense@@@@A ; MDB_Base_Defense_Registrant
_BSS	SEGMENT
?MDB_Base_Defense_Popup_No_VTOL_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup_No_VTOL@@@@A DB 010H DUP (?) ; MDB_Base_Defense_Popup_No_VTOL_Registrant
?MDB_Base_Defense_Popup_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup@@@@A DB 010H DUP (?) ; MDB_Base_Defense_Popup_Registrant
?MDB_Base_Defense_Popup_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_Popup_VTOL_Only@@@@A DB 010H DUP (?) ; MDB_Base_Defense_Popup_VTOL_Only_Registrant
?MDB_Base_Defense_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_VTOL_Only@@@@A DB 010H DUP (?) ; MDB_Base_Defense_VTOL_Only_Registrant
?MDB_Base_Defense_No_VTOL_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense_No_VTOL@@@@A DB 010H DUP (?) ; MDB_Base_Defense_No_VTOL_Registrant
?MDB_Base_Defense_Registrant@@3V?$ScriptRegistrant@VMDB_Base_Defense@@@@A DB 010H DUP (?) ; MDB_Base_Defense_Registrant
_BSS	ENDS
CRT$XCU	SEGMENT
_MDB_Base_Defense_Popup_No_VTOL_Registrant$initializer$ DD FLAT:??__EMDB_Base_Defense_Popup_No_VTOL_Registrant@@YAXXZ
_MDB_Base_Defense_Popup_VTOL_Only_Registrant$initializer$ DD FLAT:??__EMDB_Base_Defense_Popup_VTOL_Only_Registrant@@YAXXZ
_MDB_Base_Defense_Popup_Registrant$initializer$ DD FLAT:??__EMDB_Base_Defense_Popup_Registrant@@YAXXZ
_MDB_Base_Defense_Registrant$initializer$ DD FLAT:??__EMDB_Base_Defense_Registrant@@YAXXZ
_MDB_Base_Defense_No_VTOL_Registrant$initializer$ DD FLAT:??__EMDB_Base_Defense_No_VTOL_Registrant@@YAXXZ
_MDB_Base_Defense_VTOL_Only_Registrant$initializer$ DD FLAT:??__EMDB_Base_Defense_VTOL_Only_Registrant@@YAXXZ
CRT$XCU	ENDS
END
