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

	TITLE	d:\Source Code\STGM\jfwgun.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@ActionParamsStruct@@QAEXPAEMM_N@Z	; ActionParamsStruct::Set_Attack
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Attack@ActionParamsStruct@@QAEXPAEMM_N@Z
_TEXT	SEGMENT
_Target$ = 8						; size = 4
_Range$ = 12						; size = 4
_Deviation$ = 16					; size = 4
_Primary$ = 20						; size = 1
?Set_Attack@ActionParamsStruct@@QAEXPAEMM_N@Z PROC	; ActionParamsStruct::Set_Attack, COMDAT
; _this$ = ecx

; 305  : 		Attack_Target = Target;
; 306  : 		Attack_Range = Range;

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

; 307  : 		Attack_Deviation = Deviation;
; 308  : 		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
	fstp	DWORD PTR [ecx+80]
	mov	BYTE PTR [ecx+92], dl

; 309  : 	}

	ret	16					; 00000010H
?Set_Attack@ActionParamsStruct@@QAEXPAEMM_N@Z ENDP	; ActionParamsStruct::Set_Attack
_TEXT	ENDS
PUBLIC	??_C@_0BI@LBJBBCKH@JFW_Building_Gun_Weapon?$AA@	; `string'
PUBLIC	??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ ; `string'
PUBLIC	??_C@_0P@EAIDILHB@Disable_Custom?$AA@		; `string'
PUBLIC	??_C@_07MGEGCLJM@Visible?$AA@			; `string'
PUBLIC	??_C@_09PMPCDCMH@Min_Range?$AA@			; `string'
PUBLIC	??_C@_09PNPOKIHD@Max_Range?$AA@			; `string'
PUBLIC	??_C@_06KLEAFNAE@Weapon?$AA@			; `string'
PUBLIC	??_C@_07PHDJHIPA@Positon?$AA@			; `string'
PUBLIC	?Created@JFW_Building_Gun@@EAEXPAE@Z		; JFW_Building_Gun::Created
EXTRN	_sprintf:PROC
EXTRN	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z:PROC	; ScriptImpClass::Get_Parameter
EXTRN	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z:PROC ; ScriptImpClass::Get_Vector3_Parameter
EXTRN	?Commands@@3PAUScriptCommands@@A:DWORD		; Commands
;	COMDAT ??_C@_0BI@LBJBBCKH@JFW_Building_Gun_Weapon?$AA@
; File d:\source code\stgm\jfwgun.cpp
CONST	SEGMENT
??_C@_0BI@LBJBBCKH@JFW_Building_Gun_Weapon?$AA@ DB 'JFW_Building_Gun_Weap'
	DB	'on', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
CONST	SEGMENT
??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ DB '%s,%s,%s,%s', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
CONST	SEGMENT
??_C@_0P@EAIDILHB@Disable_Custom?$AA@ DB 'Disable_Custom', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_07MGEGCLJM@Visible?$AA@
CONST	SEGMENT
??_C@_07MGEGCLJM@Visible?$AA@ DB 'Visible', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_09PMPCDCMH@Min_Range?$AA@
CONST	SEGMENT
??_C@_09PMPCDCMH@Min_Range?$AA@ DB 'Min_Range', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09PNPOKIHD@Max_Range?$AA@
CONST	SEGMENT
??_C@_09PNPOKIHD@Max_Range?$AA@ DB 'Max_Range', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_06KLEAFNAE@Weapon?$AA@
CONST	SEGMENT
??_C@_06KLEAFNAE@Weapon?$AA@ DB 'Weapon', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07PHDJHIPA@Positon?$AA@
CONST	SEGMENT
??_C@_07PHDJHIPA@Positon?$AA@ DB 'Positon', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70194 = -1012						; size = 12
$T70193 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun@@EAEXPAE@Z PROC		; JFW_Building_Gun::Created, COMDAT
; _this$ = ecx

; 18   : {

	sub	esp, 1036				; 0000040cH

; 19   : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 20   : 	GameObject *object;
; 21   : 	const char *weapon;
; 22   : 	char params[1000];
; 23   : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70193[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 24   : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70194[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 25   : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 26   : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 27   : 	v.Z += v2.Z;
; 28   : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 29   : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 30   : 	if (object)

	test	edi, edi
	je	$LN1@Created

; 31   : 	{
; 32   : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 33   : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 34   : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET ??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 35   : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET ??_C@_0BI@LBJBBCKH@JFW_Building_Gun_Weapon?$AA@
	push	edi
	call	edx
	add	esp, 36					; 00000024H
$LN1@Created:
	pop	edi
	pop	esi
	pop	ebx

; 36   : 	}
; 37   : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun@@EAEXPAE@Z ENDP		; JFW_Building_Gun::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun@@EAEXPAE0@Z		; JFW_Building_Gun::Killed
EXTRN	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z:PROC ; ScriptImpClass::Get_Int_Parameter
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun@@EAEXPAE0@Z PROC		; JFW_Building_Gun::Killed, COMDAT
; _this$ = ecx

; 40   : {

	push	esi
	mov	esi, ecx

; 41   : 	GameObject *object;
; 42   : 	object = Commands->Find_Object(weaponid);

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

; 43   : 	int x;
; 44   : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 45   : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed

; 46   : 	{
; 47   : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed:
	pop	edi
	pop	esi

; 48   : 	}
; 49   : }

	ret	8
?Killed@JFW_Building_Gun@@EAEXPAE0@Z ENDP		; JFW_Building_Gun::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun@@EAEXPAEH@Z	; JFW_Building_Gun::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun@@EAEXPAEH@Z PROC	; JFW_Building_Gun::Timer_Expired, COMDAT
; _this$ = ecx

; 52   : {

	push	ebp
	push	edi

; 53   : 	float health;
; 54   : 	bool power;
; 55   : 	GameObject *object;
; 56   : 	int x;
; 57   : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 58   : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN5@Timer_Expi

; 59   : 	{
; 60   : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 61   : 		power = Commands->Get_Building_Power(obj);

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

; 62   : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 63   : 		if (object)

	test	ecx, ecx
	je	SHORT $LN8@Timer_Expi

; 64   : 		{
; 65   : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN2@Timer_Expi
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN2@Timer_Expi

; 68   : 			}
; 69   : 			else
; 70   : 			{
; 71   : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	jmp	SHORT $LN14@Timer_Expi
$LN2@Timer_Expi:

; 66   : 			{
; 67   : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	esi
	call	ecx
$LN14@Timer_Expi:
	add	esp, 20					; 00000014H
$LN8@Timer_Expi:

; 72   : 			}
; 73   : 		}
; 74   : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 75   : 	}
; 76   : }

	ret	8
?Timer_Expired@JFW_Building_Gun@@EAEXPAEH@Z ENDP	; JFW_Building_Gun::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun@@EAEXXZ ; JFW_Building_Gun::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@JFW_Building_Gun@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun@@EAEXXZ PROC ; JFW_Building_Gun::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 80   : 	Auto_Save_Variable(1,4,&weaponid);

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

; 81   : }

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

; 84   : {

	push	esi
	push	edi

; 85   : 	int visible;
; 86   : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 88   : 	Commands->Innate_Enable(obj);

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

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

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

; 90   : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	edx
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 91   : }

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

; 95   : 	int msg;
; 96   : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 97   : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $LN1@Custom

; 98   : 	{
; 99   : 		Commands->Enable_Enemy_Seen(obj,param);

	cmp	DWORD PTR _param$[esp-4], 0
	mov	ecx, DWORD PTR _obj$[esp-4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	setne	al
	push	eax
	mov	eax, DWORD PTR [edx+300]
	push	ecx
	call	eax
	add	esp, 8
$LN1@Custom:

; 100  : 	}
; 101  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon@@EAEXPAEHH0@Z ENDP	; JFW_Building_Gun_Weapon::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon@@EAEXPAE0@Z	; JFW_Building_Gun_Weapon::Enemy_Seen
EXTRN	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z:PROC ; ScriptImpClass::Get_Float_Parameter
EXTRN	?Get_Vehicle@@YAPAEPAE@Z:PROC			; Get_Vehicle
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$ = -240						; size = 12
_pos$ = -228						; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T70221 = -208						; size = 12
$T70220 = -208						; size = 12
_params$58183 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon@@EAEXPAE0@Z PROC	; JFW_Building_Gun_Weapon::Enemy_Seen, COMDAT
; _this$ = ecx

; 104  : {

	sub	esp, 244				; 000000f4H
	push	ebx
	push	esi
	push	edi

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

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

; 106  : 	if (o)

	test	eax, eax
	je	SHORT $LN2@Enemy_Seen

; 107  : 	{
; 108  : 		seen = o;

	mov	edi, eax
$LN2@Enemy_Seen:

; 109  : 	}
; 110  : 	float minrange;
; 111  : 	float maxrange;
; 112  : 	float range;
; 113  : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 114  : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 115  : 	Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 116  : 	pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70220[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 117  : 	pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70221[esp+264]
	mov	DWORD PTR _pos$[esp+272], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+276], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$[esp+280], eax

; 118  : 	range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$[esp+272]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$[esp+276]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+280]

; 119  : 	pos.Z = 0;

	fldz

; 120  : 	pos2.Z = 0;
; 121  : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$[esp+280]
	fst	DWORD PTR _pos$[esp+288]
	push	edx
	fstp	DWORD PTR _pos2$[esp+292]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$[esp+284]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN1@Enemy_Seen
	fld	DWORD PTR _maxrange$[esp+256]
	fcomp	DWORD PTR _range$[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN1@Enemy_Seen

; 122  : 	{
; 123  : 		ActionParamsStruct params;

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

; 124  : 		params.Set_Basic(this,100,1);
; 125  : 		params.Set_Attack(seen,maxrange,0,true);

	fld	DWORD PTR _maxrange$[esp+256]
	mov	eax, DWORD PTR [esi+4]
	fstp	DWORD PTR _params$58183[esp+332]
	fldz

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$58183[esp+256]
	fstp	DWORD PTR _params$58183[esp+336]
	push	ecx
	mov	DWORD PTR _params$58183[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$58183[esp+264], eax
	mov	DWORD PTR _params$58183[esp+428], -1
	mov	DWORD PTR _params$58183[esp+348], edi
	mov	BYTE PTR _params$58183[esp+352], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebx
	call	eax

; 127  : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 128  : 	}
; 129  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_Weapon::Enemy_Seen
_TEXT	ENDS
PUBLIC	__real@42c80000
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon::Timer_Expired
;	COMDAT __real@42c80000
CONST	SEGMENT
__real@42c80000 DD 042c80000r			; 100
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon@@EAEXPAEH@Z PROC	; JFW_Building_Gun_Weapon::Timer_Expired, COMDAT
; _this$ = ecx

; 133  : 	if (number == 1)

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

; 134  : 	{
; 135  : 		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@Timer_Expi@2:

; 136  : 	}
; 137  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon@@EAEXPAEH@Z ENDP	; JFW_Building_Gun_Weapon::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CE@DECBGIO@JFW_Building_Gun_Weapon_No_Aircr@ ; `string'
PUBLIC	??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ ; `string'
PUBLIC	??_C@_07MLBKNGKL@Preset1?$AA@			; `string'
PUBLIC	??_C@_07OADHIFGI@Preset2?$AA@			; `string'
PUBLIC	??_C@_07PJCMLECJ@Preset3?$AA@			; `string'
PUBLIC	??_C@_07LGGNCCOO@Preset4?$AA@			; `string'
PUBLIC	??_C@_07KPHGBDKP@Preset5?$AA@			; `string'
PUBLIC	??_C@_07IEFLEAGM@Preset6?$AA@			; `string'
PUBLIC	??_C@_07JNEAHBCN@Preset7?$AA@			; `string'
PUBLIC	??_C@_07BKNIGNOC@Preset8?$AA@			; `string'
PUBLIC	?Created@JFW_Building_Gun_No_Aircraft@@EAEXPAE@Z ; JFW_Building_Gun_No_Aircraft::Created
;	COMDAT ??_C@_0CE@DECBGIO@JFW_Building_Gun_Weapon_No_Aircr@
CONST	SEGMENT
??_C@_0CE@DECBGIO@JFW_Building_Gun_Weapon_No_Aircr@ DB 'JFW_Building_Gun_'
	DB	'Weapon_No_Aircraft', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
CONST	SEGMENT
??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ DB '%'
	DB	's,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_07MLBKNGKL@Preset1?$AA@
CONST	SEGMENT
??_C@_07MLBKNGKL@Preset1?$AA@ DB 'Preset1', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07OADHIFGI@Preset2?$AA@
CONST	SEGMENT
??_C@_07OADHIFGI@Preset2?$AA@ DB 'Preset2', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07PJCMLECJ@Preset3?$AA@
CONST	SEGMENT
??_C@_07PJCMLECJ@Preset3?$AA@ DB 'Preset3', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07LGGNCCOO@Preset4?$AA@
CONST	SEGMENT
??_C@_07LGGNCCOO@Preset4?$AA@ DB 'Preset4', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07KPHGBDKP@Preset5?$AA@
CONST	SEGMENT
??_C@_07KPHGBDKP@Preset5?$AA@ DB 'Preset5', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07IEFLEAGM@Preset6?$AA@
CONST	SEGMENT
??_C@_07IEFLEAGM@Preset6?$AA@ DB 'Preset6', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07JNEAHBCN@Preset7?$AA@
CONST	SEGMENT
??_C@_07JNEAHBCN@Preset7?$AA@ DB 'Preset7', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07BKNIGNOC@Preset8?$AA@
CONST	SEGMENT
??_C@_07BKNIGNOC@Preset8?$AA@ DB 'Preset8', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70244 = -1012						; size = 12
$T70243 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_No_Aircraft@@EAEXPAE@Z PROC	; JFW_Building_Gun_No_Aircraft::Created, COMDAT
; _this$ = ecx

; 140  : {

	sub	esp, 1036				; 0000040cH

; 141  : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 142  : 	GameObject *object;
; 143  : 	const char *weapon;
; 144  : 	char params[1000];
; 145  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70243[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 146  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70244[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 147  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 148  : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 149  : 	v.Z += v2.Z;
; 150  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 151  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 152  : 	if (object)

	test	edi, edi
	je	$LN1@Created@2

; 153  : 	{
; 154  : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 155  : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 156  : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"));

	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1096]
	push	OFFSET ??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 157  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_No_Aircraft",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1104]
	push	eax
	push	OFFSET ??_C@_0CE@DECBGIO@JFW_Building_Gun_Weapon_No_Aircr@
	push	edi
	call	edx
	add	esp, 68					; 00000044H
$LN1@Created@2:
	pop	edi
	pop	esi
	pop	ebx

; 158  : 	}
; 159  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_No_Aircraft@@EAEXPAE@Z ENDP	; JFW_Building_Gun_No_Aircraft::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_No_Aircraft::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_No_Aircraft@@EAEXPAE0@Z PROC	; JFW_Building_Gun_No_Aircraft::Killed, COMDAT
; _this$ = ecx

; 162  : {

	push	esi
	mov	esi, ecx

; 163  : 	GameObject *object;
; 164  : 	object = Commands->Find_Object(weaponid);

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

; 165  : 	int x;
; 166  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 167  : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@2

; 168  : 	{
; 169  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@2:
	pop	edi
	pop	esi

; 170  : 	}
; 171  : }

	ret	8
?Killed@JFW_Building_Gun_No_Aircraft@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_No_Aircraft::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_No_Aircraft::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_No_Aircraft@@EAEXPAEH@Z PROC ; JFW_Building_Gun_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 174  : {

	push	ebp
	push	edi

; 175  : 	float health;
; 176  : 	bool power;
; 177  : 	GameObject *object;
; 178  : 	int x;
; 179  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 180  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN5@Timer_Expi@3

; 181  : 	{
; 182  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 183  : 		power = Commands->Get_Building_Power(obj);

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

; 184  : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 185  : 		if (object)

	test	ecx, ecx
	je	SHORT $LN8@Timer_Expi@3

; 186  : 		{
; 187  : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN2@Timer_Expi@3
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN2@Timer_Expi@3

; 190  : 			}
; 191  : 			else
; 192  : 			{
; 193  : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	jmp	SHORT $LN14@Timer_Expi@3
$LN2@Timer_Expi@3:

; 188  : 			{
; 189  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	esi
	call	ecx
$LN14@Timer_Expi@3:
	add	esp, 20					; 00000014H
$LN8@Timer_Expi@3:

; 194  : 			}
; 195  : 		}
; 196  : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 197  : 	}
; 198  : }

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

; 202  : 	Auto_Save_Variable(1,4,&weaponid);

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

; 203  : }

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

; 206  : {

	push	esi
	push	edi

; 207  : 	int visible;
; 208  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 210  : 	Commands->Innate_Enable(obj);

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

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

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

; 212  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	edx
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 213  : }

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

; 217  : 	int msg;
; 218  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 219  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $LN1@Custom@2

; 220  : 	{
; 221  : 		if (!param)

	cmp	DWORD PTR _param$[esp-4], 0

; 222  : 		{
; 223  : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR _obj$[esp-4]
	mov	edx, DWORD PTR [ecx+300]
	jne	SHORT $LN2@Custom@2
	push	0

; 224  : 		}
; 225  : 		else
; 226  : 		{
; 227  : 			Commands->Enable_Enemy_Seen(obj,true);

	push	eax
	call	edx
	add	esp, 8

; 228  : 		}
; 229  : 	}
; 230  : }

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

; 224  : 		}
; 225  : 		else
; 226  : 		{
; 227  : 			Commands->Enable_Enemy_Seen(obj,true);

	push	1
	push	eax
	call	edx
	add	esp, 8
$LN1@Custom@2:

; 228  : 		}
; 229  : 	}
; 230  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_No_Aircraft::Enemy_Seen
EXTRN	__stricmp:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$58265 = -240					; size = 12
_pos$58264 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T70272 = -208						; size = 12
$T70271 = -208						; size = 12
_params$58269 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Weapon_No_Aircraft::Enemy_Seen, COMDAT
; _this$ = ecx

; 233  : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

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

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

; 235  : 	if (o)

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

; 236  : 	{
; 237  : 		seen = o;

	mov	edi, eax
$LN3@Enemy_Seen@2:

; 238  : 	}
; 239  : 	float minrange;
; 240  : 	float maxrange;
; 241  : 	float range;
; 242  : 	if ((_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@2
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@2
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@2
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@2
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@2
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@2
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@2
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@2
	push	ebx

; 243  : 	{
; 244  : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 245  : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 246  : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$58264[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$58265[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 247  : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T70271[esp+256]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$58264[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$58264[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 248  : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70272[esp+264]
	mov	DWORD PTR _pos$58264[esp+272], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$58265[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$58265[esp+276], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$58265[esp+280], eax

; 249  : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$58265[esp+272]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$58264[esp+276]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+280]

; 250  : 		pos.Z = 0;

	fldz

; 251  : 		pos2.Z = 0;
; 252  : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$58265[esp+280]
	fst	DWORD PTR _pos$58264[esp+288]
	push	edx
	fstp	DWORD PTR _pos2$58265[esp+292]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$58264[esp+284]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN12@Enemy_Seen@2
	fld	DWORD PTR _maxrange$[esp+256]
	fcomp	DWORD PTR _range$[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Enemy_Seen@2

; 253  : 		{
; 254  : 			ActionParamsStruct params;

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

; 255  : 			params.Set_Basic(this,100,1);
; 256  : 			params.Set_Attack(seen,maxrange,0,true);

	fld	DWORD PTR _maxrange$[esp+256]
	mov	eax, DWORD PTR [esi+4]
	fstp	DWORD PTR _params$58269[esp+332]
	fldz

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$58269[esp+256]
	fstp	DWORD PTR _params$58269[esp+336]
	push	ecx
	mov	DWORD PTR _params$58269[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$58269[esp+264], eax
	mov	DWORD PTR _params$58269[esp+428], -1
	mov	DWORD PTR _params$58269[esp+348], edi
	mov	BYTE PTR _params$58269[esp+352], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebx
	call	eax

; 258  : 			Commands->Start_Timer(obj,this,1.0,1);

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

; 259  : 		}
; 260  : 	}
; 261  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_No_Aircraft::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Weapon_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 265  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $LN1@Timer_Expi@4

; 266  : 	{
; 267  : 		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@Timer_Expi@4:

; 268  : 	}
; 269  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CG@OMMNNHKA@JFW_Building_Gun_Weapon_Aircraft@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Aircraft_Only@@EAEXPAE@Z ; JFW_Building_Gun_Aircraft_Only::Created
;	COMDAT ??_C@_0CG@OMMNNHKA@JFW_Building_Gun_Weapon_Aircraft@
CONST	SEGMENT
??_C@_0CG@OMMNNHKA@JFW_Building_Gun_Weapon_Aircraft@ DB 'JFW_Building_Gun'
	DB	'_Weapon_Aircraft_Only', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70294 = -1012						; size = 12
$T70293 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Aircraft_Only@@EAEXPAE@Z PROC	; JFW_Building_Gun_Aircraft_Only::Created, COMDAT
; _this$ = ecx

; 272  : {

	sub	esp, 1036				; 0000040cH

; 273  : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 274  : 	GameObject *object;
; 275  : 	const char *weapon;
; 276  : 	char params[1000];
; 277  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70293[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 278  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70294[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 279  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 280  : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 281  : 	v.Z += v2.Z;
; 282  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 283  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 284  : 	if (object)

	test	edi, edi
	je	$LN1@Created@3

; 285  : 	{
; 286  : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 287  : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 288  : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"));

	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1096]
	push	OFFSET ??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 289  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_Aircraft_Only",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1104]
	push	eax
	push	OFFSET ??_C@_0CG@OMMNNHKA@JFW_Building_Gun_Weapon_Aircraft@
	push	edi
	call	edx
	add	esp, 68					; 00000044H
$LN1@Created@3:
	pop	edi
	pop	esi
	pop	ebx

; 290  : 	}
; 291  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Aircraft_Only@@EAEXPAE@Z ENDP	; JFW_Building_Gun_Aircraft_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Aircraft_Only::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Aircraft_Only@@EAEXPAE0@Z PROC	; JFW_Building_Gun_Aircraft_Only::Killed, COMDAT
; _this$ = ecx

; 294  : {

	push	esi
	mov	esi, ecx

; 295  : 	GameObject *object;
; 296  : 	object = Commands->Find_Object(weaponid);

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

; 297  : 	int x;
; 298  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 299  : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@3

; 300  : 	{
; 301  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@3:
	pop	edi
	pop	esi

; 302  : 	}
; 303  : }

	ret	8
?Killed@JFW_Building_Gun_Aircraft_Only@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_Aircraft_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Aircraft_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 306  : {

	push	ebp
	push	edi

; 307  : 	float health;
; 308  : 	bool power;
; 309  : 	GameObject *object;
; 310  : 	int x;
; 311  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 312  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN5@Timer_Expi@5

; 313  : 	{
; 314  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 315  : 		power = Commands->Get_Building_Power(obj);

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

; 316  : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 317  : 		if (object)

	test	ecx, ecx
	je	SHORT $LN8@Timer_Expi@5

; 318  : 		{
; 319  : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN2@Timer_Expi@5
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN2@Timer_Expi@5

; 322  : 			}
; 323  : 			else
; 324  : 			{
; 325  : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	jmp	SHORT $LN14@Timer_Expi@5
$LN2@Timer_Expi@5:

; 320  : 			{
; 321  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	esi
	call	ecx
$LN14@Timer_Expi@5:
	add	esp, 20					; 00000014H
$LN8@Timer_Expi@5:

; 326  : 			}
; 327  : 		}
; 328  : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+128]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	edi
	push	esi
	call	eax
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$LN5@Timer_Expi@5:
	pop	edi
	pop	ebp

; 329  : 	}
; 330  : }

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

; 334  : 	Auto_Save_Variable(1,4,&weaponid);

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

; 335  : }

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

; 338  : {

	push	esi
	push	edi

; 339  : 	int visible;
; 340  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 342  : 	Commands->Innate_Enable(obj);

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

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

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

; 344  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	edx
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 345  : }

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

; 349  : 	int msg;
; 350  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 351  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $LN1@Custom@3

; 352  : 	{
; 353  : 		if (!param)

	cmp	DWORD PTR _param$[esp-4], 0

; 354  : 		{
; 355  : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR _obj$[esp-4]
	mov	edx, DWORD PTR [ecx+300]
	jne	SHORT $LN2@Custom@3
	push	0

; 356  : 		}
; 357  : 		else
; 358  : 		{
; 359  : 			Commands->Enable_Enemy_Seen(obj,true);

	push	eax
	call	edx
	add	esp, 8

; 360  : 		}
; 361  : 	}
; 362  : }

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

; 356  : 		}
; 357  : 		else
; 358  : 		{
; 359  : 			Commands->Enable_Enemy_Seen(obj,true);

	push	1
	push	eax
	call	edx
	add	esp, 8
$LN1@Custom@3:

; 360  : 		}
; 361  : 	}
; 362  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_Aircraft_Only::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$58343 = -240					; size = 12
_pos$58342 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T70322 = -208						; size = 12
$T70321 = -208						; size = 12
_params$58347 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Weapon_Aircraft_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 365  : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

; 366  : 	float minrange;
; 367  : 	float maxrange;
; 368  : 	float range;
; 369  : 	GameObject *o = Get_Vehicle(seen);

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

; 370  : 	if (o)

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

; 371  : 	{
; 372  : 		seen = o;

	mov	edi, eax
$LN4@Enemy_Seen@3:

; 373  : 	}
; 374  : 	if ((!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@3
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@3
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@3
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@3
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN2@Enemy_Seen@3
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN2@Enemy_Seen@3
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN2@Enemy_Seen@3
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	jne	$LN1@Enemy_Seen@3
$LN2@Enemy_Seen@3:
	push	ebx

; 375  : 	{
; 376  : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 377  : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 378  : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$58342[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$58343[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 379  : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T70321[esp+256]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$58342[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$58342[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 380  : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70322[esp+264]
	mov	DWORD PTR _pos$58342[esp+272], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$58343[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$58343[esp+276], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$58343[esp+280], eax

; 381  : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$58343[esp+272]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$58342[esp+276]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+280]

; 382  : 		pos.Z = 0;

	fldz

; 383  : 		pos2.Z = 0;
; 384  : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$58343[esp+280]
	fst	DWORD PTR _pos$58342[esp+288]
	push	edx
	fstp	DWORD PTR _pos2$58343[esp+292]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$58342[esp+284]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN13@Enemy_Seen@3
	fld	DWORD PTR _maxrange$[esp+256]
	fcomp	DWORD PTR _range$[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN13@Enemy_Seen@3

; 385  : 		{
; 386  : 			ActionParamsStruct params;

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

; 387  : 			params.Set_Basic(this,100,1);
; 388  : 			params.Set_Attack(seen,maxrange,0,true);

	fld	DWORD PTR _maxrange$[esp+256]
	mov	eax, DWORD PTR [esi+4]
	fstp	DWORD PTR _params$58347[esp+332]
	fldz

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$58347[esp+256]
	fstp	DWORD PTR _params$58347[esp+336]
	push	ecx
	mov	DWORD PTR _params$58347[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$58347[esp+264], eax
	mov	DWORD PTR _params$58347[esp+428], -1
	mov	DWORD PTR _params$58347[esp+348], edi
	mov	BYTE PTR _params$58347[esp+352], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebx
	call	eax

; 390  : 			Commands->Start_Timer(obj,this,1.0,1);

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

; 391  : 		}
; 392  : 	}
; 393  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Weapon_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 397  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $LN1@Timer_Expi@6

; 398  : 	{
; 399  : 		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@Timer_Expi@6:

; 400  : 	}
; 401  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CC@FEMPJBHC@JFW_Building_Gun_Weapon_Secondar@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Secondary@@EAEXPAE@Z	; JFW_Building_Gun_Secondary::Created
;	COMDAT ??_C@_0CC@FEMPJBHC@JFW_Building_Gun_Weapon_Secondar@
CONST	SEGMENT
??_C@_0CC@FEMPJBHC@JFW_Building_Gun_Weapon_Secondar@ DB 'JFW_Building_Gun'
	DB	'_Weapon_Secondary', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70344 = -1012						; size = 12
$T70343 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Secondary@@EAEXPAE@Z PROC	; JFW_Building_Gun_Secondary::Created, COMDAT
; _this$ = ecx

; 404  : {

	sub	esp, 1036				; 0000040cH

; 405  : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 406  : 	GameObject *object;
; 407  : 	const char *weapon;
; 408  : 	char params[1000];
; 409  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70343[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 410  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70344[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 411  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 412  : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 413  : 	v.Z += v2.Z;
; 414  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 415  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 416  : 	if (object)

	test	edi, edi
	je	$LN1@Created@4

; 417  : 	{
; 418  : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 419  : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 420  : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET ??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 421  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET ??_C@_0CC@FEMPJBHC@JFW_Building_Gun_Weapon_Secondar@
	push	edi
	call	edx
	add	esp, 36					; 00000024H
$LN1@Created@4:
	pop	edi
	pop	esi
	pop	ebx

; 422  : 	}
; 423  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Secondary@@EAEXPAE@Z ENDP	; JFW_Building_Gun_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Secondary@@EAEXPAE0@Z	; JFW_Building_Gun_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Secondary@@EAEXPAE0@Z PROC	; JFW_Building_Gun_Secondary::Killed, COMDAT
; _this$ = ecx

; 426  : {

	push	esi
	mov	esi, ecx

; 427  : 	GameObject *object;
; 428  : 	object = Commands->Find_Object(weaponid);

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

; 429  : 	int x;
; 430  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 431  : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@4

; 432  : 	{
; 433  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@4:
	pop	edi
	pop	esi

; 434  : 	}
; 435  : }

	ret	8
?Killed@JFW_Building_Gun_Secondary@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 438  : {

	push	ebp
	push	edi

; 439  : 	float health;
; 440  : 	bool power;
; 441  : 	GameObject *object;
; 442  : 	int x;
; 443  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 444  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN5@Timer_Expi@7

; 445  : 	{
; 446  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 447  : 		power = Commands->Get_Building_Power(obj);

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

; 448  : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 449  : 		if (object)

	test	ecx, ecx
	je	SHORT $LN8@Timer_Expi@7

; 450  : 		{
; 451  : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN2@Timer_Expi@7
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN2@Timer_Expi@7

; 454  : 			}
; 455  : 			else
; 456  : 			{
; 457  : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	jmp	SHORT $LN14@Timer_Expi@7
$LN2@Timer_Expi@7:

; 452  : 			{
; 453  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	esi
	call	ecx
$LN14@Timer_Expi@7:
	add	esp, 20					; 00000014H
$LN8@Timer_Expi@7:

; 458  : 			}
; 459  : 		}
; 460  : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+128]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	edi
	push	esi
	call	eax
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$LN5@Timer_Expi@7:
	pop	edi
	pop	ebp

; 461  : 	}
; 462  : }

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

; 466  : 	Auto_Save_Variable(1,4,&weaponid);

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

; 467  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Secondary@@EAEXXZ ; JFW_Building_Gun_Weapon_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Weapon_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 471  : 	Auto_Save_Variable(1,1,&primary);

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

; 472  : }

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

; 475  : {

	push	esi
	push	edi

; 476  : 	int visible;
; 477  : 	primary = true;
; 478  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [ecx+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 480  : 	Commands->Innate_Enable(obj);

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

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

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

; 482  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	edx
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 483  : }

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

; 487  : 	int msg;
; 488  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 489  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $LN1@Custom@4

; 490  : 	{
; 491  : 		Commands->Enable_Enemy_Seen(obj,param);

	cmp	DWORD PTR _param$[esp-4], 0
	mov	ecx, DWORD PTR _obj$[esp-4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	setne	al
	push	eax
	mov	eax, DWORD PTR [edx+300]
	push	ecx
	call	eax
	add	esp, 8
$LN1@Custom@4:

; 492  : 	}
; 493  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$ = -240						; size = 12
_pos$ = -228						; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T70374 = -208						; size = 12
$T70373 = -208						; size = 12
_params$58424 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Weapon_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 496  : {

	sub	esp, 244				; 000000f4H
	push	ebx
	push	esi
	push	edi

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

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

; 498  : 	if (o)

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

; 499  : 	{
; 500  : 		seen = o;

	mov	edi, eax
$LN4@Enemy_Seen@4:

; 501  : 	}
; 502  : 	float minrange;
; 503  : 	float maxrange;
; 504  : 	float range;
; 505  : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 506  : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 507  : 	Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 508  : 	pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70373[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 509  : 	pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70374[esp+264]
	mov	DWORD PTR _pos$[esp+272], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+276], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$[esp+280], eax

; 510  : 	range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$[esp+272]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$[esp+276]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+280]

; 511  : 	pos.Z = 0;

	fldz

; 512  : 	pos2.Z = 0;
; 513  : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$[esp+280]
	fst	DWORD PTR _pos$[esp+288]
	push	edx
	fstp	DWORD PTR _pos2$[esp+292]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$[esp+284]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN2@Enemy_Seen@4
	fld	DWORD PTR _maxrange$[esp+256]
	fcomp	DWORD PTR _range$[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN2@Enemy_Seen@4

; 514  : 	{
; 515  : 		ActionParamsStruct params;

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

; 516  : 		params.Set_Basic(this,100,1);
; 517  : 		params.Set_Attack(seen,maxrange,0,primary);

	fld	DWORD PTR _maxrange$[esp+256]
	mov	eax, DWORD PTR [esi+4]
	fstp	DWORD PTR _params$58424[esp+332]
	mov	cl, BYTE PTR [esi+28]
	fldz
	mov	DWORD PTR _params$58424[esp+260], eax
	fstp	DWORD PTR _params$58424[esp+336]

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _params$58424[esp+256]
	push	edx
	mov	DWORD PTR _params$58424[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$58424[esp+428], -1
	mov	DWORD PTR _params$58424[esp+348], edi
	mov	BYTE PTR _params$58424[esp+352], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx

; 519  : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 520  : 		if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	cl
	mov	BYTE PTR [esi+28], cl
$LN2@Enemy_Seen@4:
	pop	edi
	pop	esi
	pop	ebx

; 521  : 		{
; 522  : 			primary = false;
; 523  : 		}
; 524  : 		else
; 525  : 		{
; 526  : 			primary = true;
; 527  : 		}
; 528  : 	}
; 529  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Weapon_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 533  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $LN1@Timer_Expi@8

; 534  : 	{
; 535  : 		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@Timer_Expi@8:

; 536  : 	}
; 537  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CO@IFBDMHBC@JFW_Building_Gun_Weapon_No_Aircr@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_No_Aircraft_Secondary::Created
;	COMDAT ??_C@_0CO@IFBDMHBC@JFW_Building_Gun_Weapon_No_Aircr@
CONST	SEGMENT
??_C@_0CO@IFBDMHBC@JFW_Building_Gun_Weapon_No_Aircr@ DB 'JFW_Building_Gun'
	DB	'_Weapon_No_Aircraft_Secondary', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70396 = -1012						; size = 12
$T70395 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_No_Aircraft_Secondary::Created, COMDAT
; _this$ = ecx

; 540  : {

	sub	esp, 1036				; 0000040cH

; 541  : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 542  : 	GameObject *object;
; 543  : 	const char *weapon;
; 544  : 	char params[1000];
; 545  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70395[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 546  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70396[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 547  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 548  : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 549  : 	v.Z += v2.Z;
; 550  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 551  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 552  : 	if (object)

	test	edi, edi
	je	$LN1@Created@5

; 553  : 	{
; 554  : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 555  : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 556  : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"));

	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1096]
	push	OFFSET ??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 557  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_No_Aircraft_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1104]
	push	eax
	push	OFFSET ??_C@_0CO@IFBDMHBC@JFW_Building_Gun_Weapon_No_Aircr@
	push	edi
	call	edx
	add	esp, 68					; 00000044H
$LN1@Created@5:
	pop	edi
	pop	esi
	pop	ebx

; 558  : 	}
; 559  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_No_Aircraft_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_No_Aircraft_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_No_Aircraft_Secondary::Killed, COMDAT
; _this$ = ecx

; 562  : {

	push	esi
	mov	esi, ecx

; 563  : 	GameObject *object;
; 564  : 	object = Commands->Find_Object(weaponid);

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

; 565  : 	int x;
; 566  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 567  : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@5

; 568  : 	{
; 569  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@5:
	pop	edi
	pop	esi

; 570  : 	}
; 571  : }

	ret	8
?Killed@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_No_Aircraft_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 574  : {

	push	ebp
	push	edi

; 575  : 	float health;
; 576  : 	bool power;
; 577  : 	GameObject *object;
; 578  : 	int x;
; 579  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 580  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN5@Timer_Expi@9

; 581  : 	{
; 582  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 583  : 		power = Commands->Get_Building_Power(obj);

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

; 584  : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 585  : 		if (object)

	test	ecx, ecx
	je	SHORT $LN8@Timer_Expi@9

; 586  : 		{
; 587  : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN2@Timer_Expi@9
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN2@Timer_Expi@9

; 590  : 			}
; 591  : 			else
; 592  : 			{
; 593  : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	jmp	SHORT $LN14@Timer_Expi@9
$LN2@Timer_Expi@9:

; 588  : 			{
; 589  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	esi
	call	ecx
$LN14@Timer_Expi@9:
	add	esp, 20					; 00000014H
$LN8@Timer_Expi@9:

; 594  : 			}
; 595  : 		}
; 596  : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+128]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	edi
	push	esi
	call	eax
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$LN5@Timer_Expi@9:
	pop	edi
	pop	ebp

; 597  : 	}
; 598  : }

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

; 602  : 	Auto_Save_Variable(1,4,&weaponid);

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

; 603  : }

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

; 606  : {

	push	esi
	push	edi

; 607  : 	int visible;
; 608  : 	primary = true;
; 609  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [ecx+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 611  : 	Commands->Innate_Enable(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+440]
	push	esi
	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	esi
	call	edx

; 613  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	edx
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 614  : }

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

; 618  : 	int msg;
; 619  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 620  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $LN1@Custom@5

; 621  : 	{
; 622  : 		if (!param)

	cmp	DWORD PTR _param$[esp-4], 0

; 623  : 		{
; 624  : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR _obj$[esp-4]
	mov	edx, DWORD PTR [ecx+300]
	jne	SHORT $LN2@Custom@5
	push	0

; 625  : 		}
; 626  : 		else
; 627  : 		{
; 628  : 			Commands->Enable_Enemy_Seen(obj,true);

	push	eax
	call	edx
	add	esp, 8

; 629  : 		}
; 630  : 	}
; 631  : }

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

; 625  : 		}
; 626  : 		else
; 627  : 		{
; 628  : 			Commands->Enable_Enemy_Seen(obj,true);

	push	1
	push	eax
	call	edx
	add	esp, 8
$LN1@Custom@5:

; 629  : 		}
; 630  : 	}
; 631  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$58499 = -240					; size = 12
_pos$58498 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T70424 = -208						; size = 12
$T70423 = -208						; size = 12
_params$58503 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 634  : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

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

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

; 636  : 	if (o)

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

; 637  : 	{
; 638  : 		seen = o;

	mov	edi, eax
$LN5@Enemy_Seen@5:

; 639  : 	}
; 640  : 	float minrange;
; 641  : 	float maxrange;
; 642  : 	float range;
; 643  : 	if ((_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@5
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@5
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@5
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@5
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@5
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@5
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@5
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN2@Enemy_Seen@5
	push	ebx

; 644  : 	{
; 645  : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 646  : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 647  : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$58498[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$58499[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 648  : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T70423[esp+256]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$58498[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$58498[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 649  : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70424[esp+264]
	mov	DWORD PTR _pos$58498[esp+272], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$58499[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$58499[esp+276], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$58499[esp+280], eax

; 650  : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$58499[esp+272]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$58498[esp+276]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+280]

; 651  : 		pos.Z = 0;

	fldz

; 652  : 		pos2.Z = 0;
; 653  : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$58499[esp+280]
	fst	DWORD PTR _pos$58498[esp+288]
	push	edx
	fstp	DWORD PTR _pos2$58499[esp+292]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$58498[esp+284]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Enemy_Seen@5
	fld	DWORD PTR _maxrange$[esp+256]
	fcomp	DWORD PTR _range$[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Enemy_Seen@5

; 654  : 		{
; 655  : 			ActionParamsStruct params;

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

; 656  : 			params.Set_Basic(this,100,1);
; 657  : 			params.Set_Attack(seen,maxrange,0,primary);

	fld	DWORD PTR _maxrange$[esp+256]
	mov	eax, DWORD PTR [esi+4]
	fstp	DWORD PTR _params$58503[esp+332]
	mov	cl, BYTE PTR [esi+28]
	fldz
	mov	DWORD PTR _params$58503[esp+260], eax
	fstp	DWORD PTR _params$58503[esp+336]

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _params$58503[esp+256]
	push	edx
	mov	DWORD PTR _params$58503[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$58503[esp+428], -1
	mov	DWORD PTR _params$58503[esp+348], edi
	mov	BYTE PTR _params$58503[esp+352], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx

; 659  : 			Commands->Start_Timer(obj,this,1.0,1);

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

; 660  : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	cl
	mov	BYTE PTR [esi+28], cl
$LN14@Enemy_Seen@5:
	pop	ebx
$LN2@Enemy_Seen@5:
	pop	edi
	pop	esi

; 661  : 			{
; 662  : 				primary = false;
; 663  : 			}
; 664  : 			else
; 665  : 			{
; 666  : 				primary = true;
; 667  : 			}
; 668  : 		}
; 669  : 	}
; 670  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 674  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $LN1@Timer_Expi@10

; 675  : 	{
; 676  : 		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@Timer_Expi@10:

; 677  : 	}
; 678  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DA@EMIKCPC@JFW_Building_Gun_Weapon_Aircraft@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Aircraft_Only_Secondary::Created
;	COMDAT ??_C@_0DA@EMIKCPC@JFW_Building_Gun_Weapon_Aircraft@
CONST	SEGMENT
??_C@_0DA@EMIKCPC@JFW_Building_Gun_Weapon_Aircraft@ DB 'JFW_Building_Gun_'
	DB	'Weapon_Aircraft_Only_Secondary', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70447 = -1012						; size = 12
$T70446 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_Aircraft_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 681  : {

	sub	esp, 1036				; 0000040cH

; 682  : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 683  : 	GameObject *object;
; 684  : 	const char *weapon;
; 685  : 	char params[1000];
; 686  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70446[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 687  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70447[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 688  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 689  : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 690  : 	v.Z += v2.Z;
; 691  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 692  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 693  : 	if (object)

	test	edi, edi
	je	$LN1@Created@6

; 694  : 	{
; 695  : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 696  : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 697  : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"));

	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1096]
	push	OFFSET ??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 698  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_Aircraft_Only_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1104]
	push	eax
	push	OFFSET ??_C@_0DA@EMIKCPC@JFW_Building_Gun_Weapon_Aircraft@
	push	edi
	call	edx
	add	esp, 68					; 00000044H
$LN1@Created@6:
	pop	edi
	pop	esi
	pop	ebx

; 699  : 	}
; 700  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Aircraft_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Aircraft_Only_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Aircraft_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 703  : {

	push	esi
	mov	esi, ecx

; 704  : 	GameObject *object;
; 705  : 	object = Commands->Find_Object(weaponid);

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

; 706  : 	int x;
; 707  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 708  : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@6

; 709  : 	{
; 710  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@6:
	pop	edi
	pop	esi

; 711  : 	}
; 712  : }

	ret	8
?Killed@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Aircraft_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 715  : {

	push	ebp
	push	edi

; 716  : 	float health;
; 717  : 	bool power;
; 718  : 	GameObject *object;
; 719  : 	int x;
; 720  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 721  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN5@Timer_Expi@11

; 722  : 	{
; 723  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 724  : 		power = Commands->Get_Building_Power(obj);

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

; 725  : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 726  : 		if (object)

	test	ecx, ecx
	je	SHORT $LN8@Timer_Expi@11

; 727  : 		{
; 728  : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN2@Timer_Expi@11
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN2@Timer_Expi@11

; 731  : 			}
; 732  : 			else
; 733  : 			{
; 734  : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	jmp	SHORT $LN14@Timer_Expi@11
$LN2@Timer_Expi@11:

; 729  : 			{
; 730  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	esi
	call	ecx
$LN14@Timer_Expi@11:
	add	esp, 20					; 00000014H
$LN8@Timer_Expi@11:

; 735  : 			}
; 736  : 		}
; 737  : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+128]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	edi
	push	esi
	call	eax
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$LN5@Timer_Expi@11:
	pop	edi
	pop	ebp

; 738  : 	}
; 739  : }

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

; 743  : 	Auto_Save_Variable(1,4,&weaponid);

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

; 744  : }

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

; 747  : {

	push	esi
	push	edi

; 748  : 	int visible;
; 749  : 	primary = true;
; 750  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [ecx+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 752  : 	Commands->Innate_Enable(obj);

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

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

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

; 754  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	edx
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 755  : }

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

; 759  : 	int msg;
; 760  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 761  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $LN1@Custom@6

; 762  : 	{
; 763  : 		if (!param)

	cmp	DWORD PTR _param$[esp-4], 0

; 764  : 		{
; 765  : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR _obj$[esp-4]
	mov	edx, DWORD PTR [ecx+300]
	jne	SHORT $LN2@Custom@6
	push	0

; 766  : 		}
; 767  : 		else
; 768  : 		{
; 769  : 			Commands->Enable_Enemy_Seen(obj,true);

	push	eax
	call	edx
	add	esp, 8

; 770  : 		}
; 771  : 	}
; 772  : }

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

; 766  : 		}
; 767  : 		else
; 768  : 		{
; 769  : 			Commands->Enable_Enemy_Seen(obj,true);

	push	1
	push	eax
	call	edx
	add	esp, 8
$LN1@Custom@6:

; 770  : 		}
; 771  : 	}
; 772  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$58579 = -240					; size = 12
_pos$58578 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T70475 = -208						; size = 12
$T70474 = -208						; size = 12
_params$58583 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 775  : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

; 776  : 	float minrange;
; 777  : 	float maxrange;
; 778  : 	float range;
; 779  : 	GameObject *o = Get_Vehicle(seen);

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

; 780  : 	if (o)

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

; 781  : 	{
; 782  : 		seen = o;

	mov	edi, eax
$LN6@Enemy_Seen@6:

; 783  : 	}
; 784  : 	if ((!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN4@Enemy_Seen@6
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN4@Enemy_Seen@6
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN4@Enemy_Seen@6
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN4@Enemy_Seen@6
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN4@Enemy_Seen@6
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN4@Enemy_Seen@6
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN4@Enemy_Seen@6
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	jne	$LN2@Enemy_Seen@6
$LN4@Enemy_Seen@6:
	push	ebx

; 785  : 	{
; 786  : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 787  : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 788  : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$58578[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$58579[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 789  : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T70474[esp+256]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$58578[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$58578[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 790  : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70475[esp+264]
	mov	DWORD PTR _pos$58578[esp+272], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$58579[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$58579[esp+276], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$58579[esp+280], eax

; 791  : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$58579[esp+272]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$58578[esp+276]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+280]

; 792  : 		pos.Z = 0;

	fldz

; 793  : 		pos2.Z = 0;
; 794  : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$58579[esp+280]
	fst	DWORD PTR _pos$58578[esp+288]
	push	edx
	fstp	DWORD PTR _pos2$58579[esp+292]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$58578[esp+284]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN15@Enemy_Seen@6
	fld	DWORD PTR _maxrange$[esp+256]
	fcomp	DWORD PTR _range$[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN15@Enemy_Seen@6

; 795  : 		{
; 796  : 			ActionParamsStruct params;

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

; 797  : 			params.Set_Basic(this,100,1);
; 798  : 			params.Set_Attack(seen,maxrange,0,primary);

	fld	DWORD PTR _maxrange$[esp+256]
	mov	eax, DWORD PTR [esi+4]
	fstp	DWORD PTR _params$58583[esp+332]
	mov	cl, BYTE PTR [esi+28]
	fldz
	mov	DWORD PTR _params$58583[esp+260], eax
	fstp	DWORD PTR _params$58583[esp+336]

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _params$58583[esp+256]
	push	edx
	mov	DWORD PTR _params$58583[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$58583[esp+428], -1
	mov	DWORD PTR _params$58583[esp+348], edi
	mov	BYTE PTR _params$58583[esp+352], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx

; 800  : 			Commands->Start_Timer(obj,this,1.0,1);

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

; 801  : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	cl
	mov	BYTE PTR [esi+28], cl
$LN15@Enemy_Seen@6:
	pop	ebx
$LN2@Enemy_Seen@6:
	pop	edi
	pop	esi

; 802  : 			{
; 803  : 				primary = false;
; 804  : 			}
; 805  : 			else
; 806  : 			{
; 807  : 				primary = true;
; 808  : 			}
; 809  : 		}
; 810  : 	}
; 811  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 815  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $LN1@Timer_Expi@12

; 816  : 	{
; 817  : 		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@Timer_Expi@12:

; 818  : 	}
; 819  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXXZ ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 823  : 	Auto_Save_Variable(1,1,&primary);

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

; 824  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 828  : 	Auto_Save_Variable(1,1,&primary);

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

; 829  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	??_C@_0CB@FLLOIBBP@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ ; `string'
PUBLIC	??_C@_0N@BNDFOEGC@EffectPreset?$AA@		; `string'
PUBLIC	??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@		; `string'
PUBLIC	??_C@_0L@KBDJNGME@EffectTime?$AA@		; `string'
PUBLIC	??_C@_0M@JJMJELJO@EffectFrame?$AA@		; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated@@EAEXPAE@Z	; JFW_Building_Gun_Animated::Created
;	COMDAT ??_C@_0CB@FLLOIBBP@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CB@FLLOIBBP@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
CONST	SEGMENT
??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ DB '%'
	DB	's,%s,%s,%s,%s,%s,%s,%s', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
CONST	SEGMENT
??_C@_0N@BNDFOEGC@EffectPreset?$AA@ DB 'EffectPreset', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
CONST	SEGMENT
??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@ DB 'EffectAnimation', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@KBDJNGME@EffectTime?$AA@
CONST	SEGMENT
??_C@_0L@KBDJNGME@EffectTime?$AA@ DB 'EffectTime', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@JJMJELJO@EffectFrame?$AA@
CONST	SEGMENT
??_C@_0M@JJMJELJO@EffectFrame?$AA@ DB 'EffectFrame', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70504 = -1012						; size = 12
$T70503 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated@@EAEXPAE@Z PROC	; JFW_Building_Gun_Animated::Created, COMDAT
; _this$ = ecx

; 832  : {

	sub	esp, 1036				; 0000040cH

; 833  : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 834  : 	GameObject *object;
; 835  : 	const char *weapon;
; 836  : 	char params[1000];
; 837  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70503[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 838  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70504[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 839  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 840  : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 841  : 	v.Z += v2.Z;
; 842  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 843  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 844  : 	if (object)

	test	edi, edi
	je	$LN1@Created@7

; 845  : 	{
; 846  : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 847  : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 848  : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET ??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 849  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET ??_C@_0CB@FLLOIBBP@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	edx
	add	esp, 52					; 00000034H
$LN1@Created@7:
	pop	edi
	pop	esi
	pop	ebx

; 850  : 	}
; 851  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated@@EAEXPAE@Z ENDP	; JFW_Building_Gun_Animated::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated@@EAEXPAE0@Z	; JFW_Building_Gun_Animated::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated@@EAEXPAE0@Z PROC	; JFW_Building_Gun_Animated::Killed, COMDAT
; _this$ = ecx

; 854  : {

	push	esi
	mov	esi, ecx

; 855  : 	GameObject *object;
; 856  : 	object = Commands->Find_Object(weaponid);

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

; 857  : 	int x;
; 858  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 859  : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@7

; 860  : 	{
; 861  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@7:
	pop	edi
	pop	esi

; 862  : 	}
; 863  : }

	ret	8
?Killed@JFW_Building_Gun_Animated@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_Animated::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated@@EAEXPAEH@Z ; JFW_Building_Gun_Animated::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated::Timer_Expired, COMDAT
; _this$ = ecx

; 866  : {

	push	ebp
	push	edi

; 867  : 	float health;
; 868  : 	bool power;
; 869  : 	GameObject *object;
; 870  : 	int x;
; 871  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 872  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@13

; 873  : 	{
; 874  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 875  : 		power = Commands->Get_Building_Power(obj);

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

; 876  : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 877  : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@13

; 878  : 		{
; 879  : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@13
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@13
$LN1@Timer_Expi@13:

; 880  : 			{
; 881  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@13
$LN10@Timer_Expi@13:
	fstp	ST(0)
$LN2@Timer_Expi@13:

; 882  : 			}
; 883  : 		}
; 884  : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 885  : 	}
; 886  : }

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

; 890  : 	Auto_Save_Variable(1,4,&weaponid);

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

; 891  : }

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

; 894  : {

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

; 895  : 	int visible;
; 896  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 898  : 	Commands->Innate_Enable(obj);

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

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

; 900  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 901  : 	enemyseen = true;

	mov	BYTE PTR [esi+36], 1

; 902  : 	attackid = 0;

	mov	DWORD PTR [esi+32], 0

; 903  : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T70521[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 904  : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@8

; 905  : 	{
; 906  : 		effectid = Commands->Get_ID(effect);

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

; 907  : 		lastframe = false;
; 908  : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+28], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@8:
	pop	edi
	pop	esi
	pop	ebp

; 909  : 	}
; 910  : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Weapon::Custom, COMDAT
; _this$ = ecx

; 913  : {

	push	esi

; 914  : 	int msg;
; 915  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 916  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@7

; 917  : 	{
; 918  : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 919  : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$LN1@Custom@7:
	pop	esi

; 920  : 	}
; 921  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -40					; size = 4
_pos2$ = -36						; size = 12
_pos$ = -24						; size = 12
$T70529 = -12						; size = 12
$T70528 = -12						; size = 12
_range$ = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$ = 12						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Weapon::Enemy_Seen, COMDAT
; _this$ = ecx

; 924  : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 926  : 	if (o)

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

; 927  : 	{
; 928  : 		seen = o;

	mov	ebx, eax
$LN3@Enemy_Seen@7:

; 929  : 	}
; 930  : 	float minrange;
; 931  : 	float maxrange;
; 932  : 	float range;
; 933  : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+48]

; 934  : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+52]

; 935  : 	Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 936  : 	pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70528[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 937  : 	pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70529[esp+60]
	mov	DWORD PTR _pos$[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$[esp+76], eax

; 938  : 	range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+72]

; 939  : 	pos.Z = 0;

	fldz

; 940  : 	pos2.Z = 0;
; 941  : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$[esp+76]
	fst	DWORD PTR _pos$[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN1@Enemy_Seen@7
	fld	DWORD PTR _maxrange$[esp+52]
	fcomp	DWORD PTR _range$[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN1@Enemy_Seen@7

; 942  : 	{
; 943  : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 944  : 		Commands->Enable_Enemy_Seen(obj,false);

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

; 945  : 		attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 946  : 		if (!lastframe)

	cmp	BYTE PTR [esi+37], 0
	mov	DWORD PTR [esi+32], eax
	jne	SHORT $LN1@Enemy_Seen@7

; 947  : 		{
; 948  : 			lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 949  : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 950  : 			Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR [ebx]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	edx
	add	esp, 16					; 00000010H
$LN1@Enemy_Seen@7:
	pop	edi
	pop	esi
	pop	ebx

; 951  : 		}
; 952  : 	}
; 953  : }

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

; 956  : {

	push	esi

; 957  : 	enemyseen = true;
; 958  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 960  : }

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

; 963  : {

	push	esi

; 964  : 	enemyseen = true;
; 965  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 967  : }

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

; 970  : {

	push	esi

; 971  : 	enemyseen = true;
; 972  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 974  : }

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

; 977  : {

	push	esi

; 978  : 	enemyseen = true;
; 979  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 981  : }

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

; 984  : {

	push	esi

; 985  : 	enemyseen = true;
; 986  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 988  : }

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

; 991  : {

	push	esi

; 992  : 	enemyseen = true;
; 993  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 995  : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$58716 = -244					; size = 4
_pos2$58719 = -240					; size = 12
_pos$58718 = -228					; size = 12
_range$58717 = -216					; size = 4
_minrange$58715 = -212					; size = 4
$T70552 = -208						; size = 12
$T70551 = -208						; size = 12
_params$58724 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Weapon::Timer_Expired, COMDAT
; _this$ = ecx

; 998  : {

	sub	esp, 244				; 000000f4H

; 999  : 	if (number == 1)

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

; 1000 : 	{
; 1001 : 		float minrange;
; 1002 : 		float maxrange;
; 1003 : 		float range;
; 1004 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$58715[esp+256]

; 1005 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$58716[esp+256]

; 1006 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$58718[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$58719[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1007 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70551[esp+256]
	push	ebp
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$58718[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 1008 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR _pos$58718[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$58718[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T70552[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$58719[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$58719[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$58719[esp+284], edx

; 1009 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$58719[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$58718[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$58717[esp+284]

; 1010 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 1011 : 		pos2.Z = 0;
; 1012 : 		if (lastframe)

	cmp	BYTE PTR [esi+37], 0
	fst	DWORD PTR _pos$58718[esp+264]
	fst	DWORD PTR _pos2$58719[esp+264]
	je	SHORT $LN14@Timer_Expi@14

; 1013 : 		{
; 1014 : 			lastframe = false;
; 1015 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+37], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN2@Timer_Expi@14
$LN14@Timer_Expi@14:
	fstp	ST(0)
$LN2@Timer_Expi@14:

; 1016 : 		}
; 1017 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$58719[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$58718[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$58715[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@14
	fld	DWORD PTR _maxrange$58716[esp+256]
	fcomp	DWORD PTR _range$58717[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@14

; 1018 : 		{
; 1019 : 			ActionParamsStruct params;

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

; 1020 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 1021 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$58724[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$58724[esp+260], eax
	mov	DWORD PTR _params$58724[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$58716[esp+260]

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$58724[esp+336]
	fldz
	lea	ecx, DWORD PTR _params$58724[esp+260]
	push	ecx
	fstp	DWORD PTR _params$58724[esp+344]
	mov	DWORD PTR _params$58724[esp+352], eax
	mov	BYTE PTR _params$58724[esp+356], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebp
	call	eax
	add	esp, 12					; 0000000cH
$LN12@Timer_Expi@14:
	pop	edi
	pop	ebp
$LN1@Timer_Expi@14:
	pop	esi

; 1023 : 		}
; 1024 : 	}
; 1025 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CN@CABLPNOJ@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE@Z ; JFW_Building_Gun_Animated_No_Aircraft::Created
;	COMDAT ??_C@_0CN@CABLPNOJ@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CN@CABLPNOJ@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_No_Aircraft', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
CONST	SEGMENT
??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ DB '%'
	DB	's,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70575 = -1012						; size = 12
$T70574 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_No_Aircraft::Created, COMDAT
; _this$ = ecx

; 1028 : {

	sub	esp, 1036				; 0000040cH

; 1029 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1030 : 	GameObject *object;
; 1031 : 	const char *weapon;
; 1032 : 	char params[1000];
; 1033 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70574[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 1034 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70575[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1035 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 1036 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 1037 : 	v.Z += v2.Z;
; 1038 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1039 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 1040 : 	if (object)

	test	edi, edi
	je	$LN1@Created@9

; 1041 : 	{
; 1042 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 1043 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 1044 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	lea	edx, DWORD PTR _params$[esp+1116]
	push	edx
	call	_sprintf

; 1045 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_No_Aircraft",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1120]
	push	eax
	push	OFFSET ??_C@_0CN@CABLPNOJ@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	edx
	add	esp, 84					; 00000054H
$LN1@Created@9:
	pop	edi
	pop	esi
	pop	ebx

; 1046 : 	}
; 1047 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_No_Aircraft::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_No_Aircraft::Killed, COMDAT
; _this$ = ecx

; 1050 : {

	push	esi
	mov	esi, ecx

; 1051 : 	GameObject *object;
; 1052 : 	object = Commands->Find_Object(weaponid);

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

; 1053 : 	int x;
; 1054 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1055 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@8

; 1056 : 	{
; 1057 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@8:
	pop	edi
	pop	esi

; 1058 : 	}
; 1059 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_No_Aircraft::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 1062 : {

	push	ebp
	push	edi

; 1063 : 	float health;
; 1064 : 	bool power;
; 1065 : 	GameObject *object;
; 1066 : 	int x;
; 1067 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1068 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@15

; 1069 : 	{
; 1070 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 1071 : 		power = Commands->Get_Building_Power(obj);

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

; 1072 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1073 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@15

; 1074 : 		{
; 1075 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@15
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@15
$LN1@Timer_Expi@15:

; 1076 : 			{
; 1077 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@15
$LN10@Timer_Expi@15:
	fstp	ST(0)
$LN2@Timer_Expi@15:

; 1078 : 			}
; 1079 : 		}
; 1080 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 1081 : 	}
; 1082 : }

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

; 1086 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 1087 : }

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

; 1090 : {

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

; 1091 : 	int visible;
; 1092 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 1094 : 	Commands->Innate_Enable(obj);

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

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

; 1096 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 1097 : 	attackid = 0;

	mov	DWORD PTR [esi+32], 0

; 1098 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T70592[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 1099 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@10

; 1100 : 	{
; 1101 : 		effectid = Commands->Get_ID(effect);

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

; 1102 : 		lastframe = false;
; 1103 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+28], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@10:
	pop	edi
	pop	esi
	pop	ebp

; 1104 : 	}
; 1105 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Custom, COMDAT
; _this$ = ecx

; 1108 : {

	push	esi

; 1109 : 	int msg;
; 1110 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1111 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@8

; 1112 : 	{
; 1113 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 1114 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$LN1@Custom@8:
	pop	esi

; 1115 : 	}
; 1116 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$58789 = -40					; size = 4
_pos2$58792 = -36					; size = 12
_pos$58791 = -24					; size = 12
$T70600 = -12						; size = 12
$T70599 = -12						; size = 12
_range$58790 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$58788 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Enemy_Seen, COMDAT
; _this$ = ecx

; 1119 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

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

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

; 1121 : 	if (o)

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

; 1122 : 	{
; 1123 : 		seen = o;

	mov	edi, eax
$LN4@Enemy_Seen@8:

; 1124 : 	}
; 1125 : 	if ((_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@8
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@8
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@8
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@8
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@8
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@8
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@8
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@8
	push	ebx

; 1126 : 	{
; 1127 : 		float minrange;
; 1128 : 		float maxrange;
; 1129 : 		float range;
; 1130 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$58788[esp+48]

; 1131 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$58789[esp+52]

; 1132 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$58791[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$58792[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1133 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T70599[esp+52]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$58791[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$58791[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 1134 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70600[esp+60]
	mov	DWORD PTR _pos$58791[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$58792[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$58792[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$58792[esp+76], eax

; 1135 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$58792[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$58791[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$58790[esp+72]

; 1136 : 		pos.Z = 0;

	fldz

; 1137 : 		pos2.Z = 0;
; 1138 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$58792[esp+76]
	fst	DWORD PTR _pos$58791[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$58792[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$58791[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$58788[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@8
	fld	DWORD PTR _maxrange$58789[esp+52]
	fcomp	DWORD PTR _range$58790[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@8

; 1139 : 		{
; 1140 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 1141 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 1142 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	edi
	call	eax
	add	esp, 12					; 0000000cH

; 1143 : 			if (!lastframe)

	cmp	BYTE PTR [esi+37], 0
	mov	DWORD PTR [esi+32], eax
	jne	SHORT $LN7@Enemy_Seen@8

; 1144 : 			{
; 1145 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 1146 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx

; 1147 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR [edi]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	edx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@8:
	pop	ebx
$LN1@Enemy_Seen@8:
	pop	edi
	pop	esi

; 1148 : 			}
; 1149 : 		}
; 1150 : 	}
; 1151 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$58804 = -244					; size = 4
_pos2$58807 = -240					; size = 12
_pos$58806 = -228					; size = 12
_range$58805 = -216					; size = 4
_minrange$58803 = -212					; size = 4
$T70606 = -208						; size = 12
$T70605 = -208						; size = 12
_params$58812 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 1154 : {

	sub	esp, 244				; 000000f4H

; 1155 : 	if (number == 1)

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

; 1156 : 	{
; 1157 : 		float minrange;
; 1158 : 		float maxrange;
; 1159 : 		float range;
; 1160 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$58803[esp+256]

; 1161 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$58804[esp+256]

; 1162 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$58806[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$58807[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1163 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70605[esp+256]
	push	ebp
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$58806[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 1164 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR _pos$58806[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$58806[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T70606[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$58807[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$58807[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$58807[esp+284], edx

; 1165 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$58807[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$58806[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$58805[esp+284]

; 1166 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 1167 : 		pos2.Z = 0;
; 1168 : 		if (lastframe)

	cmp	BYTE PTR [esi+37], 0
	fst	DWORD PTR _pos$58806[esp+264]
	fst	DWORD PTR _pos2$58807[esp+264]
	je	SHORT $LN14@Timer_Expi@16

; 1169 : 		{
; 1170 : 			lastframe = false;
; 1171 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+37], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN2@Timer_Expi@16
$LN14@Timer_Expi@16:
	fstp	ST(0)
$LN2@Timer_Expi@16:

; 1172 : 		}
; 1173 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$58807[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$58806[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$58803[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@16
	fld	DWORD PTR _maxrange$58804[esp+256]
	fcomp	DWORD PTR _range$58805[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@16

; 1174 : 		{
; 1175 : 			ActionParamsStruct params;

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

; 1176 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 1177 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$58812[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$58812[esp+260], eax
	mov	DWORD PTR _params$58812[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$58804[esp+260]

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$58812[esp+336]
	fldz
	lea	ecx, DWORD PTR _params$58812[esp+260]
	push	ecx
	fstp	DWORD PTR _params$58812[esp+344]
	mov	DWORD PTR _params$58812[esp+352], eax
	mov	BYTE PTR _params$58812[esp+356], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebp
	call	eax
	add	esp, 12					; 0000000cH
$LN12@Timer_Expi@16:
	pop	edi
	pop	ebp
$LN1@Timer_Expi@16:
	pop	esi

; 1179 : 		}
; 1180 : 	}
; 1181 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CP@PBKJDCGJ@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Aircraft_Only::Created
;	COMDAT ??_C@_0CP@PBKJDCGJ@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CP@PBKJDCGJ@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_Aircraft_Only', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70629 = -1012						; size = 12
$T70628 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Aircraft_Only::Created, COMDAT
; _this$ = ecx

; 1184 : {

	sub	esp, 1036				; 0000040cH

; 1185 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1186 : 	GameObject *object;
; 1187 : 	const char *weapon;
; 1188 : 	char params[1000];
; 1189 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70628[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 1190 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70629[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1191 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 1192 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 1193 : 	v.Z += v2.Z;
; 1194 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1195 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 1196 : 	if (object)

	test	edi, edi
	je	$LN1@Created@11

; 1197 : 	{
; 1198 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 1199 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 1200 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	lea	edx, DWORD PTR _params$[esp+1116]
	push	edx
	call	_sprintf

; 1201 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_Aircraft_Only",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1120]
	push	eax
	push	OFFSET ??_C@_0CP@PBKJDCGJ@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	edx
	add	esp, 84					; 00000054H
$LN1@Created@11:
	pop	edi
	pop	esi
	pop	ebx

; 1202 : 	}
; 1203 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Aircraft_Only::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Aircraft_Only::Killed, COMDAT
; _this$ = ecx

; 1206 : {

	push	esi
	mov	esi, ecx

; 1207 : 	GameObject *object;
; 1208 : 	object = Commands->Find_Object(weaponid);

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

; 1209 : 	int x;
; 1210 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1211 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@9

; 1212 : 	{
; 1213 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@9:
	pop	edi
	pop	esi

; 1214 : 	}
; 1215 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 1218 : {

	push	ebp
	push	edi

; 1219 : 	float health;
; 1220 : 	bool power;
; 1221 : 	GameObject *object;
; 1222 : 	int x;
; 1223 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1224 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@17

; 1225 : 	{
; 1226 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 1227 : 		power = Commands->Get_Building_Power(obj);

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

; 1228 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1229 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@17

; 1230 : 		{
; 1231 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@17
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@17
$LN1@Timer_Expi@17:

; 1232 : 			{
; 1233 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@17
$LN10@Timer_Expi@17:
	fstp	ST(0)
$LN2@Timer_Expi@17:

; 1234 : 			}
; 1235 : 		}
; 1236 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 1237 : 	}
; 1238 : }

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

; 1242 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 1243 : }

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

; 1246 : {

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

; 1247 : 	int visible;
; 1248 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 1250 : 	Commands->Innate_Enable(obj);

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

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

; 1252 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 1253 : 	enemyseen = true;

	mov	BYTE PTR [esi+36], 1

; 1254 : 	attackid = 0;

	mov	DWORD PTR [esi+32], 0

; 1255 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T70646[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 1256 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@12

; 1257 : 	{
; 1258 : 		effectid = Commands->Get_ID(effect);

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

; 1259 : 		lastframe = false;
; 1260 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+28], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@12:
	pop	edi
	pop	esi
	pop	ebp

; 1261 : 	}
; 1262 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Custom, COMDAT
; _this$ = ecx

; 1265 : {

	push	esi

; 1266 : 	int msg;
; 1267 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1268 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@9

; 1269 : 	{
; 1270 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 1271 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$LN1@Custom@9:
	pop	esi

; 1272 : 	}
; 1273 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$58877 = -40					; size = 4
_pos2$58880 = -36					; size = 12
_pos$58879 = -24					; size = 12
$T70654 = -12						; size = 12
$T70653 = -12						; size = 12
_range$58878 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$58876 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 1276 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

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

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

; 1278 : 	if (o)

	test	eax, eax
	je	SHORT $LN5@Enemy_Seen@9

; 1279 : 	{
; 1280 : 		seen = o;

	mov	edi, eax
$LN5@Enemy_Seen@9:

; 1281 : 	}
; 1282 : 	if ((!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@9
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@9
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@9
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@9
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@9
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@9
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@9
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	jne	$LN1@Enemy_Seen@9
$LN3@Enemy_Seen@9:
	push	ebx

; 1283 : 	{
; 1284 : 		float minrange;
; 1285 : 		float maxrange;
; 1286 : 		float range;
; 1287 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$58876[esp+48]

; 1288 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$58877[esp+52]

; 1289 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$58879[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$58880[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1290 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T70653[esp+52]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$58879[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$58879[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 1291 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70654[esp+60]
	mov	DWORD PTR _pos$58879[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$58880[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$58880[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$58880[esp+76], eax

; 1292 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$58880[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$58879[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$58878[esp+72]

; 1293 : 		pos.Z = 0;

	fldz

; 1294 : 		pos2.Z = 0;
; 1295 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$58880[esp+76]
	fst	DWORD PTR _pos$58879[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$58880[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$58879[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$58876[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN8@Enemy_Seen@9
	fld	DWORD PTR _maxrange$58877[esp+52]
	fcomp	DWORD PTR _range$58878[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN8@Enemy_Seen@9

; 1296 : 		{
; 1297 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 1298 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 1299 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	edi
	call	eax
	add	esp, 12					; 0000000cH

; 1300 : 			if (!lastframe)

	cmp	BYTE PTR [esi+37], 0
	mov	DWORD PTR [esi+32], eax
	jne	SHORT $LN8@Enemy_Seen@9

; 1301 : 			{
; 1302 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 1303 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx

; 1304 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR [edi]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	edx
	add	esp, 16					; 00000010H
$LN8@Enemy_Seen@9:
	pop	ebx
$LN1@Enemy_Seen@9:
	pop	edi
	pop	esi

; 1305 : 			}
; 1306 : 		}
; 1307 : 	}
; 1308 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$58892 = -244					; size = 4
_pos2$58895 = -240					; size = 12
_pos$58894 = -228					; size = 12
_range$58893 = -216					; size = 4
_minrange$58891 = -212					; size = 4
$T70660 = -208						; size = 12
$T70659 = -208						; size = 12
_params$58900 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 1311 : {

	sub	esp, 244				; 000000f4H

; 1312 : 	if (number == 1)

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

; 1313 : 	{
; 1314 : 		float minrange;
; 1315 : 		float maxrange;
; 1316 : 		float range;
; 1317 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$58891[esp+256]

; 1318 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$58892[esp+256]

; 1319 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$58894[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$58895[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1320 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70659[esp+256]
	push	ebp
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$58894[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 1321 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR _pos$58894[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$58894[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T70660[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$58895[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$58895[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$58895[esp+284], edx

; 1322 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$58895[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$58894[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$58893[esp+284]

; 1323 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 1324 : 		pos2.Z = 0;
; 1325 : 		if (lastframe)

	cmp	BYTE PTR [esi+37], 0
	fst	DWORD PTR _pos$58894[esp+264]
	fst	DWORD PTR _pos2$58895[esp+264]
	je	SHORT $LN14@Timer_Expi@18

; 1326 : 		{
; 1327 : 			lastframe = false;
; 1328 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+37], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN2@Timer_Expi@18
$LN14@Timer_Expi@18:
	fstp	ST(0)
$LN2@Timer_Expi@18:

; 1329 : 		}
; 1330 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$58895[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$58894[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$58891[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@18
	fld	DWORD PTR _maxrange$58892[esp+256]
	fcomp	DWORD PTR _range$58893[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@18

; 1331 : 		{
; 1332 : 			ActionParamsStruct params;

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

; 1333 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 1334 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$58900[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$58900[esp+260], eax
	mov	DWORD PTR _params$58900[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$58892[esp+260]

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$58900[esp+336]
	fldz
	lea	ecx, DWORD PTR _params$58900[esp+260]
	push	ecx
	fstp	DWORD PTR _params$58900[esp+344]
	mov	DWORD PTR _params$58900[esp+352], eax
	mov	BYTE PTR _params$58900[esp+356], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebp
	call	eax
	add	esp, 12					; 0000000cH
$LN12@Timer_Expi@18:
	pop	edi
	pop	ebp
$LN1@Timer_Expi@18:
	pop	esi

; 1336 : 		}
; 1337 : 	}
; 1338 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CL@LNHAKNOH@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Secondary::Created
;	COMDAT ??_C@_0CL@LNHAKNOH@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CL@LNHAKNOH@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_Secondary', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70683 = -1012						; size = 12
$T70682 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Secondary::Created, COMDAT
; _this$ = ecx

; 1341 : {

	sub	esp, 1036				; 0000040cH

; 1342 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1343 : 	GameObject *object;
; 1344 : 	const char *weapon;
; 1345 : 	char params[1000];
; 1346 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70682[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 1347 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70683[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1348 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 1349 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 1350 : 	v.Z += v2.Z;
; 1351 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1352 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 1353 : 	if (object)

	test	edi, edi
	je	$LN1@Created@13

; 1354 : 	{
; 1355 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 1356 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 1357 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET ??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 1358 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET ??_C@_0CL@LNHAKNOH@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	edx
	add	esp, 52					; 00000034H
$LN1@Created@13:
	pop	edi
	pop	esi
	pop	ebx

; 1359 : 	}
; 1360 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Secondary::Killed, COMDAT
; _this$ = ecx

; 1363 : {

	push	esi
	mov	esi, ecx

; 1364 : 	GameObject *object;
; 1365 : 	object = Commands->Find_Object(weaponid);

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

; 1366 : 	int x;
; 1367 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1368 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@10

; 1369 : 	{
; 1370 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@10:
	pop	edi
	pop	esi

; 1371 : 	}
; 1372 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1375 : {

	push	ebp
	push	edi

; 1376 : 	float health;
; 1377 : 	bool power;
; 1378 : 	GameObject *object;
; 1379 : 	int x;
; 1380 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1381 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@19

; 1382 : 	{
; 1383 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 1384 : 		power = Commands->Get_Building_Power(obj);

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

; 1385 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1386 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@19

; 1387 : 		{
; 1388 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@19
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@19
$LN1@Timer_Expi@19:

; 1389 : 			{
; 1390 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@19
$LN10@Timer_Expi@19:
	fstp	ST(0)
$LN2@Timer_Expi@19:

; 1391 : 			}
; 1392 : 		}
; 1393 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 1394 : 	}
; 1395 : }

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

; 1399 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 1400 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Weapon_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1403 : {

	push	esi
	mov	esi, ecx

; 1404 : 	Auto_Save_Variable(1,1,&primary);

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

; 1405 : 	Auto_Save_Variable(2,4,&effectid);

	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

; 1406 : 	Auto_Save_Variable(3,4,&attackid);

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

; 1407 : 	Auto_Save_Variable(4,1,&enemyseen);

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

; 1408 : 	Auto_Save_Variable(5,1,&lastframe);

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

; 1409 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Weapon::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1412 : {

	push	esi
	mov	esi, ecx

; 1413 : 	Auto_Save_Variable(1,4,&effectid);

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

; 1414 : 	Auto_Save_Variable(2,4,&attackid);

	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

; 1415 : 	Auto_Save_Variable(3,1,&enemyseen);

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

; 1416 : 	Auto_Save_Variable(4,1,&lastframe);

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

; 1417 : }

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

; 1420 : {

	sub	esp, 12					; 0000000cH
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 1421 : 	primary = true;
; 1422 : 	int visible;
; 1423 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 1425 : 	Commands->Innate_Enable(obj);

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

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

; 1427 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 1428 : 	enemyseen = true;

	mov	BYTE PTR [esi+40], 1

; 1429 : 	attackid = 0;

	mov	DWORD PTR [esi+36], 0

; 1430 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T70706[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 1431 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@14

; 1432 : 	{
; 1433 : 		effectid = Commands->Get_ID(effect);

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

; 1434 : 		lastframe = false;
; 1435 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@14:
	pop	edi
	pop	esi
	pop	ebp

; 1436 : 	}
; 1437 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_Secondary::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Weapon_Secondary::Custom, COMDAT
; _this$ = ecx

; 1440 : {

	push	esi

; 1441 : 	int msg;
; 1442 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1443 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@10

; 1444 : 	{
; 1445 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 1446 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$LN1@Custom@10:
	pop	esi

; 1447 : 	}
; 1448 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -40					; size = 4
_pos2$ = -36						; size = 12
_pos$ = -24						; size = 12
$T70714 = -12						; size = 12
$T70713 = -12						; size = 12
_range$ = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$ = 12						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Weapon_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 1451 : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 1453 : 	if (o)

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

; 1454 : 	{
; 1455 : 		seen = o;

	mov	ebx, eax
$LN3@Enemy_Seen@10:

; 1456 : 	}
; 1457 : 	float minrange;
; 1458 : 	float maxrange;
; 1459 : 	float range;
; 1460 : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+48]

; 1461 : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+52]

; 1462 : 	Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1463 : 	pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70713[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 1464 : 	pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70714[esp+60]
	mov	DWORD PTR _pos$[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$[esp+76], eax

; 1465 : 	range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+72]

; 1466 : 	pos.Z = 0;

	fldz

; 1467 : 	pos2.Z = 0;
; 1468 : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$[esp+76]
	fst	DWORD PTR _pos$[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN1@Enemy_Seen@10
	fld	DWORD PTR _maxrange$[esp+52]
	fcomp	DWORD PTR _range$[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN1@Enemy_Seen@10

; 1469 : 	{
; 1470 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 1471 : 		Commands->Enable_Enemy_Seen(obj,false);

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

; 1472 : 		attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 1473 : 		if (!lastframe)

	cmp	BYTE PTR [esi+41], 0
	mov	DWORD PTR [esi+36], eax
	jne	SHORT $LN1@Enemy_Seen@10

; 1474 : 		{
; 1475 : 			lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 1476 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 1477 : 			Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR [ebx]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	edx
	add	esp, 16					; 00000010H
$LN1@Enemy_Seen@10:
	pop	edi
	pop	esi
	pop	ebx

; 1478 : 		}
; 1479 : 	}
; 1480 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$58984 = -244					; size = 4
_pos2$58987 = -240					; size = 12
_pos$58986 = -228					; size = 12
_range$58985 = -216					; size = 4
_minrange$58983 = -212					; size = 4
$T70719 = -208						; size = 12
$T70718 = -208						; size = 12
_params$58992 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Weapon_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1483 : {

	sub	esp, 244				; 000000f4H

; 1484 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+240], 1
	push	esi
	mov	esi, ecx
	jne	$LN2@Timer_Expi@20
	push	ebx
	push	edi

; 1485 : 	{
; 1486 : 		float minrange;
; 1487 : 		float maxrange;
; 1488 : 		float range;
; 1489 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$58983[esp+256]

; 1490 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$58984[esp+256]

; 1491 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$58986[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$58987[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1492 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70718[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$58986[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 1493 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	DWORD PTR _pos$58986[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$58986[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T70719[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$58987[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$58987[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$58987[esp+284], edx

; 1494 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$58987[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$58986[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$58985[esp+284]

; 1495 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 1496 : 		pos2.Z = 0;
; 1497 : 		if (lastframe)

	cmp	BYTE PTR [esi+41], 0
	fst	DWORD PTR _pos$58986[esp+264]
	fst	DWORD PTR _pos2$58987[esp+264]
	je	SHORT $LN16@Timer_Expi@20

; 1498 : 		{
; 1499 : 			lastframe = false;
; 1500 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+41], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN4@Timer_Expi@20
$LN16@Timer_Expi@20:
	fstp	ST(0)
$LN4@Timer_Expi@20:

; 1501 : 		}
; 1502 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$58987[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$58986[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$58983[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Timer_Expi@20
	fld	DWORD PTR _maxrange$58984[esp+256]
	fcomp	DWORD PTR _range$58985[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN14@Timer_Expi@20

; 1503 : 		{
; 1504 : 			ActionParamsStruct params;

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

; 1505 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 1506 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$58992[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$58992[esp+260], eax
	mov	DWORD PTR _params$58992[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$58984[esp+260]
	mov	cl, BYTE PTR [esi+28]
	fstp	DWORD PTR _params$58992[esp+336]
	fldz
	mov	DWORD PTR _params$58992[esp+348], eax

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$58992[esp+340]
	lea	edx, DWORD PTR _params$58992[esp+260]
	push	edx
	mov	BYTE PTR _params$58992[esp+356], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx
	add	esp, 12					; 0000000cH

; 1508 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	dl
	mov	BYTE PTR [esi+28], dl
$LN14@Timer_Expi@20:
	pop	edi
	pop	ebx
$LN2@Timer_Expi@20:
	pop	esi

; 1509 : 			{
; 1510 : 				primary = false;
; 1511 : 			}
; 1512 : 			else
; 1513 : 			{
; 1514 : 				primary = true;
; 1515 : 			}
; 1516 : 		}
; 1517 : 	}
; 1518 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DH@LKHHAMMB@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Created
;	COMDAT ??_C@_0DH@LKHHAMMB@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0DH@LKHHAMMB@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_No_Aircraft_Secondary', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70743 = -1012						; size = 12
$T70742 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Created, COMDAT
; _this$ = ecx

; 1521 : {

	sub	esp, 1036				; 0000040cH

; 1522 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1523 : 	GameObject *object;
; 1524 : 	const char *weapon;
; 1525 : 	char params[1000];
; 1526 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70742[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 1527 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70743[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1528 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 1529 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 1530 : 	v.Z += v2.Z;
; 1531 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1532 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 1533 : 	if (object)

	test	edi, edi
	je	$LN1@Created@15

; 1534 : 	{
; 1535 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 1536 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 1537 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	lea	edx, DWORD PTR _params$[esp+1116]
	push	edx
	call	_sprintf

; 1538 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1120]
	push	eax
	push	OFFSET ??_C@_0DH@LKHHAMMB@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	edx
	add	esp, 84					; 00000054H
$LN1@Created@15:
	pop	edi
	pop	esi
	pop	ebx

; 1539 : 	}
; 1540 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Killed, COMDAT
; _this$ = ecx

; 1543 : {

	push	esi
	mov	esi, ecx

; 1544 : 	GameObject *object;
; 1545 : 	object = Commands->Find_Object(weaponid);

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

; 1546 : 	int x;
; 1547 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1548 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@11

; 1549 : 	{
; 1550 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@11:
	pop	edi
	pop	esi

; 1551 : 	}
; 1552 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1555 : {

	push	ebp
	push	edi

; 1556 : 	float health;
; 1557 : 	bool power;
; 1558 : 	GameObject *object;
; 1559 : 	int x;
; 1560 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1561 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@21

; 1562 : 	{
; 1563 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 1564 : 		power = Commands->Get_Building_Power(obj);

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

; 1565 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1566 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@21

; 1567 : 		{
; 1568 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@21
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@21
$LN1@Timer_Expi@21:

; 1569 : 			{
; 1570 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@21
$LN10@Timer_Expi@21:
	fstp	ST(0)
$LN2@Timer_Expi@21:

; 1571 : 			}
; 1572 : 		}
; 1573 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 1574 : 	}
; 1575 : }

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

; 1579 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 1580 : }

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

; 1583 : {

	sub	esp, 12					; 0000000cH
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 1584 : 	primary = true;
; 1585 : 	int visible;
; 1586 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 1588 : 	Commands->Innate_Enable(obj);

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

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

; 1590 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 1591 : 	enemyseen = true;

	mov	BYTE PTR [esi+40], 1

; 1592 : 	attackid = 0;

	mov	DWORD PTR [esi+36], 0

; 1593 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T70760[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 1594 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@16

; 1595 : 	{
; 1596 : 		effectid = Commands->Get_ID(effect);

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

; 1597 : 		lastframe = false;
; 1598 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@16:
	pop	edi
	pop	esi
	pop	ebp

; 1599 : 	}
; 1600 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Custom, COMDAT
; _this$ = ecx

; 1603 : {

	push	esi

; 1604 : 	int msg;
; 1605 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1606 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@11

; 1607 : 	{
; 1608 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 1609 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$LN1@Custom@11:
	pop	esi

; 1610 : 	}
; 1611 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$59058 = -40					; size = 4
_pos2$59061 = -36					; size = 12
_pos$59060 = -24					; size = 12
$T70768 = -12						; size = 12
$T70767 = -12						; size = 12
_range$59059 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$59057 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 1614 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

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

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

; 1616 : 	if (o)

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

; 1617 : 	{
; 1618 : 		seen = o;

	mov	edi, eax
$LN4@Enemy_Seen@11:

; 1619 : 	}
; 1620 : 	if ((_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@11
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@11
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@11
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@11
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@11
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@11
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@11
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@11
	push	ebx

; 1621 : 	{
; 1622 : 		float minrange;
; 1623 : 		float maxrange;
; 1624 : 		float range;
; 1625 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59057[esp+48]

; 1626 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59058[esp+52]

; 1627 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59060[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$59061[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1628 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T70767[esp+52]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59060[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$59060[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 1629 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70768[esp+60]
	mov	DWORD PTR _pos$59060[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59061[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59061[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59061[esp+76], eax

; 1630 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$59061[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$59060[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$59059[esp+72]

; 1631 : 		pos.Z = 0;

	fldz

; 1632 : 		pos2.Z = 0;
; 1633 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59061[esp+76]
	fst	DWORD PTR _pos$59060[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$59061[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59060[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59057[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@11
	fld	DWORD PTR _maxrange$59058[esp+52]
	fcomp	DWORD PTR _range$59059[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@11

; 1634 : 		{
; 1635 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 1636 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 1637 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	edi
	call	eax
	add	esp, 12					; 0000000cH

; 1638 : 			if (!lastframe)

	cmp	BYTE PTR [esi+41], 0
	mov	DWORD PTR [esi+36], eax
	jne	SHORT $LN7@Enemy_Seen@11

; 1639 : 			{
; 1640 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 1641 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx

; 1642 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR [edi]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	edx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@11:
	pop	ebx
$LN1@Enemy_Seen@11:
	pop	edi
	pop	esi

; 1643 : 			}
; 1644 : 		}
; 1645 : 	}
; 1646 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$59073 = -244					; size = 4
_pos2$59076 = -240					; size = 12
_pos$59075 = -228					; size = 12
_range$59074 = -216					; size = 4
_minrange$59072 = -212					; size = 4
$T70774 = -208						; size = 12
$T70773 = -208						; size = 12
_params$59081 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1649 : {

	sub	esp, 244				; 000000f4H

; 1650 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+240], 1
	push	esi
	mov	esi, ecx
	jne	$LN2@Timer_Expi@22
	push	ebx
	push	edi

; 1651 : 	{
; 1652 : 		float minrange;
; 1653 : 		float maxrange;
; 1654 : 		float range;
; 1655 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59072[esp+256]

; 1656 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59073[esp+256]

; 1657 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59075[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$59076[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1658 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70773[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59075[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 1659 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	DWORD PTR _pos$59075[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$59075[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T70774[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59076[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59076[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59076[esp+284], edx

; 1660 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$59076[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$59075[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$59074[esp+284]

; 1661 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 1662 : 		pos2.Z = 0;
; 1663 : 		if (lastframe)

	cmp	BYTE PTR [esi+41], 0
	fst	DWORD PTR _pos$59075[esp+264]
	fst	DWORD PTR _pos2$59076[esp+264]
	je	SHORT $LN16@Timer_Expi@22

; 1664 : 		{
; 1665 : 			lastframe = false;
; 1666 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+41], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN4@Timer_Expi@22
$LN16@Timer_Expi@22:
	fstp	ST(0)
$LN4@Timer_Expi@22:

; 1667 : 		}
; 1668 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59076[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59075[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59072[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Timer_Expi@22
	fld	DWORD PTR _maxrange$59073[esp+256]
	fcomp	DWORD PTR _range$59074[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN14@Timer_Expi@22

; 1669 : 		{
; 1670 : 			ActionParamsStruct params;

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

; 1671 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 1672 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$59081[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$59081[esp+260], eax
	mov	DWORD PTR _params$59081[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$59073[esp+260]
	mov	cl, BYTE PTR [esi+28]
	fstp	DWORD PTR _params$59081[esp+336]
	fldz
	mov	DWORD PTR _params$59081[esp+348], eax

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$59081[esp+340]
	lea	edx, DWORD PTR _params$59081[esp+260]
	push	edx
	mov	BYTE PTR _params$59081[esp+356], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx
	add	esp, 12					; 0000000cH

; 1674 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	dl
	mov	BYTE PTR [esi+28], dl
$LN14@Timer_Expi@22:
	pop	edi
	pop	ebx
$LN2@Timer_Expi@22:
	pop	esi

; 1675 : 			{
; 1676 : 				primary = false;
; 1677 : 			}
; 1678 : 			else
; 1679 : 			{
; 1680 : 				primary = true;
; 1681 : 			}
; 1682 : 		}
; 1683 : 	}
; 1684 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DJ@KCGLBAHC@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Created
;	COMDAT ??_C@_0DJ@KCGLBAHC@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0DJ@KCGLBAHC@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_Aircraft_Only_Secondary', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70798 = -1012						; size = 12
$T70797 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 1687 : {

	sub	esp, 1036				; 0000040cH

; 1688 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1689 : 	GameObject *object;
; 1690 : 	const char *weapon;
; 1691 : 	char params[1000];
; 1692 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70797[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 1693 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70798[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1694 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 1695 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 1696 : 	v.Z += v2.Z;
; 1697 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1698 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 1699 : 	if (object)

	test	edi, edi
	je	$LN1@Created@17

; 1700 : 	{
; 1701 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 1702 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 1703 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	lea	edx, DWORD PTR _params$[esp+1116]
	push	edx
	call	_sprintf

; 1704 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1120]
	push	eax
	push	OFFSET ??_C@_0DJ@KCGLBAHC@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	edx
	add	esp, 84					; 00000054H
$LN1@Created@17:
	pop	edi
	pop	esi
	pop	ebx

; 1705 : 	}
; 1706 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 1709 : {

	push	esi
	mov	esi, ecx

; 1710 : 	GameObject *object;
; 1711 : 	object = Commands->Find_Object(weaponid);

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

; 1712 : 	int x;
; 1713 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1714 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@12

; 1715 : 	{
; 1716 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@12:
	pop	edi
	pop	esi

; 1717 : 	}
; 1718 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1721 : {

	push	ebp
	push	edi

; 1722 : 	float health;
; 1723 : 	bool power;
; 1724 : 	GameObject *object;
; 1725 : 	int x;
; 1726 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1727 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@23

; 1728 : 	{
; 1729 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 1730 : 		power = Commands->Get_Building_Power(obj);

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

; 1731 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1732 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@23

; 1733 : 		{
; 1734 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@23
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@23
$LN1@Timer_Expi@23:

; 1735 : 			{
; 1736 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@23
$LN10@Timer_Expi@23:
	fstp	ST(0)
$LN2@Timer_Expi@23:

; 1737 : 			}
; 1738 : 		}
; 1739 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 1740 : 	}
; 1741 : }

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

; 1745 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 1746 : }

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

; 1749 : {

	sub	esp, 12					; 0000000cH
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 1750 : 	primary = true;
; 1751 : 	int visible;
; 1752 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 1754 : 	Commands->Innate_Enable(obj);

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

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

; 1756 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 1757 : 	enemyseen = true;

	mov	BYTE PTR [esi+40], 1

; 1758 : 	attackid = 0;

	mov	DWORD PTR [esi+36], 0

; 1759 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T70815[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 1760 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@18

; 1761 : 	{
; 1762 : 		effectid = Commands->Get_ID(effect);

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

; 1763 : 		lastframe = false;
; 1764 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@18:
	pop	edi
	pop	esi
	pop	ebp

; 1765 : 	}
; 1766 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Custom, COMDAT
; _this$ = ecx

; 1769 : {

	push	esi

; 1770 : 	int msg;
; 1771 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1772 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@12

; 1773 : 	{
; 1774 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 1775 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$LN1@Custom@12:
	pop	esi

; 1776 : 	}
; 1777 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$59148 = -40					; size = 4
_pos2$59151 = -36					; size = 12
_pos$59150 = -24					; size = 12
$T70823 = -12						; size = 12
$T70822 = -12						; size = 12
_range$59149 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$59147 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 1780 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

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

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

; 1782 : 	if (o)

	test	eax, eax
	je	SHORT $LN5@Enemy_Seen@12

; 1783 : 	{
; 1784 : 		seen = o;

	mov	edi, eax
$LN5@Enemy_Seen@12:

; 1785 : 	}
; 1786 : 	if ((!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@12
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@12
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@12
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@12
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@12
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@12
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@12
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	jne	$LN1@Enemy_Seen@12
$LN3@Enemy_Seen@12:
	push	ebx

; 1787 : 	{
; 1788 : 		float minrange;
; 1789 : 		float maxrange;
; 1790 : 		float range;
; 1791 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59147[esp+48]

; 1792 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59148[esp+52]

; 1793 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59150[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$59151[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1794 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T70822[esp+52]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59150[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$59150[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 1795 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70823[esp+60]
	mov	DWORD PTR _pos$59150[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59151[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59151[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59151[esp+76], eax

; 1796 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$59151[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$59150[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$59149[esp+72]

; 1797 : 		pos.Z = 0;

	fldz

; 1798 : 		pos2.Z = 0;
; 1799 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59151[esp+76]
	fst	DWORD PTR _pos$59150[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$59151[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59150[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59147[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN8@Enemy_Seen@12
	fld	DWORD PTR _maxrange$59148[esp+52]
	fcomp	DWORD PTR _range$59149[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN8@Enemy_Seen@12

; 1800 : 		{
; 1801 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 1802 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 1803 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	edi
	call	eax
	add	esp, 12					; 0000000cH

; 1804 : 			if (!lastframe)

	cmp	BYTE PTR [esi+41], 0
	mov	DWORD PTR [esi+36], eax
	jne	SHORT $LN8@Enemy_Seen@12

; 1805 : 			{
; 1806 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 1807 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx

; 1808 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR [edi]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	edx
	add	esp, 16					; 00000010H
$LN8@Enemy_Seen@12:
	pop	ebx
$LN1@Enemy_Seen@12:
	pop	edi
	pop	esi

; 1809 : 			}
; 1810 : 		}
; 1811 : 	}
; 1812 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$59163 = -244					; size = 4
_pos2$59166 = -240					; size = 12
_pos$59165 = -228					; size = 12
_range$59164 = -216					; size = 4
_minrange$59162 = -212					; size = 4
$T70829 = -208						; size = 12
$T70828 = -208						; size = 12
_params$59171 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1815 : {

	sub	esp, 244				; 000000f4H

; 1816 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+240], 1
	push	esi
	mov	esi, ecx
	jne	$LN2@Timer_Expi@24
	push	ebx
	push	edi

; 1817 : 	{
; 1818 : 		float minrange;
; 1819 : 		float maxrange;
; 1820 : 		float range;
; 1821 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59162[esp+256]

; 1822 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59163[esp+256]

; 1823 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59165[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$59166[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1824 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70828[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59165[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 1825 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	DWORD PTR _pos$59165[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$59165[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T70829[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59166[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59166[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59166[esp+284], edx

; 1826 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$59166[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$59165[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$59164[esp+284]

; 1827 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 1828 : 		pos2.Z = 0;
; 1829 : 		if (lastframe)

	cmp	BYTE PTR [esi+41], 0
	fst	DWORD PTR _pos$59165[esp+264]
	fst	DWORD PTR _pos2$59166[esp+264]
	je	SHORT $LN16@Timer_Expi@24

; 1830 : 		{
; 1831 : 			lastframe = false;
; 1832 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+41], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN4@Timer_Expi@24
$LN16@Timer_Expi@24:
	fstp	ST(0)
$LN4@Timer_Expi@24:

; 1833 : 		}
; 1834 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59166[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59165[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59162[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Timer_Expi@24
	fld	DWORD PTR _maxrange$59163[esp+256]
	fcomp	DWORD PTR _range$59164[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN14@Timer_Expi@24

; 1835 : 		{
; 1836 : 			ActionParamsStruct params;

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

; 1837 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 1838 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$59171[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$59171[esp+260], eax
	mov	DWORD PTR _params$59171[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$59163[esp+260]
	mov	cl, BYTE PTR [esi+28]
	fstp	DWORD PTR _params$59171[esp+336]
	fldz
	mov	DWORD PTR _params$59171[esp+348], eax

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$59171[esp+340]
	lea	edx, DWORD PTR _params$59171[esp+260]
	push	edx
	mov	BYTE PTR _params$59171[esp+356], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx
	add	esp, 12					; 0000000cH

; 1840 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	dl
	mov	BYTE PTR [esi+28], dl
$LN14@Timer_Expi@24:
	pop	edi
	pop	ebx
$LN2@Timer_Expi@24:
	pop	esi

; 1841 : 			{
; 1842 : 				primary = false;
; 1843 : 			}
; 1844 : 			else
; 1845 : 			{
; 1846 : 				primary = true;
; 1847 : 			}
; 1848 : 		}
; 1849 : 	}
; 1850 : }

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

; 1853 : {

	push	esi
	mov	esi, ecx

; 1854 : 	Auto_Save_Variable(1,4,&effectid);

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

; 1855 : 	Auto_Save_Variable(2,4,&attackid);

	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

; 1856 : 	Auto_Save_Variable(3,1,&enemyseen);

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

; 1857 : 	Auto_Save_Variable(4,1,&lastframe);

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

; 1858 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1861 : {

	push	esi
	mov	esi, ecx

; 1862 : 	Auto_Save_Variable(1,4,&effectid);

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

; 1863 : 	Auto_Save_Variable(2,4,&attackid);

	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

; 1864 : 	Auto_Save_Variable(3,1,&enemyseen);

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

; 1865 : 	Auto_Save_Variable(4,1,&lastframe);

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

; 1866 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1869 : {

	push	esi
	mov	esi, ecx

; 1870 : 	Auto_Save_Variable(1,1,&primary);

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

; 1871 : 	Auto_Save_Variable(2,4,&effectid);

	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

; 1872 : 	Auto_Save_Variable(3,4,&attackid);

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

; 1873 : 	Auto_Save_Variable(4,1,&enemyseen);

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

; 1874 : 	Auto_Save_Variable(5,1,&lastframe);

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

; 1875 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1878 : {

	push	esi
	mov	esi, ecx

; 1879 : 	Auto_Save_Variable(1,1,&primary);

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

; 1880 : 	Auto_Save_Variable(2,4,&effectid);

	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

; 1881 : 	Auto_Save_Variable(3,4,&attackid);

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

; 1882 : 	Auto_Save_Variable(4,1,&enemyseen);

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

; 1883 : 	Auto_Save_Variable(5,1,&lastframe);

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

; 1884 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	??_C@_0CA@GOLIDHAM@JFW_Building_Gun_Weapon_No_VTOL?$AA@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_No_VTOL@@EAEXPAE@Z	; JFW_Building_Gun_No_VTOL::Created
;	COMDAT ??_C@_0CA@GOLIDHAM@JFW_Building_Gun_Weapon_No_VTOL?$AA@
CONST	SEGMENT
??_C@_0CA@GOLIDHAM@JFW_Building_Gun_Weapon_No_VTOL?$AA@ DB 'JFW_Building_'
	DB	'Gun_Weapon_No_VTOL', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70865 = -1012						; size = 12
$T70864 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_No_VTOL@@EAEXPAE@Z PROC	; JFW_Building_Gun_No_VTOL::Created, COMDAT
; _this$ = ecx

; 1887 : {

	sub	esp, 1036				; 0000040cH

; 1888 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1889 : 	GameObject *object;
; 1890 : 	const char *weapon;
; 1891 : 	char params[1000];
; 1892 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70864[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 1893 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70865[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1894 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 1895 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 1896 : 	v.Z += v2.Z;
; 1897 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1898 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 1899 : 	if (object)

	test	edi, edi
	je	$LN1@Created@19

; 1900 : 	{
; 1901 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 1902 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 1903 : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET ??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 1904 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_No_VTOL",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET ??_C@_0CA@GOLIDHAM@JFW_Building_Gun_Weapon_No_VTOL?$AA@
	push	edi
	call	edx
	add	esp, 36					; 00000024H
$LN1@Created@19:
	pop	edi
	pop	esi
	pop	ebx

; 1905 : 	}
; 1906 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_No_VTOL@@EAEXPAE@Z ENDP	; JFW_Building_Gun_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_No_VTOL@@EAEXPAE0@Z	; JFW_Building_Gun_No_VTOL::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_No_VTOL@@EAEXPAE0@Z PROC	; JFW_Building_Gun_No_VTOL::Killed, COMDAT
; _this$ = ecx

; 1909 : {

	push	esi
	mov	esi, ecx

; 1910 : 	GameObject *object;
; 1911 : 	object = Commands->Find_Object(weaponid);

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

; 1912 : 	int x;
; 1913 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1914 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@13

; 1915 : 	{
; 1916 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@13:
	pop	edi
	pop	esi

; 1917 : 	}
; 1918 : }

	ret	8
?Killed@JFW_Building_Gun_No_VTOL@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_No_VTOL::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_No_VTOL::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_No_VTOL@@EAEXPAEH@Z PROC ; JFW_Building_Gun_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 1921 : {

	push	ebp
	push	edi

; 1922 : 	float health;
; 1923 : 	bool power;
; 1924 : 	GameObject *object;
; 1925 : 	int x;
; 1926 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1927 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN5@Timer_Expi@25

; 1928 : 	{
; 1929 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 1930 : 		power = Commands->Get_Building_Power(obj);

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

; 1931 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1932 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN8@Timer_Expi@25

; 1933 : 		{
; 1934 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN2@Timer_Expi@25
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN2@Timer_Expi@25

; 1937 : 			}
; 1938 : 			else
; 1939 : 			{
; 1940 : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	jmp	SHORT $LN14@Timer_Expi@25
$LN2@Timer_Expi@25:

; 1935 : 			{
; 1936 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	esi
	call	ecx
$LN14@Timer_Expi@25:
	add	esp, 20					; 00000014H
$LN8@Timer_Expi@25:

; 1941 : 			}
; 1942 : 		}
; 1943 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+128]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	edi
	push	esi
	call	eax
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$LN5@Timer_Expi@25:
	pop	edi
	pop	ebp

; 1944 : 	}
; 1945 : }

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

; 1949 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 1950 : }

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

; 1953 : {

	push	esi
	push	edi

; 1954 : 	int visible;
; 1955 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 1957 : 	Commands->Innate_Enable(obj);

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

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

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

; 1959 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	edx
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 1960 : }

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

; 1964 : 	int msg;
; 1965 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1966 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $LN1@Custom@13

; 1967 : 	{
; 1968 : 		if (!param)

	cmp	DWORD PTR _param$[esp-4], 0

; 1969 : 		{
; 1970 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR _obj$[esp-4]
	mov	edx, DWORD PTR [ecx+300]
	jne	SHORT $LN2@Custom@13
	push	0

; 1971 : 		}
; 1972 : 		else
; 1973 : 		{
; 1974 : 			Commands->Enable_Enemy_Seen(obj,true);

	push	eax
	call	edx
	add	esp, 8

; 1975 : 		}
; 1976 : 	}
; 1977 : }

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

; 1971 : 		}
; 1972 : 		else
; 1973 : 		{
; 1974 : 			Commands->Enable_Enemy_Seen(obj,true);

	push	1
	push	eax
	call	edx
	add	esp, 8
$LN1@Custom@13:

; 1975 : 		}
; 1976 : 	}
; 1977 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_No_VTOL::Enemy_Seen
EXTRN	?Get_Vehicle_Mode@@YAIPAE@Z:PROC		; Get_Vehicle_Mode
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$59252 = -240					; size = 12
_pos$59251 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T70893 = -208						; size = 12
$T70892 = -208						; size = 12
_params$59256 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Weapon_No_VTOL::Enemy_Seen, COMDAT
; _this$ = ecx

; 1980 : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

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

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

; 1982 : 	if (o)

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

; 1983 : 	{
; 1984 : 		seen = o;

	mov	edi, eax
$LN3@Enemy_Seen@13:

; 1985 : 	}
; 1986 : 	float minrange;
; 1987 : 	float maxrange;
; 1988 : 	float range;
; 1989 : 	if (Get_Vehicle_Mode(seen) != FLYING)

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

; 1990 : 	{
; 1991 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 1992 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 1993 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59251[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$59252[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 1994 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70892[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59251[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$59251[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 1995 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70893[esp+264]
	mov	DWORD PTR _pos$59251[esp+272], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59252[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59252[esp+276], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59252[esp+280], eax

; 1996 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$59252[esp+272]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$59251[esp+276]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+280]

; 1997 : 		pos.Z = 0;

	fldz

; 1998 : 		pos2.Z = 0;
; 1999 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59252[esp+280]
	fst	DWORD PTR _pos$59251[esp+288]
	push	edx
	fstp	DWORD PTR _pos2$59252[esp+292]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59251[esp+284]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN12@Enemy_Seen@13
	fld	DWORD PTR _maxrange$[esp+256]
	fcomp	DWORD PTR _range$[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Enemy_Seen@13

; 2000 : 		{
; 2001 : 			ActionParamsStruct params;

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

; 2002 : 			params.Set_Basic(this,100,1);
; 2003 : 			params.Set_Attack(seen,maxrange,0,true);

	fld	DWORD PTR _maxrange$[esp+256]
	mov	eax, DWORD PTR [esi+4]
	fstp	DWORD PTR _params$59256[esp+332]
	fldz

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$59256[esp+256]
	fstp	DWORD PTR _params$59256[esp+336]
	push	ecx
	mov	DWORD PTR _params$59256[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$59256[esp+264], eax
	mov	DWORD PTR _params$59256[esp+428], -1
	mov	DWORD PTR _params$59256[esp+348], edi
	mov	BYTE PTR _params$59256[esp+352], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebx
	call	eax

; 2005 : 			Commands->Start_Timer(obj,this,1.0,1);

	fld1
	add	esp, 8
	push	1
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx
	add	esp, 16					; 00000010H
$LN12@Enemy_Seen@13:
	pop	ebx
$LN1@Enemy_Seen@13:
	pop	edi
	pop	esi

; 2006 : 		}
; 2007 : 	}
; 2008 : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_No_VTOL::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Weapon_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 2012 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $LN1@Timer_Expi@26

; 2013 : 	{
; 2014 : 		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@Timer_Expi@26:

; 2015 : 	}
; 2016 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CC@OMMMIOIO@JFW_Building_Gun_Weapon_VTOL_Onl@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_VTOL_Only@@EAEXPAE@Z	; JFW_Building_Gun_VTOL_Only::Created
;	COMDAT ??_C@_0CC@OMMMIOIO@JFW_Building_Gun_Weapon_VTOL_Onl@
CONST	SEGMENT
??_C@_0CC@OMMMIOIO@JFW_Building_Gun_Weapon_VTOL_Onl@ DB 'JFW_Building_Gun'
	DB	'_Weapon_VTOL_Only', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70915 = -1012						; size = 12
$T70914 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_VTOL_Only@@EAEXPAE@Z PROC	; JFW_Building_Gun_VTOL_Only::Created, COMDAT
; _this$ = ecx

; 2019 : {

	sub	esp, 1036				; 0000040cH

; 2020 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2021 : 	GameObject *object;
; 2022 : 	const char *weapon;
; 2023 : 	char params[1000];
; 2024 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70914[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 2025 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70915[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2026 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 2027 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 2028 : 	v.Z += v2.Z;
; 2029 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2030 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 2031 : 	if (object)

	test	edi, edi
	je	$LN1@Created@20

; 2032 : 	{
; 2033 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 2034 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 2035 : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET ??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 2036 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_VTOL_Only",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET ??_C@_0CC@OMMMIOIO@JFW_Building_Gun_Weapon_VTOL_Onl@
	push	edi
	call	edx
	add	esp, 36					; 00000024H
$LN1@Created@20:
	pop	edi
	pop	esi
	pop	ebx

; 2037 : 	}
; 2038 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_VTOL_Only@@EAEXPAE@Z ENDP	; JFW_Building_Gun_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_VTOL_Only@@EAEXPAE0@Z	; JFW_Building_Gun_VTOL_Only::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_VTOL_Only@@EAEXPAE0@Z PROC	; JFW_Building_Gun_VTOL_Only::Killed, COMDAT
; _this$ = ecx

; 2041 : {

	push	esi
	mov	esi, ecx

; 2042 : 	GameObject *object;
; 2043 : 	object = Commands->Find_Object(weaponid);

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

; 2044 : 	int x;
; 2045 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2046 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@14

; 2047 : 	{
; 2048 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@14:
	pop	edi
	pop	esi

; 2049 : 	}
; 2050 : }

	ret	8
?Killed@JFW_Building_Gun_VTOL_Only@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_VTOL_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_VTOL_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_VTOL_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 2053 : {

	push	ebp
	push	edi

; 2054 : 	float health;
; 2055 : 	bool power;
; 2056 : 	GameObject *object;
; 2057 : 	int x;
; 2058 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2059 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN5@Timer_Expi@27

; 2060 : 	{
; 2061 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 2062 : 		power = Commands->Get_Building_Power(obj);

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

; 2063 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2064 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN8@Timer_Expi@27

; 2065 : 		{
; 2066 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN2@Timer_Expi@27
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN2@Timer_Expi@27

; 2069 : 			}
; 2070 : 			else
; 2071 : 			{
; 2072 : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	jmp	SHORT $LN14@Timer_Expi@27
$LN2@Timer_Expi@27:

; 2067 : 			{
; 2068 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	esi
	call	ecx
$LN14@Timer_Expi@27:
	add	esp, 20					; 00000014H
$LN8@Timer_Expi@27:

; 2073 : 			}
; 2074 : 		}
; 2075 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+128]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	edi
	push	esi
	call	eax
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$LN5@Timer_Expi@27:
	pop	edi
	pop	ebp

; 2076 : 	}
; 2077 : }

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

; 2081 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 2082 : }

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

; 2085 : {

	push	esi
	push	edi

; 2086 : 	int visible;
; 2087 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 2089 : 	Commands->Innate_Enable(obj);

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

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

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

; 2091 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	edx
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 2092 : }

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

; 2096 : 	int msg;
; 2097 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2098 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $LN1@Custom@14

; 2099 : 	{
; 2100 : 		if (!param)

	cmp	DWORD PTR _param$[esp-4], 0

; 2101 : 		{
; 2102 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR _obj$[esp-4]
	mov	edx, DWORD PTR [ecx+300]
	jne	SHORT $LN2@Custom@14
	push	0

; 2103 : 		}
; 2104 : 		else
; 2105 : 		{
; 2106 : 			Commands->Enable_Enemy_Seen(obj,true);

	push	eax
	call	edx
	add	esp, 8

; 2107 : 		}
; 2108 : 	}
; 2109 : }

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

; 2103 : 		}
; 2104 : 		else
; 2105 : 		{
; 2106 : 			Commands->Enable_Enemy_Seen(obj,true);

	push	1
	push	eax
	call	edx
	add	esp, 8
$LN1@Custom@14:

; 2107 : 		}
; 2108 : 	}
; 2109 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_VTOL_Only::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$59329 = -240					; size = 12
_pos$59328 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T70943 = -208						; size = 12
$T70942 = -208						; size = 12
_params$59333 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Weapon_VTOL_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 2112 : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

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

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

; 2114 : 	if (o)

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

; 2115 : 	{
; 2116 : 		seen = o;

	mov	edi, eax
$LN3@Enemy_Seen@14:

; 2117 : 	}
; 2118 : 	float minrange;
; 2119 : 	float maxrange;
; 2120 : 	float range;
; 2121 : 	if (Get_Vehicle_Mode(seen) == FLYING)

	push	edi
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	jne	$LN1@Enemy_Seen@14
	push	ebx

; 2122 : 	{
; 2123 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 2124 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 2125 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59328[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$59329[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2126 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70942[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59328[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$59328[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 2127 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70943[esp+264]
	mov	DWORD PTR _pos$59328[esp+272], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59329[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59329[esp+276], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59329[esp+280], eax

; 2128 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$59329[esp+272]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$59328[esp+276]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+280]

; 2129 : 		pos.Z = 0;

	fldz

; 2130 : 		pos2.Z = 0;
; 2131 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59329[esp+280]
	fst	DWORD PTR _pos$59328[esp+288]
	push	edx
	fstp	DWORD PTR _pos2$59329[esp+292]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59328[esp+284]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN12@Enemy_Seen@14
	fld	DWORD PTR _maxrange$[esp+256]
	fcomp	DWORD PTR _range$[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Enemy_Seen@14

; 2132 : 		{
; 2133 : 			ActionParamsStruct params;

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

; 2134 : 			params.Set_Basic(this,100,1);
; 2135 : 			params.Set_Attack(seen,maxrange,0,true);

	fld	DWORD PTR _maxrange$[esp+256]
	mov	eax, DWORD PTR [esi+4]
	fstp	DWORD PTR _params$59333[esp+332]
	fldz

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$59333[esp+256]
	fstp	DWORD PTR _params$59333[esp+336]
	push	ecx
	mov	DWORD PTR _params$59333[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$59333[esp+264], eax
	mov	DWORD PTR _params$59333[esp+428], -1
	mov	DWORD PTR _params$59333[esp+348], edi
	mov	BYTE PTR _params$59333[esp+352], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebx
	call	eax

; 2137 : 			Commands->Start_Timer(obj,this,1.0,1);

	fld1
	add	esp, 8
	push	1
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx
	add	esp, 16					; 00000010H
$LN12@Enemy_Seen@14:
	pop	ebx
$LN1@Enemy_Seen@14:
	pop	edi
	pop	esi

; 2138 : 		}
; 2139 : 	}
; 2140 : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_VTOL_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Weapon_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 2144 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $LN1@Timer_Expi@28

; 2145 : 	{
; 2146 : 		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@Timer_Expi@28:

; 2147 : 	}
; 2148 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CH@OMGFOFMK@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ ; `string'
PUBLIC	??_C@_05MAHMNMLO@Sound?$AA@			; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound::Created
;	COMDAT ??_C@_0CH@OMGFOFMK@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0CH@OMGFOFMK@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
CONST	SEGMENT
??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ DB '%'
	DB	's,%s,%s,%s,%s,%s,%s,%s,%s', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_05MAHMNMLO@Sound?$AA@
CONST	SEGMENT
??_C@_05MAHMNMLO@Sound?$AA@ DB 'Sound', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T70965 = -1012						; size = 12
$T70964 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Sound::Created, COMDAT
; _this$ = ecx

; 2151 : {

	sub	esp, 1036				; 0000040cH

; 2152 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2153 : 	GameObject *object;
; 2154 : 	const char *weapon;
; 2155 : 	char params[1000];
; 2156 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70964[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 2157 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T70965[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2158 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 2159 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 2160 : 	v.Z += v2.Z;
; 2161 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2162 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 2163 : 	if (object)

	test	edi, edi
	je	$LN1@Created@21

; 2164 : 	{
; 2165 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 2166 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 2167 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET ??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 2168 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET ??_C@_0CH@OMGFOFMK@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	edx
	add	esp, 56					; 00000038H
$LN1@Created@21:
	pop	edi
	pop	esi
	pop	ebx

; 2169 : 	}
; 2170 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound::Killed, COMDAT
; _this$ = ecx

; 2173 : {

	push	esi
	mov	esi, ecx

; 2174 : 	GameObject *object;
; 2175 : 	object = Commands->Find_Object(weaponid);

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

; 2176 : 	int x;
; 2177 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2178 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@15

; 2179 : 	{
; 2180 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@15:
	pop	edi
	pop	esi

; 2181 : 	}
; 2182 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound::Timer_Expired, COMDAT
; _this$ = ecx

; 2185 : {

	push	ebp
	push	edi

; 2186 : 	float health;
; 2187 : 	bool power;
; 2188 : 	GameObject *object;
; 2189 : 	int x;
; 2190 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2191 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@29

; 2192 : 	{
; 2193 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 2194 : 		power = Commands->Get_Building_Power(obj);

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

; 2195 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2196 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@29

; 2197 : 		{
; 2198 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@29
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@29
$LN1@Timer_Expi@29:

; 2199 : 			{
; 2200 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@29
$LN10@Timer_Expi@29:
	fstp	ST(0)
$LN2@Timer_Expi@29:

; 2201 : 			}
; 2202 : 		}
; 2203 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 2204 : 	}
; 2205 : }

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

; 2209 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 2210 : }

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

; 2213 : {

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

; 2214 : 	int visible;
; 2215 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 2217 : 	Commands->Innate_Enable(obj);

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

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

; 2219 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 2220 : 	enemyseen = true;

	mov	BYTE PTR [esi+36], 1

; 2221 : 	attackid = 0;

	mov	DWORD PTR [esi+32], 0

; 2222 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T70982[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 2223 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@22

; 2224 : 	{
; 2225 : 		effectid = Commands->Get_ID(effect);

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

; 2226 : 		lastframe = false;
; 2227 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+28], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@22:
	pop	edi
	pop	esi
	pop	ebp

; 2228 : 	}
; 2229 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon::Custom, COMDAT
; _this$ = ecx

; 2232 : {

	push	esi

; 2233 : 	int msg;
; 2234 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2235 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@15

; 2236 : 	{
; 2237 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 2238 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$LN1@Custom@15:
	pop	esi

; 2239 : 	}
; 2240 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -40					; size = 4
_pos2$ = -36						; size = 12
_pos$ = -24						; size = 12
$T70990 = -12						; size = 12
$T70989 = -12						; size = 12
_range$ = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$ = 12						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon::Enemy_Seen, COMDAT
; _this$ = ecx

; 2243 : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 2245 : 	if (o)

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

; 2246 : 	{
; 2247 : 		seen = o;

	mov	ebx, eax
$LN3@Enemy_Seen@15:

; 2248 : 	}
; 2249 : 	float minrange;
; 2250 : 	float maxrange;
; 2251 : 	float range;
; 2252 : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+48]

; 2253 : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+52]

; 2254 : 	Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2255 : 	pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T70989[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 2256 : 	pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T70990[esp+60]
	mov	DWORD PTR _pos$[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$[esp+76], eax

; 2257 : 	range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+72]

; 2258 : 	pos.Z = 0;

	fldz

; 2259 : 	pos2.Z = 0;
; 2260 : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$[esp+76]
	fst	DWORD PTR _pos$[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN1@Enemy_Seen@15
	fld	DWORD PTR _maxrange$[esp+52]
	fcomp	DWORD PTR _range$[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN1@Enemy_Seen@15

; 2261 : 	{
; 2262 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 2263 : 		Commands->Enable_Enemy_Seen(obj,false);

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

; 2264 : 		attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 2265 : 		if (!lastframe)

	cmp	BYTE PTR [esi+37], 0
	mov	DWORD PTR [esi+32], eax
	jne	$LN1@Enemy_Seen@15

; 2266 : 		{
; 2267 : 			lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 2268 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 2269 : 			Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	edx, DWORD PTR _pos2$[esp+56]
	push	edx
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax

; 2270 : 			Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	mov	ecx, DWORD PTR [ebx]
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
$LN1@Enemy_Seen@15:
	pop	edi
	pop	esi
	pop	ebx

; 2271 : 		}
; 2272 : 	}
; 2273 : }

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

; 2276 : {

	push	esi

; 2277 : 	enemyseen = true;
; 2278 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 2280 : }

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

; 2283 : {

	push	esi

; 2284 : 	enemyseen = true;
; 2285 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 2287 : }

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

; 2290 : {

	push	esi

; 2291 : 	enemyseen = true;
; 2292 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 2294 : }

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

; 2297 : {

	push	esi

; 2298 : 	enemyseen = true;
; 2299 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 2301 : }

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

; 2304 : {

	push	esi

; 2305 : 	enemyseen = true;
; 2306 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 2308 : }

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

; 2311 : {

	push	esi

; 2312 : 	enemyseen = true;
; 2313 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 2315 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$59455 = -244					; size = 4
_pos2$59458 = -240					; size = 12
_pos$59457 = -228					; size = 12
_range$59456 = -216					; size = 4
_minrange$59454 = -212					; size = 4
$T71013 = -208						; size = 12
$T71012 = -208						; size = 12
_params$59463 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon::Timer_Expired, COMDAT
; _this$ = ecx

; 2318 : {

	sub	esp, 244				; 000000f4H

; 2319 : 	if (number == 1)

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

; 2320 : 	{
; 2321 : 		float minrange;
; 2322 : 		float maxrange;
; 2323 : 		float range;
; 2324 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59454[esp+256]

; 2325 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59455[esp+256]

; 2326 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59457[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$59458[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2327 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71012[esp+256]
	push	ebp
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59457[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 2328 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR _pos$59457[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$59457[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71013[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59458[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59458[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59458[esp+284], edx

; 2329 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$59458[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$59457[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$59456[esp+284]

; 2330 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 2331 : 		pos2.Z = 0;
; 2332 : 		if (lastframe)

	cmp	BYTE PTR [esi+37], 0
	fst	DWORD PTR _pos$59457[esp+264]
	fst	DWORD PTR _pos2$59458[esp+264]
	je	SHORT $LN14@Timer_Expi@30

; 2333 : 		{
; 2334 : 			lastframe = false;
; 2335 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+37], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN2@Timer_Expi@30
$LN14@Timer_Expi@30:
	fstp	ST(0)
$LN2@Timer_Expi@30:

; 2336 : 		}
; 2337 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59458[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59457[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59454[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@30
	fld	DWORD PTR _maxrange$59455[esp+256]
	fcomp	DWORD PTR _range$59456[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@30

; 2338 : 		{
; 2339 : 			ActionParamsStruct params;

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

; 2340 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 2341 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$59463[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$59463[esp+260], eax
	mov	DWORD PTR _params$59463[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$59455[esp+260]

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$59463[esp+336]
	fldz
	lea	ecx, DWORD PTR _params$59463[esp+260]
	push	ecx
	fstp	DWORD PTR _params$59463[esp+344]
	mov	DWORD PTR _params$59463[esp+352], eax
	mov	BYTE PTR _params$59463[esp+356], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebp
	call	eax
	add	esp, 12					; 0000000cH
$LN12@Timer_Expi@30:
	pop	edi
	pop	ebp
$LN1@Timer_Expi@30:
	pop	esi

; 2343 : 		}
; 2344 : 	}
; 2345 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DD@IPPNIDEF@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Created
;	COMDAT ??_C@_0DD@IPPNIDEF@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DD@IPPNIDEF@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_No_Aircraft', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
CONST	SEGMENT
??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ DB '%'
	DB	's,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71036 = -1012						; size = 12
$T71035 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Created, COMDAT
; _this$ = ecx

; 2348 : {

	sub	esp, 1036				; 0000040cH

; 2349 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2350 : 	GameObject *object;
; 2351 : 	const char *weapon;
; 2352 : 	char params[1000];
; 2353 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71035[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 2354 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71036[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2355 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 2356 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 2357 : 	v.Z += v2.Z;
; 2358 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2359 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 2360 : 	if (object)

	test	edi, edi
	je	$LN1@Created@23

; 2361 : 	{
; 2362 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 2363 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 2364 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1116]
	push	OFFSET ??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 2365 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1124]
	push	eax
	push	OFFSET ??_C@_0DD@IPPNIDEF@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	edx
	add	esp, 88					; 00000058H
$LN1@Created@23:
	pop	edi
	pop	esi
	pop	ebx

; 2366 : 	}
; 2367 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Killed, COMDAT
; _this$ = ecx

; 2370 : {

	push	esi
	mov	esi, ecx

; 2371 : 	GameObject *object;
; 2372 : 	object = Commands->Find_Object(weaponid);

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

; 2373 : 	int x;
; 2374 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2375 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@16

; 2376 : 	{
; 2377 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@16:
	pop	edi
	pop	esi

; 2378 : 	}
; 2379 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 2382 : {

	push	ebp
	push	edi

; 2383 : 	float health;
; 2384 : 	bool power;
; 2385 : 	GameObject *object;
; 2386 : 	int x;
; 2387 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2388 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@31

; 2389 : 	{
; 2390 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 2391 : 		power = Commands->Get_Building_Power(obj);

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

; 2392 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2393 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@31

; 2394 : 		{
; 2395 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@31
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@31
$LN1@Timer_Expi@31:

; 2396 : 			{
; 2397 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@31
$LN10@Timer_Expi@31:
	fstp	ST(0)
$LN2@Timer_Expi@31:

; 2398 : 			}
; 2399 : 		}
; 2400 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 2401 : 	}
; 2402 : }

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

; 2406 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 2407 : }

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

; 2410 : {

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

; 2411 : 	int visible;
; 2412 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 2414 : 	Commands->Innate_Enable(obj);

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

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

; 2416 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 2417 : 	attackid = 0;

	mov	DWORD PTR [esi+32], 0

; 2418 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71053[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 2419 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@24

; 2420 : 	{
; 2421 : 		effectid = Commands->Get_ID(effect);

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

; 2422 : 		lastframe = false;
; 2423 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+28], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@24:
	pop	edi
	pop	esi
	pop	ebp

; 2424 : 	}
; 2425 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Custom, COMDAT
; _this$ = ecx

; 2428 : {

	push	esi

; 2429 : 	int msg;
; 2430 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2431 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@16

; 2432 : 	{
; 2433 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 2434 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$LN1@Custom@16:
	pop	esi

; 2435 : 	}
; 2436 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$59528 = -40					; size = 4
_pos2$59531 = -36					; size = 12
_pos$59530 = -24					; size = 12
$T71061 = -12						; size = 12
$T71060 = -12						; size = 12
_range$59529 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$59527 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Enemy_Seen, COMDAT
; _this$ = ecx

; 2439 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

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

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

; 2441 : 	if (o)

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

; 2442 : 	{
; 2443 : 		seen = o;

	mov	edi, eax
$LN4@Enemy_Seen@16:

; 2444 : 	}
; 2445 : 	if ((_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@16
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@16
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@16
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@16
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@16
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@16
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@16
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@16
	push	ebx

; 2446 : 	{
; 2447 : 		float minrange;
; 2448 : 		float maxrange;
; 2449 : 		float range;
; 2450 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59527[esp+48]

; 2451 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59528[esp+52]

; 2452 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59530[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$59531[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2453 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T71060[esp+52]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59530[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$59530[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 2454 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71061[esp+60]
	mov	DWORD PTR _pos$59530[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59531[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59531[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59531[esp+76], eax

; 2455 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$59531[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$59530[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$59529[esp+72]

; 2456 : 		pos.Z = 0;

	fldz

; 2457 : 		pos2.Z = 0;
; 2458 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59531[esp+76]
	fst	DWORD PTR _pos$59530[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$59531[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59530[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59527[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@16
	fld	DWORD PTR _maxrange$59528[esp+52]
	fcomp	DWORD PTR _range$59529[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@16

; 2459 : 		{
; 2460 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 2461 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 2462 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	edi
	call	eax
	add	esp, 12					; 0000000cH

; 2463 : 			if (!lastframe)

	cmp	BYTE PTR [esi+37], 0
	mov	DWORD PTR [esi+32], eax
	jne	$LN7@Enemy_Seen@16

; 2464 : 			{
; 2465 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 2466 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx

; 2467 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	ebx
	lea	edx, DWORD PTR _pos2$59531[esp+56]
	push	edx
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	edi, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 2468 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	mov	ecx, DWORD PTR [edi]
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	ecx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@16:
	pop	ebx
$LN1@Enemy_Seen@16:
	pop	edi
	pop	esi

; 2469 : 			}
; 2470 : 		}
; 2471 : 	}
; 2472 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$59543 = -244					; size = 4
_pos2$59546 = -240					; size = 12
_pos$59545 = -228					; size = 12
_range$59544 = -216					; size = 4
_minrange$59542 = -212					; size = 4
$T71067 = -208						; size = 12
$T71066 = -208						; size = 12
_params$59551 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 2475 : {

	sub	esp, 244				; 000000f4H

; 2476 : 	if (number == 1)

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

; 2477 : 	{
; 2478 : 		float minrange;
; 2479 : 		float maxrange;
; 2480 : 		float range;
; 2481 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59542[esp+256]

; 2482 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59543[esp+256]

; 2483 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59545[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$59546[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2484 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71066[esp+256]
	push	ebp
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59545[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 2485 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR _pos$59545[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$59545[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71067[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59546[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59546[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59546[esp+284], edx

; 2486 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$59546[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$59545[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$59544[esp+284]

; 2487 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 2488 : 		pos2.Z = 0;
; 2489 : 		if (lastframe)

	cmp	BYTE PTR [esi+37], 0
	fst	DWORD PTR _pos$59545[esp+264]
	fst	DWORD PTR _pos2$59546[esp+264]
	je	SHORT $LN14@Timer_Expi@32

; 2490 : 		{
; 2491 : 			lastframe = false;
; 2492 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+37], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN2@Timer_Expi@32
$LN14@Timer_Expi@32:
	fstp	ST(0)
$LN2@Timer_Expi@32:

; 2493 : 		}
; 2494 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59546[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59545[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59542[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@32
	fld	DWORD PTR _maxrange$59543[esp+256]
	fcomp	DWORD PTR _range$59544[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@32

; 2495 : 		{
; 2496 : 			ActionParamsStruct params;

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

; 2497 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 2498 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$59551[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$59551[esp+260], eax
	mov	DWORD PTR _params$59551[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$59543[esp+260]

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$59551[esp+336]
	fldz
	lea	ecx, DWORD PTR _params$59551[esp+260]
	push	ecx
	fstp	DWORD PTR _params$59551[esp+344]
	mov	DWORD PTR _params$59551[esp+352], eax
	mov	BYTE PTR _params$59551[esp+356], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebp
	call	eax
	add	esp, 12					; 0000000cH
$LN12@Timer_Expi@32:
	pop	edi
	pop	ebp
$LN1@Timer_Expi@32:
	pop	esi

; 2500 : 		}
; 2501 : 	}
; 2502 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DF@EEKGDCFB@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Created
;	COMDAT ??_C@_0DF@EEKGDCFB@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DF@EEKGDCFB@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_Aircraft_Only', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71090 = -1012						; size = 12
$T71089 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Created, COMDAT
; _this$ = ecx

; 2505 : {

	sub	esp, 1036				; 0000040cH

; 2506 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2507 : 	GameObject *object;
; 2508 : 	const char *weapon;
; 2509 : 	char params[1000];
; 2510 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71089[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 2511 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71090[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2512 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 2513 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 2514 : 	v.Z += v2.Z;
; 2515 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2516 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 2517 : 	if (object)

	test	edi, edi
	je	$LN1@Created@25

; 2518 : 	{
; 2519 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 2520 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 2521 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1116]
	push	OFFSET ??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 2522 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1124]
	push	eax
	push	OFFSET ??_C@_0DF@EEKGDCFB@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	edx
	add	esp, 88					; 00000058H
$LN1@Created@25:
	pop	edi
	pop	esi
	pop	ebx

; 2523 : 	}
; 2524 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Killed, COMDAT
; _this$ = ecx

; 2527 : {

	push	esi
	mov	esi, ecx

; 2528 : 	GameObject *object;
; 2529 : 	object = Commands->Find_Object(weaponid);

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

; 2530 : 	int x;
; 2531 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2532 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@17

; 2533 : 	{
; 2534 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@17:
	pop	edi
	pop	esi

; 2535 : 	}
; 2536 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 2539 : {

	push	ebp
	push	edi

; 2540 : 	float health;
; 2541 : 	bool power;
; 2542 : 	GameObject *object;
; 2543 : 	int x;
; 2544 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2545 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@33

; 2546 : 	{
; 2547 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 2548 : 		power = Commands->Get_Building_Power(obj);

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

; 2549 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2550 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@33

; 2551 : 		{
; 2552 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@33
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@33
$LN1@Timer_Expi@33:

; 2553 : 			{
; 2554 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@33
$LN10@Timer_Expi@33:
	fstp	ST(0)
$LN2@Timer_Expi@33:

; 2555 : 			}
; 2556 : 		}
; 2557 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 2558 : 	}
; 2559 : }

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

; 2563 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 2564 : }

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

; 2567 : {

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

; 2568 : 	int visible;
; 2569 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 2571 : 	Commands->Innate_Enable(obj);

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

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

; 2573 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 2574 : 	enemyseen = true;

	mov	BYTE PTR [esi+36], 1

; 2575 : 	attackid = 0;

	mov	DWORD PTR [esi+32], 0

; 2576 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71107[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 2577 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@26

; 2578 : 	{
; 2579 : 		effectid = Commands->Get_ID(effect);

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

; 2580 : 		lastframe = false;
; 2581 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+28], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@26:
	pop	edi
	pop	esi
	pop	ebp

; 2582 : 	}
; 2583 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Custom, COMDAT
; _this$ = ecx

; 2586 : {

	push	esi

; 2587 : 	int msg;
; 2588 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2589 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@17

; 2590 : 	{
; 2591 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 2592 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$LN1@Custom@17:
	pop	esi

; 2593 : 	}
; 2594 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$59616 = -40					; size = 4
_pos2$59619 = -36					; size = 12
_pos$59618 = -24					; size = 12
$T71115 = -12						; size = 12
$T71114 = -12						; size = 12
_range$59617 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$59615 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 2597 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

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

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

; 2599 : 	if (o)

	test	eax, eax
	je	SHORT $LN5@Enemy_Seen@17

; 2600 : 	{
; 2601 : 		seen = o;

	mov	edi, eax
$LN5@Enemy_Seen@17:

; 2602 : 	}
; 2603 : 	if ((!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@17
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@17
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@17
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@17
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@17
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@17
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@17
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	jne	$LN1@Enemy_Seen@17
$LN3@Enemy_Seen@17:
	push	ebx

; 2604 : 	{
; 2605 : 		float minrange;
; 2606 : 		float maxrange;
; 2607 : 		float range;
; 2608 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59615[esp+48]

; 2609 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59616[esp+52]

; 2610 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59618[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$59619[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2611 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T71114[esp+52]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59618[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$59618[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 2612 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71115[esp+60]
	mov	DWORD PTR _pos$59618[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59619[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59619[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59619[esp+76], eax

; 2613 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$59619[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$59618[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$59617[esp+72]

; 2614 : 		pos.Z = 0;

	fldz

; 2615 : 		pos2.Z = 0;
; 2616 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59619[esp+76]
	fst	DWORD PTR _pos$59618[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$59619[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59618[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59615[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN8@Enemy_Seen@17
	fld	DWORD PTR _maxrange$59616[esp+52]
	fcomp	DWORD PTR _range$59617[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN8@Enemy_Seen@17

; 2617 : 		{
; 2618 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 2619 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 2620 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	edi
	call	eax
	add	esp, 12					; 0000000cH

; 2621 : 			if (!lastframe)

	cmp	BYTE PTR [esi+37], 0
	mov	DWORD PTR [esi+32], eax
	jne	$LN8@Enemy_Seen@17

; 2622 : 			{
; 2623 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 2624 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx

; 2625 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	ebx
	lea	edx, DWORD PTR _pos2$59619[esp+56]
	push	edx
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	edi, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 2626 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	mov	ecx, DWORD PTR [edi]
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	ecx
	add	esp, 16					; 00000010H
$LN8@Enemy_Seen@17:
	pop	ebx
$LN1@Enemy_Seen@17:
	pop	edi
	pop	esi

; 2627 : 			}
; 2628 : 		}
; 2629 : 	}
; 2630 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$59631 = -244					; size = 4
_pos2$59634 = -240					; size = 12
_pos$59633 = -228					; size = 12
_range$59632 = -216					; size = 4
_minrange$59630 = -212					; size = 4
$T71121 = -208						; size = 12
$T71120 = -208						; size = 12
_params$59639 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 2633 : {

	sub	esp, 244				; 000000f4H

; 2634 : 	if (number == 1)

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

; 2635 : 	{
; 2636 : 		float minrange;
; 2637 : 		float maxrange;
; 2638 : 		float range;
; 2639 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59630[esp+256]

; 2640 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59631[esp+256]

; 2641 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59633[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$59634[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2642 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71120[esp+256]
	push	ebp
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59633[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 2643 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR _pos$59633[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$59633[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71121[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59634[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59634[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59634[esp+284], edx

; 2644 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$59634[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$59633[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$59632[esp+284]

; 2645 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 2646 : 		pos2.Z = 0;
; 2647 : 		if (lastframe)

	cmp	BYTE PTR [esi+37], 0
	fst	DWORD PTR _pos$59633[esp+264]
	fst	DWORD PTR _pos2$59634[esp+264]
	je	SHORT $LN14@Timer_Expi@34

; 2648 : 		{
; 2649 : 			lastframe = false;
; 2650 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+37], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN2@Timer_Expi@34
$LN14@Timer_Expi@34:
	fstp	ST(0)
$LN2@Timer_Expi@34:

; 2651 : 		}
; 2652 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59634[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59633[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59630[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@34
	fld	DWORD PTR _maxrange$59631[esp+256]
	fcomp	DWORD PTR _range$59632[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@34

; 2653 : 		{
; 2654 : 			ActionParamsStruct params;

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

; 2655 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 2656 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$59639[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$59639[esp+260], eax
	mov	DWORD PTR _params$59639[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$59631[esp+260]

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$59639[esp+336]
	fldz
	lea	ecx, DWORD PTR _params$59639[esp+260]
	push	ecx
	fstp	DWORD PTR _params$59639[esp+344]
	mov	DWORD PTR _params$59639[esp+352], eax
	mov	BYTE PTR _params$59639[esp+356], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebp
	call	eax
	add	esp, 12					; 0000000cH
$LN12@Timer_Expi@34:
	pop	edi
	pop	ebp
$LN1@Timer_Expi@34:
	pop	esi

; 2658 : 		}
; 2659 : 	}
; 2660 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DB@LLGCCCCG@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Secondary::Created
;	COMDAT ??_C@_0DB@LLGCCCCG@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DB@LLGCCCCG@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_Secondary', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71144 = -1012						; size = 12
$T71143 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Sound_Secondary::Created, COMDAT
; _this$ = ecx

; 2663 : {

	sub	esp, 1036				; 0000040cH

; 2664 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2665 : 	GameObject *object;
; 2666 : 	const char *weapon;
; 2667 : 	char params[1000];
; 2668 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71143[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 2669 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71144[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2670 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 2671 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 2672 : 	v.Z += v2.Z;
; 2673 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2674 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 2675 : 	if (object)

	test	edi, edi
	je	$LN1@Created@27

; 2676 : 	{
; 2677 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 2678 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 2679 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET ??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 2680 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET ??_C@_0DB@LLGCCCCG@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	edx
	add	esp, 56					; 00000038H
$LN1@Created@27:
	pop	edi
	pop	esi
	pop	ebx

; 2681 : 	}
; 2682 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Secondary::Killed, COMDAT
; _this$ = ecx

; 2685 : {

	push	esi
	mov	esi, ecx

; 2686 : 	GameObject *object;
; 2687 : 	object = Commands->Find_Object(weaponid);

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

; 2688 : 	int x;
; 2689 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2690 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@18

; 2691 : 	{
; 2692 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@18:
	pop	edi
	pop	esi

; 2693 : 	}
; 2694 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 2697 : {

	push	ebp
	push	edi

; 2698 : 	float health;
; 2699 : 	bool power;
; 2700 : 	GameObject *object;
; 2701 : 	int x;
; 2702 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2703 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@35

; 2704 : 	{
; 2705 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 2706 : 		power = Commands->Get_Building_Power(obj);

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

; 2707 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2708 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@35

; 2709 : 		{
; 2710 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@35
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@35
$LN1@Timer_Expi@35:

; 2711 : 			{
; 2712 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@35
$LN10@Timer_Expi@35:
	fstp	ST(0)
$LN2@Timer_Expi@35:

; 2713 : 			}
; 2714 : 		}
; 2715 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 2716 : 	}
; 2717 : }

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

; 2721 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 2722 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 2725 : {

	push	esi
	mov	esi, ecx

; 2726 : 	Auto_Save_Variable(1,1,&primary);

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

; 2727 : 	Auto_Save_Variable(2,4,&effectid);

	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

; 2728 : 	Auto_Save_Variable(3,4,&attackid);

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

; 2729 : 	Auto_Save_Variable(4,1,&enemyseen);

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

; 2730 : 	Auto_Save_Variable(5,1,&lastframe);

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

; 2731 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 2734 : {

	push	esi
	mov	esi, ecx

; 2735 : 	Auto_Save_Variable(1,4,&effectid);

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

; 2736 : 	Auto_Save_Variable(2,4,&attackid);

	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

; 2737 : 	Auto_Save_Variable(3,1,&enemyseen);

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

; 2738 : 	Auto_Save_Variable(4,1,&lastframe);

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

; 2739 : }

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

; 2742 : {

	sub	esp, 12					; 0000000cH
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 2743 : 	primary = true;
; 2744 : 	int visible;
; 2745 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 2747 : 	Commands->Innate_Enable(obj);

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

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

; 2749 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 2750 : 	enemyseen = true;

	mov	BYTE PTR [esi+40], 1

; 2751 : 	attackid = 0;

	mov	DWORD PTR [esi+36], 0

; 2752 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71167[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 2753 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@28

; 2754 : 	{
; 2755 : 		effectid = Commands->Get_ID(effect);

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

; 2756 : 		lastframe = false;
; 2757 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@28:
	pop	edi
	pop	esi
	pop	ebp

; 2758 : 	}
; 2759 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Custom, COMDAT
; _this$ = ecx

; 2762 : {

	push	esi

; 2763 : 	int msg;
; 2764 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2765 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@18

; 2766 : 	{
; 2767 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 2768 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$LN1@Custom@18:
	pop	esi

; 2769 : 	}
; 2770 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -40					; size = 4
_pos2$ = -36						; size = 12
_pos$ = -24						; size = 12
$T71175 = -12						; size = 12
$T71174 = -12						; size = 12
_range$ = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$ = 12						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 2773 : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 2775 : 	if (o)

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

; 2776 : 	{
; 2777 : 		seen = o;

	mov	ebx, eax
$LN3@Enemy_Seen@18:

; 2778 : 	}
; 2779 : 	float minrange;
; 2780 : 	float maxrange;
; 2781 : 	float range;
; 2782 : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+48]

; 2783 : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+52]

; 2784 : 	Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2785 : 	pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71174[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 2786 : 	pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71175[esp+60]
	mov	DWORD PTR _pos$[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$[esp+76], eax

; 2787 : 	range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+72]

; 2788 : 	pos.Z = 0;

	fldz

; 2789 : 	pos2.Z = 0;
; 2790 : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$[esp+76]
	fst	DWORD PTR _pos$[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN1@Enemy_Seen@18
	fld	DWORD PTR _maxrange$[esp+52]
	fcomp	DWORD PTR _range$[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN1@Enemy_Seen@18

; 2791 : 	{
; 2792 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 2793 : 		Commands->Enable_Enemy_Seen(obj,false);

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

; 2794 : 		attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 2795 : 		if (!lastframe)

	cmp	BYTE PTR [esi+41], 0
	mov	DWORD PTR [esi+36], eax
	jne	$LN1@Enemy_Seen@18

; 2796 : 		{
; 2797 : 			lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 2798 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 2799 : 			Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	edx, DWORD PTR _pos2$[esp+56]
	push	edx
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax

; 2800 : 			Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	mov	ecx, DWORD PTR [ebx]
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
$LN1@Enemy_Seen@18:
	pop	edi
	pop	esi
	pop	ebx

; 2801 : 		}
; 2802 : 	}
; 2803 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$59723 = -244					; size = 4
_pos2$59726 = -240					; size = 12
_pos$59725 = -228					; size = 12
_range$59724 = -216					; size = 4
_minrange$59722 = -212					; size = 4
$T71180 = -208						; size = 12
$T71179 = -208						; size = 12
_params$59731 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 2806 : {

	sub	esp, 244				; 000000f4H

; 2807 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+240], 1
	push	esi
	mov	esi, ecx
	jne	$LN2@Timer_Expi@36
	push	ebx
	push	edi

; 2808 : 	{
; 2809 : 		float minrange;
; 2810 : 		float maxrange;
; 2811 : 		float range;
; 2812 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59722[esp+256]

; 2813 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59723[esp+256]

; 2814 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59725[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$59726[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2815 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71179[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59725[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 2816 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	DWORD PTR _pos$59725[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$59725[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71180[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59726[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59726[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59726[esp+284], edx

; 2817 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$59726[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$59725[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$59724[esp+284]

; 2818 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 2819 : 		pos2.Z = 0;
; 2820 : 		if (lastframe)

	cmp	BYTE PTR [esi+41], 0
	fst	DWORD PTR _pos$59725[esp+264]
	fst	DWORD PTR _pos2$59726[esp+264]
	je	SHORT $LN16@Timer_Expi@36

; 2821 : 		{
; 2822 : 			lastframe = false;
; 2823 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+41], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN4@Timer_Expi@36
$LN16@Timer_Expi@36:
	fstp	ST(0)
$LN4@Timer_Expi@36:

; 2824 : 		}
; 2825 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59726[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59725[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59722[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Timer_Expi@36
	fld	DWORD PTR _maxrange$59723[esp+256]
	fcomp	DWORD PTR _range$59724[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN14@Timer_Expi@36

; 2826 : 		{
; 2827 : 			ActionParamsStruct params;

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

; 2828 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 2829 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$59731[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$59731[esp+260], eax
	mov	DWORD PTR _params$59731[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$59723[esp+260]
	mov	cl, BYTE PTR [esi+28]
	fstp	DWORD PTR _params$59731[esp+336]
	fldz
	mov	DWORD PTR _params$59731[esp+348], eax

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$59731[esp+340]
	lea	edx, DWORD PTR _params$59731[esp+260]
	push	edx
	mov	BYTE PTR _params$59731[esp+356], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx
	add	esp, 12					; 0000000cH

; 2831 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	dl
	mov	BYTE PTR [esi+28], dl
$LN14@Timer_Expi@36:
	pop	edi
	pop	ebx
$LN2@Timer_Expi@36:
	pop	esi

; 2832 : 			{
; 2833 : 				primary = false;
; 2834 : 			}
; 2835 : 			else
; 2836 : 			{
; 2837 : 				primary = true;
; 2838 : 			}
; 2839 : 		}
; 2840 : 	}
; 2841 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DN@MFCOHBLI@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Created
;	COMDAT ??_C@_0DN@MFCOHBLI@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DN@MFCOHBLI@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_No_Aircraft_Secondary', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71204 = -1012						; size = 12
$T71203 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Created, COMDAT
; _this$ = ecx

; 2844 : {

	sub	esp, 1036				; 0000040cH

; 2845 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2846 : 	GameObject *object;
; 2847 : 	const char *weapon;
; 2848 : 	char params[1000];
; 2849 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71203[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 2850 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71204[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2851 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 2852 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 2853 : 	v.Z += v2.Z;
; 2854 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2855 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 2856 : 	if (object)

	test	edi, edi
	je	$LN1@Created@29

; 2857 : 	{
; 2858 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 2859 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 2860 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1116]
	push	OFFSET ??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 2861 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1124]
	push	eax
	push	OFFSET ??_C@_0DN@MFCOHBLI@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	edx
	add	esp, 88					; 00000058H
$LN1@Created@29:
	pop	edi
	pop	esi
	pop	ebx

; 2862 : 	}
; 2863 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Killed, COMDAT
; _this$ = ecx

; 2866 : {

	push	esi
	mov	esi, ecx

; 2867 : 	GameObject *object;
; 2868 : 	object = Commands->Find_Object(weaponid);

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

; 2869 : 	int x;
; 2870 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2871 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@19

; 2872 : 	{
; 2873 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@19:
	pop	edi
	pop	esi

; 2874 : 	}
; 2875 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 2878 : {

	push	ebp
	push	edi

; 2879 : 	float health;
; 2880 : 	bool power;
; 2881 : 	GameObject *object;
; 2882 : 	int x;
; 2883 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2884 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@37

; 2885 : 	{
; 2886 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 2887 : 		power = Commands->Get_Building_Power(obj);

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

; 2888 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2889 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@37

; 2890 : 		{
; 2891 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@37
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@37
$LN1@Timer_Expi@37:

; 2892 : 			{
; 2893 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@37
$LN10@Timer_Expi@37:
	fstp	ST(0)
$LN2@Timer_Expi@37:

; 2894 : 			}
; 2895 : 		}
; 2896 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 2897 : 	}
; 2898 : }

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

; 2902 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 2903 : }

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

; 2906 : {

	sub	esp, 12					; 0000000cH
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 2907 : 	primary = true;
; 2908 : 	int visible;
; 2909 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 2911 : 	Commands->Innate_Enable(obj);

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

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

; 2913 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 2914 : 	enemyseen = true;

	mov	BYTE PTR [esi+40], 1

; 2915 : 	attackid = 0;

	mov	DWORD PTR [esi+36], 0

; 2916 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71221[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 2917 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@30

; 2918 : 	{
; 2919 : 		effectid = Commands->Get_ID(effect);

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

; 2920 : 		lastframe = false;
; 2921 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@30:
	pop	edi
	pop	esi
	pop	ebp

; 2922 : 	}
; 2923 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Custom, COMDAT
; _this$ = ecx

; 2926 : {

	push	esi

; 2927 : 	int msg;
; 2928 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2929 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@19

; 2930 : 	{
; 2931 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 2932 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$LN1@Custom@19:
	pop	esi

; 2933 : 	}
; 2934 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$59797 = -40					; size = 4
_pos2$59800 = -36					; size = 12
_pos$59799 = -24					; size = 12
$T71229 = -12						; size = 12
$T71228 = -12						; size = 12
_range$59798 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$59796 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 2937 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

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

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

; 2939 : 	if (o)

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

; 2940 : 	{
; 2941 : 		seen = o;

	mov	edi, eax
$LN4@Enemy_Seen@19:

; 2942 : 	}
; 2943 : 	if ((_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@19
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@19
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@19
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@19
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@19
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@19
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@19
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN1@Enemy_Seen@19
	push	ebx

; 2944 : 	{
; 2945 : 		float minrange;
; 2946 : 		float maxrange;
; 2947 : 		float range;
; 2948 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59796[esp+48]

; 2949 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59797[esp+52]

; 2950 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59799[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$59800[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2951 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T71228[esp+52]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59799[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$59799[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 2952 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71229[esp+60]
	mov	DWORD PTR _pos$59799[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59800[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59800[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59800[esp+76], eax

; 2953 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$59800[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$59799[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$59798[esp+72]

; 2954 : 		pos.Z = 0;

	fldz

; 2955 : 		pos2.Z = 0;
; 2956 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59800[esp+76]
	fst	DWORD PTR _pos$59799[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$59800[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59799[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59796[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@19
	fld	DWORD PTR _maxrange$59797[esp+52]
	fcomp	DWORD PTR _range$59798[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@19

; 2957 : 		{
; 2958 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 2959 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 2960 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	edi
	call	eax
	add	esp, 12					; 0000000cH

; 2961 : 			if (!lastframe)

	cmp	BYTE PTR [esi+41], 0
	mov	DWORD PTR [esi+36], eax
	jne	$LN7@Enemy_Seen@19

; 2962 : 			{
; 2963 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 2964 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx

; 2965 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	ebx
	lea	edx, DWORD PTR _pos2$59800[esp+56]
	push	edx
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	edi, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 2966 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	mov	ecx, DWORD PTR [edi]
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	ecx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@19:
	pop	ebx
$LN1@Enemy_Seen@19:
	pop	edi
	pop	esi

; 2967 : 			}
; 2968 : 		}
; 2969 : 	}
; 2970 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$59812 = -244					; size = 4
_pos2$59815 = -240					; size = 12
_pos$59814 = -228					; size = 12
_range$59813 = -216					; size = 4
_minrange$59811 = -212					; size = 4
$T71235 = -208						; size = 12
$T71234 = -208						; size = 12
_params$59820 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 2973 : {

	sub	esp, 244				; 000000f4H

; 2974 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+240], 1
	push	esi
	mov	esi, ecx
	jne	$LN2@Timer_Expi@38
	push	ebx
	push	edi

; 2975 : 	{
; 2976 : 		float minrange;
; 2977 : 		float maxrange;
; 2978 : 		float range;
; 2979 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59811[esp+256]

; 2980 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59812[esp+256]

; 2981 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59814[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$59815[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 2982 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71234[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59814[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 2983 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	DWORD PTR _pos$59814[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$59814[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71235[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59815[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59815[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59815[esp+284], edx

; 2984 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$59815[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$59814[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$59813[esp+284]

; 2985 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 2986 : 		pos2.Z = 0;
; 2987 : 		if (lastframe)

	cmp	BYTE PTR [esi+41], 0
	fst	DWORD PTR _pos$59814[esp+264]
	fst	DWORD PTR _pos2$59815[esp+264]
	je	SHORT $LN16@Timer_Expi@38

; 2988 : 		{
; 2989 : 			lastframe = false;
; 2990 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+41], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN4@Timer_Expi@38
$LN16@Timer_Expi@38:
	fstp	ST(0)
$LN4@Timer_Expi@38:

; 2991 : 		}
; 2992 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59815[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59814[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59811[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Timer_Expi@38
	fld	DWORD PTR _maxrange$59812[esp+256]
	fcomp	DWORD PTR _range$59813[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN14@Timer_Expi@38

; 2993 : 		{
; 2994 : 			ActionParamsStruct params;

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

; 2995 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 2996 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$59820[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$59820[esp+260], eax
	mov	DWORD PTR _params$59820[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$59812[esp+260]
	mov	cl, BYTE PTR [esi+28]
	fstp	DWORD PTR _params$59820[esp+336]
	fldz
	mov	DWORD PTR _params$59820[esp+348], eax

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$59820[esp+340]
	lea	edx, DWORD PTR _params$59820[esp+260]
	push	edx
	mov	BYTE PTR _params$59820[esp+356], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx
	add	esp, 12					; 0000000cH

; 2998 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	dl
	mov	BYTE PTR [esi+28], dl
$LN14@Timer_Expi@38:
	pop	edi
	pop	ebx
$LN2@Timer_Expi@38:
	pop	esi

; 2999 : 			{
; 3000 : 				primary = false;
; 3001 : 			}
; 3002 : 			else
; 3003 : 			{
; 3004 : 				primary = true;
; 3005 : 			}
; 3006 : 		}
; 3007 : 	}
; 3008 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DP@HCCCKABF@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Created
;	COMDAT ??_C@_0DP@HCCCKABF@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DP@HCCCKABF@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_Aircraft_Only_Secondary', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71259 = -1012						; size = 12
$T71258 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 3011 : {

	sub	esp, 1036				; 0000040cH

; 3012 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3013 : 	GameObject *object;
; 3014 : 	const char *weapon;
; 3015 : 	char params[1000];
; 3016 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71258[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 3017 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71259[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3018 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 3019 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 3020 : 	v.Z += v2.Z;
; 3021 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3022 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 3023 : 	if (object)

	test	edi, edi
	je	$LN1@Created@31

; 3024 : 	{
; 3025 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 3026 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 3027 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1116]
	push	OFFSET ??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 3028 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1124]
	push	eax
	push	OFFSET ??_C@_0DP@HCCCKABF@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	edx
	add	esp, 88					; 00000058H
$LN1@Created@31:
	pop	edi
	pop	esi
	pop	ebx

; 3029 : 	}
; 3030 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 3033 : {

	push	esi
	mov	esi, ecx

; 3034 : 	GameObject *object;
; 3035 : 	object = Commands->Find_Object(weaponid);

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

; 3036 : 	int x;
; 3037 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3038 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@20

; 3039 : 	{
; 3040 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@20:
	pop	edi
	pop	esi

; 3041 : 	}
; 3042 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3045 : {

	push	ebp
	push	edi

; 3046 : 	float health;
; 3047 : 	bool power;
; 3048 : 	GameObject *object;
; 3049 : 	int x;
; 3050 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3051 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@39

; 3052 : 	{
; 3053 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 3054 : 		power = Commands->Get_Building_Power(obj);

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

; 3055 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3056 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@39

; 3057 : 		{
; 3058 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@39
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@39
$LN1@Timer_Expi@39:

; 3059 : 			{
; 3060 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@39
$LN10@Timer_Expi@39:
	fstp	ST(0)
$LN2@Timer_Expi@39:

; 3061 : 			}
; 3062 : 		}
; 3063 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 3064 : 	}
; 3065 : }

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

; 3069 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 3070 : }

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

; 3073 : {

	sub	esp, 12					; 0000000cH
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 3074 : 	primary = true;
; 3075 : 	int visible;
; 3076 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 3078 : 	Commands->Innate_Enable(obj);

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

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

; 3080 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 3081 : 	enemyseen = true;

	mov	BYTE PTR [esi+40], 1

; 3082 : 	attackid = 0;

	mov	DWORD PTR [esi+36], 0

; 3083 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71276[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 3084 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@32

; 3085 : 	{
; 3086 : 		effectid = Commands->Get_ID(effect);

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

; 3087 : 		lastframe = false;
; 3088 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@32:
	pop	edi
	pop	esi
	pop	ebp

; 3089 : 	}
; 3090 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Custom, COMDAT
; _this$ = ecx

; 3093 : {

	push	esi

; 3094 : 	int msg;
; 3095 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3096 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@20

; 3097 : 	{
; 3098 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 3099 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$LN1@Custom@20:
	pop	esi

; 3100 : 	}
; 3101 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$59887 = -40					; size = 4
_pos2$59890 = -36					; size = 12
_pos$59889 = -24					; size = 12
$T71284 = -12						; size = 12
$T71283 = -12						; size = 12
_range$59888 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$59886 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 3104 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

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

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

; 3106 : 	if (o)

	test	eax, eax
	je	SHORT $LN5@Enemy_Seen@20

; 3107 : 	{
; 3108 : 		seen = o;

	mov	edi, eax
$LN5@Enemy_Seen@20:

; 3109 : 	}
; 3110 : 	if ((!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!_stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET ??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@20
	push	OFFSET ??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@20
	push	OFFSET ??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@20
	push	OFFSET ??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	$LN3@Enemy_Seen@20
	push	OFFSET ??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@20
	push	OFFSET ??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+116]
	push	eax
	push	edi
	call	edx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@20
	push	OFFSET ??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	edi
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN3@Enemy_Seen@20
	push	OFFSET ??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+116]
	push	edi
	call	eax
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	jne	$LN1@Enemy_Seen@20
$LN3@Enemy_Seen@20:
	push	ebx

; 3111 : 	{
; 3112 : 		float minrange;
; 3113 : 		float maxrange;
; 3114 : 		float range;
; 3115 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59886[esp+48]

; 3116 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59887[esp+52]

; 3117 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59889[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$59890[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3118 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T71283[esp+52]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59889[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$59889[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 3119 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71284[esp+60]
	mov	DWORD PTR _pos$59889[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59890[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59890[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59890[esp+76], eax

; 3120 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$59890[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$59889[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$59888[esp+72]

; 3121 : 		pos.Z = 0;

	fldz

; 3122 : 		pos2.Z = 0;
; 3123 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59890[esp+76]
	fst	DWORD PTR _pos$59889[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$59890[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59889[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59886[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN8@Enemy_Seen@20
	fld	DWORD PTR _maxrange$59887[esp+52]
	fcomp	DWORD PTR _range$59888[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN8@Enemy_Seen@20

; 3124 : 		{
; 3125 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 3126 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 3127 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	edi
	call	eax
	add	esp, 12					; 0000000cH

; 3128 : 			if (!lastframe)

	cmp	BYTE PTR [esi+41], 0
	mov	DWORD PTR [esi+36], eax
	jne	$LN8@Enemy_Seen@20

; 3129 : 			{
; 3130 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 3131 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx

; 3132 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	ebx
	lea	edx, DWORD PTR _pos2$59890[esp+56]
	push	edx
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	edi, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 3133 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	mov	ecx, DWORD PTR [edi]
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	ecx
	add	esp, 16					; 00000010H
$LN8@Enemy_Seen@20:
	pop	ebx
$LN1@Enemy_Seen@20:
	pop	edi
	pop	esi

; 3134 : 			}
; 3135 : 		}
; 3136 : 	}
; 3137 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$59902 = -244					; size = 4
_pos2$59905 = -240					; size = 12
_pos$59904 = -228					; size = 12
_range$59903 = -216					; size = 4
_minrange$59901 = -212					; size = 4
$T71290 = -208						; size = 12
$T71289 = -208						; size = 12
_params$59910 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3140 : {

	sub	esp, 244				; 000000f4H

; 3141 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+240], 1
	push	esi
	mov	esi, ecx
	jne	$LN2@Timer_Expi@40
	push	ebx
	push	edi

; 3142 : 	{
; 3143 : 		float minrange;
; 3144 : 		float maxrange;
; 3145 : 		float range;
; 3146 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$59901[esp+256]

; 3147 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$59902[esp+256]

; 3148 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$59904[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$59905[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3149 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71289[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$59904[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 3150 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	DWORD PTR _pos$59904[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$59904[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71290[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$59905[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$59905[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$59905[esp+284], edx

; 3151 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$59905[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$59904[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$59903[esp+284]

; 3152 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 3153 : 		pos2.Z = 0;
; 3154 : 		if (lastframe)

	cmp	BYTE PTR [esi+41], 0
	fst	DWORD PTR _pos$59904[esp+264]
	fst	DWORD PTR _pos2$59905[esp+264]
	je	SHORT $LN16@Timer_Expi@40

; 3155 : 		{
; 3156 : 			lastframe = false;
; 3157 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+41], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN4@Timer_Expi@40
$LN16@Timer_Expi@40:
	fstp	ST(0)
$LN4@Timer_Expi@40:

; 3158 : 		}
; 3159 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$59905[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$59904[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$59901[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Timer_Expi@40
	fld	DWORD PTR _maxrange$59902[esp+256]
	fcomp	DWORD PTR _range$59903[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN14@Timer_Expi@40

; 3160 : 		{
; 3161 : 			ActionParamsStruct params;

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

; 3162 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 3163 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$59910[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$59910[esp+260], eax
	mov	DWORD PTR _params$59910[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$59902[esp+260]
	mov	cl, BYTE PTR [esi+28]
	fstp	DWORD PTR _params$59910[esp+336]
	fldz
	mov	DWORD PTR _params$59910[esp+348], eax

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$59910[esp+340]
	lea	edx, DWORD PTR _params$59910[esp+260]
	push	edx
	mov	BYTE PTR _params$59910[esp+356], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx
	add	esp, 12					; 0000000cH

; 3165 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	dl
	mov	BYTE PTR [esi+28], dl
$LN14@Timer_Expi@40:
	pop	edi
	pop	ebx
$LN2@Timer_Expi@40:
	pop	esi

; 3166 : 			{
; 3167 : 				primary = false;
; 3168 : 			}
; 3169 : 			else
; 3170 : 			{
; 3171 : 				primary = true;
; 3172 : 			}
; 3173 : 		}
; 3174 : 	}
; 3175 : }

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

; 3178 : {

	push	esi
	mov	esi, ecx

; 3179 : 	Auto_Save_Variable(1,4,&effectid);

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

; 3180 : 	Auto_Save_Variable(2,4,&attackid);

	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

; 3181 : 	Auto_Save_Variable(3,1,&enemyseen);

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

; 3182 : 	Auto_Save_Variable(4,1,&lastframe);

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

; 3183 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3186 : {

	push	esi
	mov	esi, ecx

; 3187 : 	Auto_Save_Variable(1,4,&effectid);

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

; 3188 : 	Auto_Save_Variable(2,4,&attackid);

	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

; 3189 : 	Auto_Save_Variable(3,1,&enemyseen);

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

; 3190 : 	Auto_Save_Variable(4,1,&lastframe);

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

; 3191 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3194 : {

	push	esi
	mov	esi, ecx

; 3195 : 	Auto_Save_Variable(1,1,&primary);

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

; 3196 : 	Auto_Save_Variable(2,4,&effectid);

	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

; 3197 : 	Auto_Save_Variable(3,4,&attackid);

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

; 3198 : 	Auto_Save_Variable(4,1,&enemyseen);

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

; 3199 : 	Auto_Save_Variable(5,1,&lastframe);

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

; 3200 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3203 : {

	push	esi
	mov	esi, ecx

; 3204 : 	Auto_Save_Variable(1,1,&primary);

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

; 3205 : 	Auto_Save_Variable(2,4,&effectid);

	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

; 3206 : 	Auto_Save_Variable(3,4,&attackid);

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

; 3207 : 	Auto_Save_Variable(4,1,&enemyseen);

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

; 3208 : 	Auto_Save_Variable(5,1,&lastframe);

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

; 3209 : }

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

; 3212 : {

	push	esi

; 3213 : 	enemyseen = true;
; 3214 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 3216 : }

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

; 3219 : {

	push	esi

; 3220 : 	enemyseen = true;
; 3221 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 3223 : }

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

; 3226 : {

	push	esi

; 3227 : 	enemyseen = true;
; 3228 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 3230 : }

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

; 3233 : {

	push	esi

; 3234 : 	enemyseen = true;
; 3235 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 3237 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	??_C@_0CP@MKAPNGEE@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL::Created
;	COMDAT ??_C@_0CP@MKAPNGEE@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0CP@MKAPNGEE@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_No_VTOL', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71338 = -1012						; size = 12
$T71337 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Sound_No_VTOL::Created, COMDAT
; _this$ = ecx

; 3240 : {

	sub	esp, 1036				; 0000040cH

; 3241 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3242 : 	GameObject *object;
; 3243 : 	const char *weapon;
; 3244 : 	char params[1000];
; 3245 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71337[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 3246 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71338[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3247 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 3248 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 3249 : 	v.Z += v2.Z;
; 3250 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3251 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 3252 : 	if (object)

	test	edi, edi
	je	$LN1@Created@33

; 3253 : 	{
; 3254 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 3255 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 3256 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET ??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 3257 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET ??_C@_0CP@MKAPNGEE@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	edx
	add	esp, 56					; 00000038H
$LN1@Created@33:
	pop	edi
	pop	esi
	pop	ebx

; 3258 : 	}
; 3259 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_No_VTOL::Killed, COMDAT
; _this$ = ecx

; 3262 : {

	push	esi
	mov	esi, ecx

; 3263 : 	GameObject *object;
; 3264 : 	object = Commands->Find_Object(weaponid);

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

; 3265 : 	int x;
; 3266 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3267 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@21

; 3268 : 	{
; 3269 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@21:
	pop	edi
	pop	esi

; 3270 : 	}
; 3271 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 3274 : {

	push	ebp
	push	edi

; 3275 : 	float health;
; 3276 : 	bool power;
; 3277 : 	GameObject *object;
; 3278 : 	int x;
; 3279 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3280 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@41

; 3281 : 	{
; 3282 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 3283 : 		power = Commands->Get_Building_Power(obj);

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

; 3284 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3285 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@41

; 3286 : 		{
; 3287 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@41
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@41
$LN1@Timer_Expi@41:

; 3288 : 			{
; 3289 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@41
$LN10@Timer_Expi@41:
	fstp	ST(0)
$LN2@Timer_Expi@41:

; 3290 : 			}
; 3291 : 		}
; 3292 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 3293 : 	}
; 3294 : }

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

; 3298 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 3299 : }

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

; 3302 : {

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

; 3303 : 	int visible;
; 3304 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 3306 : 	Commands->Innate_Enable(obj);

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

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

; 3308 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 3309 : 	attackid = 0;

	mov	DWORD PTR [esi+32], 0

; 3310 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71355[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 3311 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@34

; 3312 : 	{
; 3313 : 		effectid = Commands->Get_ID(effect);

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

; 3314 : 		lastframe = false;
; 3315 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+28], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@34:
	pop	edi
	pop	esi
	pop	ebp

; 3316 : 	}
; 3317 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Custom, COMDAT
; _this$ = ecx

; 3320 : {

	push	esi

; 3321 : 	int msg;
; 3322 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3323 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@21

; 3324 : 	{
; 3325 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 3326 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$LN1@Custom@21:
	pop	esi

; 3327 : 	}
; 3328 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$60012 = -40					; size = 4
_pos2$60015 = -36					; size = 12
_pos$60014 = -24					; size = 12
$T71363 = -12						; size = 12
$T71362 = -12						; size = 12
_range$60013 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$60011 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Enemy_Seen, COMDAT
; _this$ = ecx

; 3331 : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 3333 : 	if (o)

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

; 3334 : 	{
; 3335 : 		seen = o;

	mov	ebx, eax
$LN4@Enemy_Seen@21:

; 3336 : 	}
; 3337 : 	if (Get_Vehicle_Mode(seen) != FLYING)

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

; 3338 : 	{
; 3339 : 		float minrange;
; 3340 : 		float maxrange;
; 3341 : 		float range;
; 3342 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60011[esp+48]

; 3343 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60012[esp+52]

; 3344 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60014[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$60015[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3345 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71362[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60014[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$60014[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 3346 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71363[esp+60]
	mov	DWORD PTR _pos$60014[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60015[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60015[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60015[esp+76], eax

; 3347 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$60015[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$60014[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$60013[esp+72]

; 3348 : 		pos.Z = 0;

	fldz

; 3349 : 		pos2.Z = 0;
; 3350 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60015[esp+76]
	fst	DWORD PTR _pos$60014[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$60015[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60014[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60011[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@21
	fld	DWORD PTR _maxrange$60012[esp+52]
	fcomp	DWORD PTR _range$60013[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@21

; 3351 : 		{
; 3352 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 3353 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 3354 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 3355 : 			if (!lastframe)

	cmp	BYTE PTR [esi+37], 0
	mov	DWORD PTR [esi+32], eax
	jne	$LN7@Enemy_Seen@21

; 3356 : 			{
; 3357 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 3358 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 3359 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	edx, DWORD PTR _pos2$60015[esp+56]
	push	edx
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax

; 3360 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	mov	ecx, DWORD PTR [ebx]
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@21:
	pop	edi
$LN1@Enemy_Seen@21:
	pop	esi
	pop	ebx

; 3361 : 			}
; 3362 : 		}
; 3363 : 	}
; 3364 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$60027 = -244					; size = 4
_pos2$60030 = -240					; size = 12
_pos$60029 = -228					; size = 12
_range$60028 = -216					; size = 4
_minrange$60026 = -212					; size = 4
$T71369 = -208						; size = 12
$T71368 = -208						; size = 12
_params$60035 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 3367 : {

	sub	esp, 244				; 000000f4H

; 3368 : 	if (number == 1)

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

; 3369 : 	{
; 3370 : 		float minrange;
; 3371 : 		float maxrange;
; 3372 : 		float range;
; 3373 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60026[esp+256]

; 3374 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60027[esp+256]

; 3375 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60029[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$60030[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3376 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71368[esp+256]
	push	ebp
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60029[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 3377 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR _pos$60029[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$60029[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71369[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60030[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60030[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60030[esp+284], edx

; 3378 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$60030[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$60029[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$60028[esp+284]

; 3379 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 3380 : 		pos2.Z = 0;
; 3381 : 		if (lastframe)

	cmp	BYTE PTR [esi+37], 0
	fst	DWORD PTR _pos$60029[esp+264]
	fst	DWORD PTR _pos2$60030[esp+264]
	je	SHORT $LN14@Timer_Expi@42

; 3382 : 		{
; 3383 : 			lastframe = false;
; 3384 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+37], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN2@Timer_Expi@42
$LN14@Timer_Expi@42:
	fstp	ST(0)
$LN2@Timer_Expi@42:

; 3385 : 		}
; 3386 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60030[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60029[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60026[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@42
	fld	DWORD PTR _maxrange$60027[esp+256]
	fcomp	DWORD PTR _range$60028[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@42

; 3387 : 		{
; 3388 : 			ActionParamsStruct params;

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

; 3389 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 3390 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$60035[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$60035[esp+260], eax
	mov	DWORD PTR _params$60035[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$60027[esp+260]

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$60035[esp+336]
	fldz
	lea	ecx, DWORD PTR _params$60035[esp+260]
	push	ecx
	fstp	DWORD PTR _params$60035[esp+344]
	mov	DWORD PTR _params$60035[esp+352], eax
	mov	BYTE PTR _params$60035[esp+356], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebp
	call	eax
	add	esp, 12					; 0000000cH
$LN12@Timer_Expi@42:
	pop	edi
	pop	ebp
$LN1@Timer_Expi@42:
	pop	esi

; 3392 : 		}
; 3393 : 	}
; 3394 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DB@DGBDNNK@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Created
;	COMDAT ??_C@_0DB@DGBDNNK@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DB@DGBDNNK@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun_'
	DB	'Animated_Sound_Weapon_VTOL_Only', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71392 = -1012						; size = 12
$T71391 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Created, COMDAT
; _this$ = ecx

; 3397 : {

	sub	esp, 1036				; 0000040cH

; 3398 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3399 : 	GameObject *object;
; 3400 : 	const char *weapon;
; 3401 : 	char params[1000];
; 3402 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71391[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 3403 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71392[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3404 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 3405 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 3406 : 	v.Z += v2.Z;
; 3407 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3408 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 3409 : 	if (object)

	test	edi, edi
	je	$LN1@Created@35

; 3410 : 	{
; 3411 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 3412 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 3413 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET ??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 3414 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET ??_C@_0DB@DGBDNNK@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	edx
	add	esp, 56					; 00000038H
$LN1@Created@35:
	pop	edi
	pop	esi
	pop	ebx

; 3415 : 	}
; 3416 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Killed, COMDAT
; _this$ = ecx

; 3419 : {

	push	esi
	mov	esi, ecx

; 3420 : 	GameObject *object;
; 3421 : 	object = Commands->Find_Object(weaponid);

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

; 3422 : 	int x;
; 3423 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3424 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@22

; 3425 : 	{
; 3426 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@22:
	pop	edi
	pop	esi

; 3427 : 	}
; 3428 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 3431 : {

	push	ebp
	push	edi

; 3432 : 	float health;
; 3433 : 	bool power;
; 3434 : 	GameObject *object;
; 3435 : 	int x;
; 3436 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3437 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@43

; 3438 : 	{
; 3439 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 3440 : 		power = Commands->Get_Building_Power(obj);

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

; 3441 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3442 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@43

; 3443 : 		{
; 3444 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@43
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@43
$LN1@Timer_Expi@43:

; 3445 : 			{
; 3446 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@43
$LN10@Timer_Expi@43:
	fstp	ST(0)
$LN2@Timer_Expi@43:

; 3447 : 			}
; 3448 : 		}
; 3449 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 3450 : 	}
; 3451 : }

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

; 3455 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 3456 : }

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

; 3459 : {

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

; 3460 : 	int visible;
; 3461 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 3463 : 	Commands->Innate_Enable(obj);

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

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

; 3465 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 3466 : 	enemyseen = true;

	mov	BYTE PTR [esi+36], 1

; 3467 : 	attackid = 0;

	mov	DWORD PTR [esi+32], 0

; 3468 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71409[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 3469 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@36

; 3470 : 	{
; 3471 : 		effectid = Commands->Get_ID(effect);

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

; 3472 : 		lastframe = false;
; 3473 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+28], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@36:
	pop	edi
	pop	esi
	pop	ebp

; 3474 : 	}
; 3475 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Custom, COMDAT
; _this$ = ecx

; 3478 : {

	push	esi

; 3479 : 	int msg;
; 3480 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3481 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@22

; 3482 : 	{
; 3483 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 3484 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$LN1@Custom@22:
	pop	esi

; 3485 : 	}
; 3486 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$60099 = -40					; size = 4
_pos2$60102 = -36					; size = 12
_pos$60101 = -24					; size = 12
$T71417 = -12						; size = 12
$T71416 = -12						; size = 12
_range$60100 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$60098 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 3489 : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 3491 : 	if (o)

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

; 3492 : 	{
; 3493 : 		seen = o;

	mov	ebx, eax
$LN4@Enemy_Seen@22:

; 3494 : 	}
; 3495 : 	if (Get_Vehicle_Mode(seen) == FLYING)

	push	ebx
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	jne	$LN1@Enemy_Seen@22
	push	edi

; 3496 : 	{
; 3497 : 		float minrange;
; 3498 : 		float maxrange;
; 3499 : 		float range;
; 3500 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60098[esp+48]

; 3501 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60099[esp+52]

; 3502 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60101[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$60102[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3503 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71416[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60101[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$60101[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 3504 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71417[esp+60]
	mov	DWORD PTR _pos$60101[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60102[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60102[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60102[esp+76], eax

; 3505 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$60102[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$60101[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$60100[esp+72]

; 3506 : 		pos.Z = 0;

	fldz

; 3507 : 		pos2.Z = 0;
; 3508 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60102[esp+76]
	fst	DWORD PTR _pos$60101[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$60102[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60101[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60098[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@22
	fld	DWORD PTR _maxrange$60099[esp+52]
	fcomp	DWORD PTR _range$60100[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@22

; 3509 : 		{
; 3510 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 3511 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 3512 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 3513 : 			if (!lastframe)

	cmp	BYTE PTR [esi+37], 0
	mov	DWORD PTR [esi+32], eax
	jne	$LN7@Enemy_Seen@22

; 3514 : 			{
; 3515 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 3516 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 3517 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	edx, DWORD PTR _pos2$60102[esp+56]
	push	edx
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax

; 3518 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	mov	ecx, DWORD PTR [ebx]
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@22:
	pop	edi
$LN1@Enemy_Seen@22:
	pop	esi
	pop	ebx

; 3519 : 			}
; 3520 : 		}
; 3521 : 	}
; 3522 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$60114 = -244					; size = 4
_pos2$60117 = -240					; size = 12
_pos$60116 = -228					; size = 12
_range$60115 = -216					; size = 4
_minrange$60113 = -212					; size = 4
$T71423 = -208						; size = 12
$T71422 = -208						; size = 12
_params$60122 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 3525 : {

	sub	esp, 244				; 000000f4H

; 3526 : 	if (number == 1)

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

; 3527 : 	{
; 3528 : 		float minrange;
; 3529 : 		float maxrange;
; 3530 : 		float range;
; 3531 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60113[esp+256]

; 3532 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60114[esp+256]

; 3533 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60116[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$60117[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3534 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71422[esp+256]
	push	ebp
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60116[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 3535 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR _pos$60116[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$60116[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71423[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60117[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60117[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60117[esp+284], edx

; 3536 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$60117[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$60116[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$60115[esp+284]

; 3537 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 3538 : 		pos2.Z = 0;
; 3539 : 		if (lastframe)

	cmp	BYTE PTR [esi+37], 0
	fst	DWORD PTR _pos$60116[esp+264]
	fst	DWORD PTR _pos2$60117[esp+264]
	je	SHORT $LN14@Timer_Expi@44

; 3540 : 		{
; 3541 : 			lastframe = false;
; 3542 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+37], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN2@Timer_Expi@44
$LN14@Timer_Expi@44:
	fstp	ST(0)
$LN2@Timer_Expi@44:

; 3543 : 		}
; 3544 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60117[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60116[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60113[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@44
	fld	DWORD PTR _maxrange$60114[esp+256]
	fcomp	DWORD PTR _range$60115[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@44

; 3545 : 		{
; 3546 : 			ActionParamsStruct params;

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

; 3547 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 3548 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$60122[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$60122[esp+260], eax
	mov	DWORD PTR _params$60122[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$60114[esp+260]

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$60122[esp+336]
	fldz
	lea	ecx, DWORD PTR _params$60122[esp+260]
	push	ecx
	fstp	DWORD PTR _params$60122[esp+344]
	mov	DWORD PTR _params$60122[esp+352], eax
	mov	BYTE PTR _params$60122[esp+356], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebp
	call	eax
	add	esp, 12					; 0000000cH
$LN12@Timer_Expi@44:
	pop	edi
	pop	ebp
$LN1@Timer_Expi@44:
	pop	esi

; 3550 : 		}
; 3551 : 	}
; 3552 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DJ@LJFEFHFG@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Created
;	COMDAT ??_C@_0DJ@LJFEFHFG@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DJ@LJFEFHFG@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_No_VTOL_Secondary', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71446 = -1012						; size = 12
$T71445 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Created, COMDAT
; _this$ = ecx

; 3555 : {

	sub	esp, 1036				; 0000040cH

; 3556 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3557 : 	GameObject *object;
; 3558 : 	const char *weapon;
; 3559 : 	char params[1000];
; 3560 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71445[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 3561 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71446[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3562 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 3563 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 3564 : 	v.Z += v2.Z;
; 3565 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3566 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 3567 : 	if (object)

	test	edi, edi
	je	$LN1@Created@37

; 3568 : 	{
; 3569 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 3570 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 3571 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET ??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 3572 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET ??_C@_0DJ@LJFEFHFG@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	edx
	add	esp, 56					; 00000038H
$LN1@Created@37:
	pop	edi
	pop	esi
	pop	ebx

; 3573 : 	}
; 3574 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Killed, COMDAT
; _this$ = ecx

; 3577 : {

	push	esi
	mov	esi, ecx

; 3578 : 	GameObject *object;
; 3579 : 	object = Commands->Find_Object(weaponid);

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

; 3580 : 	int x;
; 3581 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3582 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@23

; 3583 : 	{
; 3584 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@23:
	pop	edi
	pop	esi

; 3585 : 	}
; 3586 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3589 : {

	push	ebp
	push	edi

; 3590 : 	float health;
; 3591 : 	bool power;
; 3592 : 	GameObject *object;
; 3593 : 	int x;
; 3594 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3595 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@45

; 3596 : 	{
; 3597 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 3598 : 		power = Commands->Get_Building_Power(obj);

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

; 3599 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3600 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@45

; 3601 : 		{
; 3602 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@45
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@45
$LN1@Timer_Expi@45:

; 3603 : 			{
; 3604 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@45
$LN10@Timer_Expi@45:
	fstp	ST(0)
$LN2@Timer_Expi@45:

; 3605 : 			}
; 3606 : 		}
; 3607 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 3608 : 	}
; 3609 : }

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

; 3613 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 3614 : }

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

; 3617 : {

	sub	esp, 12					; 0000000cH
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 3618 : 	primary = true;
; 3619 : 	int visible;
; 3620 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 3622 : 	Commands->Innate_Enable(obj);

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

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

; 3624 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 3625 : 	enemyseen = true;

	mov	BYTE PTR [esi+40], 1

; 3626 : 	attackid = 0;

	mov	DWORD PTR [esi+36], 0

; 3627 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71463[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 3628 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@38

; 3629 : 	{
; 3630 : 		effectid = Commands->Get_ID(effect);

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

; 3631 : 		lastframe = false;
; 3632 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@38:
	pop	edi
	pop	esi
	pop	ebp

; 3633 : 	}
; 3634 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Custom, COMDAT
; _this$ = ecx

; 3637 : {

	push	esi

; 3638 : 	int msg;
; 3639 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3640 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@23

; 3641 : 	{
; 3642 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 3643 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$LN1@Custom@23:
	pop	esi

; 3644 : 	}
; 3645 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$60186 = -40					; size = 4
_pos2$60189 = -36					; size = 12
_pos$60188 = -24					; size = 12
$T71471 = -12						; size = 12
$T71470 = -12						; size = 12
_range$60187 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$60185 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 3648 : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 3650 : 	if (o)

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

; 3651 : 	{
; 3652 : 		seen = o;

	mov	ebx, eax
$LN4@Enemy_Seen@23:

; 3653 : 	}
; 3654 : 	if (Get_Vehicle_Mode(seen) != FLYING)

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

; 3655 : 	{
; 3656 : 		float minrange;
; 3657 : 		float maxrange;
; 3658 : 		float range;
; 3659 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60185[esp+48]

; 3660 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60186[esp+52]

; 3661 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60188[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$60189[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3662 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71470[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60188[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$60188[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 3663 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71471[esp+60]
	mov	DWORD PTR _pos$60188[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60189[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60189[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60189[esp+76], eax

; 3664 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$60189[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$60188[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$60187[esp+72]

; 3665 : 		pos.Z = 0;

	fldz

; 3666 : 		pos2.Z = 0;
; 3667 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60189[esp+76]
	fst	DWORD PTR _pos$60188[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$60189[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60188[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60185[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@23
	fld	DWORD PTR _maxrange$60186[esp+52]
	fcomp	DWORD PTR _range$60187[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@23

; 3668 : 		{
; 3669 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 3670 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 3671 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 3672 : 			if (!lastframe)

	cmp	BYTE PTR [esi+41], 0
	mov	DWORD PTR [esi+36], eax
	jne	$LN7@Enemy_Seen@23

; 3673 : 			{
; 3674 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 3675 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 3676 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	edx, DWORD PTR _pos2$60189[esp+56]
	push	edx
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax

; 3677 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	mov	ecx, DWORD PTR [ebx]
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@23:
	pop	edi
$LN1@Enemy_Seen@23:
	pop	esi
	pop	ebx

; 3678 : 			}
; 3679 : 		}
; 3680 : 	}
; 3681 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$60201 = -244					; size = 4
_pos2$60204 = -240					; size = 12
_pos$60203 = -228					; size = 12
_range$60202 = -216					; size = 4
_minrange$60200 = -212					; size = 4
$T71477 = -208						; size = 12
$T71476 = -208						; size = 12
_params$60209 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3684 : {

	sub	esp, 244				; 000000f4H

; 3685 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+240], 1
	push	esi
	mov	esi, ecx
	jne	$LN2@Timer_Expi@46
	push	ebx
	push	edi

; 3686 : 	{
; 3687 : 		float minrange;
; 3688 : 		float maxrange;
; 3689 : 		float range;
; 3690 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60200[esp+256]

; 3691 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60201[esp+256]

; 3692 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60203[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$60204[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3693 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71476[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60203[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 3694 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	DWORD PTR _pos$60203[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$60203[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71477[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60204[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60204[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60204[esp+284], edx

; 3695 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$60204[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$60203[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$60202[esp+284]

; 3696 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 3697 : 		pos2.Z = 0;
; 3698 : 		if (lastframe)

	cmp	BYTE PTR [esi+41], 0
	fst	DWORD PTR _pos$60203[esp+264]
	fst	DWORD PTR _pos2$60204[esp+264]
	je	SHORT $LN16@Timer_Expi@46

; 3699 : 		{
; 3700 : 			lastframe = false;
; 3701 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+41], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN4@Timer_Expi@46
$LN16@Timer_Expi@46:
	fstp	ST(0)
$LN4@Timer_Expi@46:

; 3702 : 		}
; 3703 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60204[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60203[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60200[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Timer_Expi@46
	fld	DWORD PTR _maxrange$60201[esp+256]
	fcomp	DWORD PTR _range$60202[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN14@Timer_Expi@46

; 3704 : 		{
; 3705 : 			ActionParamsStruct params;

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

; 3706 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 3707 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$60209[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$60209[esp+260], eax
	mov	DWORD PTR _params$60209[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$60201[esp+260]
	mov	cl, BYTE PTR [esi+28]
	fstp	DWORD PTR _params$60209[esp+336]
	fldz
	mov	DWORD PTR _params$60209[esp+348], eax

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$60209[esp+340]
	lea	edx, DWORD PTR _params$60209[esp+260]
	push	edx
	mov	BYTE PTR _params$60209[esp+356], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx
	add	esp, 12					; 0000000cH

; 3709 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	dl
	mov	BYTE PTR [esi+28], dl
$LN14@Timer_Expi@46:
	pop	edi
	pop	ebx
$LN2@Timer_Expi@46:
	pop	esi

; 3710 : 			{
; 3711 : 				primary = false;
; 3712 : 			}
; 3713 : 			else
; 3714 : 			{
; 3715 : 				primary = true;
; 3716 : 			}
; 3717 : 		}
; 3718 : 	}
; 3719 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DL@ECLBJIOL@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Created
;	COMDAT ??_C@_0DL@ECLBJIOL@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DL@ECLBJIOL@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_VTOL_Only_Secondary', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71501 = -1012						; size = 12
$T71500 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 3722 : {

	sub	esp, 1036				; 0000040cH

; 3723 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3724 : 	GameObject *object;
; 3725 : 	const char *weapon;
; 3726 : 	char params[1000];
; 3727 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71500[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 3728 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71501[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3729 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 3730 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 3731 : 	v.Z += v2.Z;
; 3732 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3733 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 3734 : 	if (object)

	test	edi, edi
	je	$LN1@Created@39

; 3735 : 	{
; 3736 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 3737 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 3738 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET ??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 3739 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET ??_C@_0DL@ECLBJIOL@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	edx
	add	esp, 56					; 00000038H
$LN1@Created@39:
	pop	edi
	pop	esi
	pop	ebx

; 3740 : 	}
; 3741 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 3744 : {

	push	esi
	mov	esi, ecx

; 3745 : 	GameObject *object;
; 3746 : 	object = Commands->Find_Object(weaponid);

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

; 3747 : 	int x;
; 3748 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3749 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@24

; 3750 : 	{
; 3751 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@24:
	pop	edi
	pop	esi

; 3752 : 	}
; 3753 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3756 : {

	push	ebp
	push	edi

; 3757 : 	float health;
; 3758 : 	bool power;
; 3759 : 	GameObject *object;
; 3760 : 	int x;
; 3761 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3762 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@47

; 3763 : 	{
; 3764 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 3765 : 		power = Commands->Get_Building_Power(obj);

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

; 3766 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3767 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@47

; 3768 : 		{
; 3769 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@47
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@47
$LN1@Timer_Expi@47:

; 3770 : 			{
; 3771 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@47
$LN10@Timer_Expi@47:
	fstp	ST(0)
$LN2@Timer_Expi@47:

; 3772 : 			}
; 3773 : 		}
; 3774 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 3775 : 	}
; 3776 : }

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

; 3780 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 3781 : }

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

; 3784 : {

	sub	esp, 12					; 0000000cH
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 3785 : 	primary = true;
; 3786 : 	int visible;
; 3787 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 3789 : 	Commands->Innate_Enable(obj);

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

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

; 3791 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 3792 : 	enemyseen = true;

	mov	BYTE PTR [esi+40], 1

; 3793 : 	attackid = 0;

	mov	DWORD PTR [esi+36], 0

; 3794 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71518[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 3795 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@40

; 3796 : 	{
; 3797 : 		effectid = Commands->Get_ID(effect);

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

; 3798 : 		lastframe = false;
; 3799 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@40:
	pop	edi
	pop	esi
	pop	ebp

; 3800 : 	}
; 3801 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Custom, COMDAT
; _this$ = ecx

; 3804 : {

	push	esi

; 3805 : 	int msg;
; 3806 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3807 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@24

; 3808 : 	{
; 3809 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 3810 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$LN1@Custom@24:
	pop	esi

; 3811 : 	}
; 3812 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$60275 = -40					; size = 4
_pos2$60278 = -36					; size = 12
_pos$60277 = -24					; size = 12
$T71526 = -12						; size = 12
$T71525 = -12						; size = 12
_range$60276 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$60274 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 3815 : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 3817 : 	if (o)

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

; 3818 : 	{
; 3819 : 		seen = o;

	mov	ebx, eax
$LN4@Enemy_Seen@24:

; 3820 : 	}
; 3821 : 	if (Get_Vehicle_Mode(seen) != FLYING)

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

; 3822 : 	{
; 3823 : 		float minrange;
; 3824 : 		float maxrange;
; 3825 : 		float range;
; 3826 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60274[esp+48]

; 3827 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60275[esp+52]

; 3828 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60277[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$60278[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3829 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71525[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60277[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$60277[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 3830 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71526[esp+60]
	mov	DWORD PTR _pos$60277[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60278[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60278[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60278[esp+76], eax

; 3831 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$60278[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$60277[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$60276[esp+72]

; 3832 : 		pos.Z = 0;

	fldz

; 3833 : 		pos2.Z = 0;
; 3834 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60278[esp+76]
	fst	DWORD PTR _pos$60277[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$60278[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60277[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60274[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@24
	fld	DWORD PTR _maxrange$60275[esp+52]
	fcomp	DWORD PTR _range$60276[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@24

; 3835 : 		{
; 3836 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 3837 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 3838 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 3839 : 			if (!lastframe)

	cmp	BYTE PTR [esi+41], 0
	mov	DWORD PTR [esi+36], eax
	jne	$LN7@Enemy_Seen@24

; 3840 : 			{
; 3841 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 3842 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 3843 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	edx, DWORD PTR _pos2$60278[esp+56]
	push	edx
	push	OFFSET ??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax

; 3844 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	mov	ecx, DWORD PTR [ebx]
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@24:
	pop	edi
$LN1@Enemy_Seen@24:
	pop	esi
	pop	ebx

; 3845 : 			}
; 3846 : 		}
; 3847 : 	}
; 3848 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$60290 = -244					; size = 4
_pos2$60293 = -240					; size = 12
_pos$60292 = -228					; size = 12
_range$60291 = -216					; size = 4
_minrange$60289 = -212					; size = 4
$T71532 = -208						; size = 12
$T71531 = -208						; size = 12
_params$60298 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3851 : {

	sub	esp, 244				; 000000f4H

; 3852 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+240], 1
	push	esi
	mov	esi, ecx
	jne	$LN2@Timer_Expi@48
	push	ebx
	push	edi

; 3853 : 	{
; 3854 : 		float minrange;
; 3855 : 		float maxrange;
; 3856 : 		float range;
; 3857 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60289[esp+256]

; 3858 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60290[esp+256]

; 3859 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60292[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$60293[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3860 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71531[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60292[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 3861 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	DWORD PTR _pos$60292[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$60292[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71532[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60293[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60293[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60293[esp+284], edx

; 3862 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$60293[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$60292[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$60291[esp+284]

; 3863 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 3864 : 		pos2.Z = 0;
; 3865 : 		if (lastframe)

	cmp	BYTE PTR [esi+41], 0
	fst	DWORD PTR _pos$60292[esp+264]
	fst	DWORD PTR _pos2$60293[esp+264]
	je	SHORT $LN16@Timer_Expi@48

; 3866 : 		{
; 3867 : 			lastframe = false;
; 3868 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+41], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN4@Timer_Expi@48
$LN16@Timer_Expi@48:
	fstp	ST(0)
$LN4@Timer_Expi@48:

; 3869 : 		}
; 3870 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60293[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60292[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60289[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Timer_Expi@48
	fld	DWORD PTR _maxrange$60290[esp+256]
	fcomp	DWORD PTR _range$60291[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN14@Timer_Expi@48

; 3871 : 		{
; 3872 : 			ActionParamsStruct params;

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

; 3873 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 3874 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$60298[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$60298[esp+260], eax
	mov	DWORD PTR _params$60298[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$60290[esp+260]
	mov	cl, BYTE PTR [esi+28]
	fstp	DWORD PTR _params$60298[esp+336]
	fldz
	mov	DWORD PTR _params$60298[esp+348], eax

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$60298[esp+340]
	lea	edx, DWORD PTR _params$60298[esp+260]
	push	edx
	mov	BYTE PTR _params$60298[esp+356], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx
	add	esp, 12					; 0000000cH

; 3876 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	dl
	mov	BYTE PTR [esi+28], dl
$LN14@Timer_Expi@48:
	pop	edi
	pop	ebx
$LN2@Timer_Expi@48:
	pop	esi

; 3877 : 			{
; 3878 : 				primary = false;
; 3879 : 			}
; 3880 : 			else
; 3881 : 			{
; 3882 : 				primary = true;
; 3883 : 			}
; 3884 : 		}
; 3885 : 	}
; 3886 : }

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

; 3889 : {

	push	esi
	mov	esi, ecx

; 3890 : 	Auto_Save_Variable(1,4,&effectid);

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

; 3891 : 	Auto_Save_Variable(2,4,&attackid);

	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

; 3892 : 	Auto_Save_Variable(3,1,&enemyseen);

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

; 3893 : 	Auto_Save_Variable(4,1,&lastframe);

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

; 3894 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3897 : {

	push	esi
	mov	esi, ecx

; 3898 : 	Auto_Save_Variable(1,4,&effectid);

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

; 3899 : 	Auto_Save_Variable(2,4,&attackid);

	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

; 3900 : 	Auto_Save_Variable(3,1,&enemyseen);

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

; 3901 : 	Auto_Save_Variable(4,1,&lastframe);

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

; 3902 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3905 : {

	push	esi
	mov	esi, ecx

; 3906 : 	Auto_Save_Variable(1,1,&primary);

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

; 3907 : 	Auto_Save_Variable(2,4,&effectid);

	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

; 3908 : 	Auto_Save_Variable(3,4,&attackid);

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

; 3909 : 	Auto_Save_Variable(4,1,&enemyseen);

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

; 3910 : 	Auto_Save_Variable(5,1,&lastframe);

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

; 3911 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3914 : {

	push	esi
	mov	esi, ecx

; 3915 : 	Auto_Save_Variable(1,1,&primary);

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

; 3916 : 	Auto_Save_Variable(2,4,&effectid);

	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

; 3917 : 	Auto_Save_Variable(3,4,&attackid);

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

; 3918 : 	Auto_Save_Variable(4,1,&enemyseen);

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

; 3919 : 	Auto_Save_Variable(5,1,&lastframe);

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

; 3920 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	??_C@_0CK@HGKDKNGJ@JFW_Building_Gun_Weapon_No_VTOL_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_No_VTOL_Secondary::Created
;	COMDAT ??_C@_0CK@HGKDKNGJ@JFW_Building_Gun_Weapon_No_VTOL_@
CONST	SEGMENT
??_C@_0CK@HGKDKNGJ@JFW_Building_Gun_Weapon_No_VTOL_@ DB 'JFW_Building_Gun'
	DB	'_Weapon_No_VTOL_Secondary', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71568 = -1012						; size = 12
$T71567 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_No_VTOL_Secondary::Created, COMDAT
; _this$ = ecx

; 3923 : {

	sub	esp, 1036				; 0000040cH

; 3924 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 3925 : 	GameObject *object;
; 3926 : 	const char *weapon;
; 3927 : 	char params[1000];
; 3928 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71567[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 3929 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71568[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3930 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 3931 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 3932 : 	v.Z += v2.Z;
; 3933 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3934 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 3935 : 	if (object)

	test	edi, edi
	je	$LN1@Created@41

; 3936 : 	{
; 3937 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 3938 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 3939 : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET ??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 3940 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_No_VTOL_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET ??_C@_0CK@HGKDKNGJ@JFW_Building_Gun_Weapon_No_VTOL_@
	push	edi
	call	edx
	add	esp, 36					; 00000024H
$LN1@Created@41:
	pop	edi
	pop	esi
	pop	ebx

; 3941 : 	}
; 3942 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_No_VTOL_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_No_VTOL_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_No_VTOL_Secondary::Killed, COMDAT
; _this$ = ecx

; 3945 : {

	push	esi
	mov	esi, ecx

; 3946 : 	GameObject *object;
; 3947 : 	object = Commands->Find_Object(weaponid);

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

; 3948 : 	int x;
; 3949 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3950 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@25

; 3951 : 	{
; 3952 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@25:
	pop	edi
	pop	esi

; 3953 : 	}
; 3954 : }

	ret	8
?Killed@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_No_VTOL_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3957 : {

	push	ebp
	push	edi

; 3958 : 	float health;
; 3959 : 	bool power;
; 3960 : 	GameObject *object;
; 3961 : 	int x;
; 3962 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3963 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN5@Timer_Expi@49

; 3964 : 	{
; 3965 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 3966 : 		power = Commands->Get_Building_Power(obj);

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

; 3967 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3968 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN8@Timer_Expi@49

; 3969 : 		{
; 3970 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN2@Timer_Expi@49
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN2@Timer_Expi@49

; 3973 : 			}
; 3974 : 			else
; 3975 : 			{
; 3976 : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	jmp	SHORT $LN14@Timer_Expi@49
$LN2@Timer_Expi@49:

; 3971 : 			{
; 3972 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	esi
	call	ecx
$LN14@Timer_Expi@49:
	add	esp, 20					; 00000014H
$LN8@Timer_Expi@49:

; 3977 : 			}
; 3978 : 		}
; 3979 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+128]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	edi
	push	esi
	call	eax
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$LN5@Timer_Expi@49:
	pop	edi
	pop	ebp

; 3980 : 	}
; 3981 : }

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

; 3985 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 3986 : }

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

; 3989 : {

	push	esi
	push	edi

; 3990 : 	int visible;
; 3991 : 	primary = true;
; 3992 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [ecx+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 3994 : 	Commands->Innate_Enable(obj);

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

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

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

; 3996 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	edx
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 3997 : }

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

; 4001 : 	int msg;
; 4002 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4003 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $LN1@Custom@25

; 4004 : 	{
; 4005 : 		if (!param)

	cmp	DWORD PTR _param$[esp-4], 0

; 4006 : 		{
; 4007 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR _obj$[esp-4]
	mov	edx, DWORD PTR [ecx+300]
	jne	SHORT $LN2@Custom@25
	push	0

; 4008 : 		}
; 4009 : 		else
; 4010 : 		{
; 4011 : 			Commands->Enable_Enemy_Seen(obj,true);

	push	eax
	call	edx
	add	esp, 8

; 4012 : 		}
; 4013 : 	}
; 4014 : }

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

; 4008 : 		}
; 4009 : 		else
; 4010 : 		{
; 4011 : 			Commands->Enable_Enemy_Seen(obj,true);

	push	1
	push	eax
	call	edx
	add	esp, 8
$LN1@Custom@25:

; 4012 : 		}
; 4013 : 	}
; 4014 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$60379 = -240					; size = 12
_pos$60378 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T71596 = -208						; size = 12
$T71595 = -208						; size = 12
_params$60383 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 4017 : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

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

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

; 4019 : 	if (o)

	test	eax, eax
	je	SHORT $LN5@Enemy_Seen@25

; 4020 : 	{
; 4021 : 		seen = o;

	mov	edi, eax
$LN5@Enemy_Seen@25:

; 4022 : 	}
; 4023 : 	float minrange;
; 4024 : 	float maxrange;
; 4025 : 	float range;
; 4026 : 	if (Get_Vehicle_Mode(seen) != FLYING)

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

; 4027 : 	{
; 4028 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 4029 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 4030 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60378[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$60379[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4031 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71595[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60378[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$60378[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 4032 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71596[esp+264]
	mov	DWORD PTR _pos$60378[esp+272], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60379[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60379[esp+276], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60379[esp+280], eax

; 4033 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$60379[esp+272]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$60378[esp+276]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+280]

; 4034 : 		pos.Z = 0;

	fldz

; 4035 : 		pos2.Z = 0;
; 4036 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60379[esp+280]
	fst	DWORD PTR _pos$60378[esp+288]
	push	edx
	fstp	DWORD PTR _pos2$60379[esp+292]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60378[esp+284]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Enemy_Seen@25
	fld	DWORD PTR _maxrange$[esp+256]
	fcomp	DWORD PTR _range$[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Enemy_Seen@25

; 4037 : 		{
; 4038 : 			ActionParamsStruct params;

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

; 4039 : 			params.Set_Basic(this,100,1);
; 4040 : 			params.Set_Attack(seen,maxrange,0,primary);

	fld	DWORD PTR _maxrange$[esp+256]
	mov	eax, DWORD PTR [esi+4]
	fstp	DWORD PTR _params$60383[esp+332]
	mov	cl, BYTE PTR [esi+28]
	fldz
	mov	DWORD PTR _params$60383[esp+260], eax
	fstp	DWORD PTR _params$60383[esp+336]

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _params$60383[esp+256]
	push	edx
	mov	DWORD PTR _params$60383[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$60383[esp+428], -1
	mov	DWORD PTR _params$60383[esp+348], edi
	mov	BYTE PTR _params$60383[esp+352], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx

; 4042 : 			Commands->Start_Timer(obj,this,1.0,1);

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

; 4043 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	cl
	mov	BYTE PTR [esi+28], cl
$LN14@Enemy_Seen@25:
	pop	ebx
$LN2@Enemy_Seen@25:
	pop	edi
	pop	esi

; 4044 : 			{
; 4045 : 				primary = false;
; 4046 : 			}
; 4047 : 			else
; 4048 : 			{
; 4049 : 				primary = true;
; 4050 : 			}
; 4051 : 		}
; 4052 : 	}
; 4053 : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4057 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $LN1@Timer_Expi@50

; 4058 : 	{
; 4059 : 		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@Timer_Expi@50:

; 4060 : 	}
; 4061 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CM@EHAHGGCC@JFW_Building_Gun_Weapon_VTOL_Onl@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_VTOL_Only_Secondary::Created
;	COMDAT ??_C@_0CM@EHAHGGCC@JFW_Building_Gun_Weapon_VTOL_Onl@
CONST	SEGMENT
??_C@_0CM@EHAHGGCC@JFW_Building_Gun_Weapon_VTOL_Onl@ DB 'JFW_Building_Gun'
	DB	'_Weapon_VTOL_Only_Secondary', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71619 = -1012						; size = 12
$T71618 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_VTOL_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 4064 : {

	sub	esp, 1036				; 0000040cH

; 4065 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4066 : 	GameObject *object;
; 4067 : 	const char *weapon;
; 4068 : 	char params[1000];
; 4069 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71618[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 4070 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71619[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 4071 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 4072 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 4073 : 	v.Z += v2.Z;
; 4074 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 4075 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 4076 : 	if (object)

	test	edi, edi
	je	$LN1@Created@42

; 4077 : 	{
; 4078 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 4079 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 4080 : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET ??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 4081 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_VTOL_Only_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET ??_C@_0CM@EHAHGGCC@JFW_Building_Gun_Weapon_VTOL_Onl@
	push	edi
	call	edx
	add	esp, 36					; 00000024H
$LN1@Created@42:
	pop	edi
	pop	esi
	pop	ebx

; 4082 : 	}
; 4083 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_VTOL_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_VTOL_Only_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_VTOL_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 4086 : {

	push	esi
	mov	esi, ecx

; 4087 : 	GameObject *object;
; 4088 : 	object = Commands->Find_Object(weaponid);

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

; 4089 : 	int x;
; 4090 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4091 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@26

; 4092 : 	{
; 4093 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@26:
	pop	edi
	pop	esi

; 4094 : 	}
; 4095 : }

	ret	8
?Killed@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_VTOL_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4098 : {

	push	ebp
	push	edi

; 4099 : 	float health;
; 4100 : 	bool power;
; 4101 : 	GameObject *object;
; 4102 : 	int x;
; 4103 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4104 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN5@Timer_Expi@51

; 4105 : 	{
; 4106 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 4107 : 		power = Commands->Get_Building_Power(obj);

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

; 4108 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 4109 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN8@Timer_Expi@51

; 4110 : 		{
; 4111 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN2@Timer_Expi@51
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN2@Timer_Expi@51

; 4114 : 			}
; 4115 : 			else
; 4116 : 			{
; 4117 : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	jmp	SHORT $LN14@Timer_Expi@51
$LN2@Timer_Expi@51:

; 4112 : 			{
; 4113 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	esi
	call	ecx
$LN14@Timer_Expi@51:
	add	esp, 20					; 00000014H
$LN8@Timer_Expi@51:

; 4118 : 			}
; 4119 : 		}
; 4120 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+128]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	edi
	push	esi
	call	eax
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$LN5@Timer_Expi@51:
	pop	edi
	pop	ebp

; 4121 : 	}
; 4122 : }

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

; 4126 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 4127 : }

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

; 4130 : {

	push	esi
	push	edi

; 4131 : 	int visible;
; 4132 : 	primary = true;
; 4133 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [ecx+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 4135 : 	Commands->Innate_Enable(obj);

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

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

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

; 4137 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	edx
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 4138 : }

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

; 4142 : 	int msg;
; 4143 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4144 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $LN1@Custom@26

; 4145 : 	{
; 4146 : 		if (!param)

	cmp	DWORD PTR _param$[esp-4], 0

; 4147 : 		{
; 4148 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR _obj$[esp-4]
	mov	edx, DWORD PTR [ecx+300]
	jne	SHORT $LN2@Custom@26
	push	0

; 4149 : 		}
; 4150 : 		else
; 4151 : 		{
; 4152 : 			Commands->Enable_Enemy_Seen(obj,true);

	push	eax
	call	edx
	add	esp, 8

; 4153 : 		}
; 4154 : 	}
; 4155 : }

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

; 4149 : 		}
; 4150 : 		else
; 4151 : 		{
; 4152 : 			Commands->Enable_Enemy_Seen(obj,true);

	push	1
	push	eax
	call	edx
	add	esp, 8
$LN1@Custom@26:

; 4153 : 		}
; 4154 : 	}
; 4155 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$60458 = -240					; size = 12
_pos$60457 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T71647 = -208						; size = 12
$T71646 = -208						; size = 12
_params$60462 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 4158 : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

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

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

; 4160 : 	if (o)

	test	eax, eax
	je	SHORT $LN5@Enemy_Seen@26

; 4161 : 	{
; 4162 : 		seen = o;

	mov	edi, eax
$LN5@Enemy_Seen@26:

; 4163 : 	}
; 4164 : 	float minrange;
; 4165 : 	float maxrange;
; 4166 : 	float range;
; 4167 : 	if (Get_Vehicle_Mode(seen) == FLYING)

	push	edi
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	jne	$LN2@Enemy_Seen@26
	push	ebx

; 4168 : 	{
; 4169 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 4170 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 4171 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60457[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$60458[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4172 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71646[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60457[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$60457[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 4173 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71647[esp+264]
	mov	DWORD PTR _pos$60457[esp+272], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60458[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60458[esp+276], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60458[esp+280], eax

; 4174 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$60458[esp+272]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$60457[esp+276]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$[esp+280]

; 4175 : 		pos.Z = 0;

	fldz

; 4176 : 		pos2.Z = 0;
; 4177 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60458[esp+280]
	fst	DWORD PTR _pos$60457[esp+288]
	push	edx
	fstp	DWORD PTR _pos2$60458[esp+292]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60457[esp+284]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Enemy_Seen@26
	fld	DWORD PTR _maxrange$[esp+256]
	fcomp	DWORD PTR _range$[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Enemy_Seen@26

; 4178 : 		{
; 4179 : 			ActionParamsStruct params;

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

; 4180 : 			params.Set_Basic(this,100,1);
; 4181 : 			params.Set_Attack(seen,maxrange,0,primary);

	fld	DWORD PTR _maxrange$[esp+256]
	mov	eax, DWORD PTR [esi+4]
	fstp	DWORD PTR _params$60462[esp+332]
	mov	cl, BYTE PTR [esi+28]
	fldz
	mov	DWORD PTR _params$60462[esp+260], eax
	fstp	DWORD PTR _params$60462[esp+336]

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _params$60462[esp+256]
	push	edx
	mov	DWORD PTR _params$60462[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$60462[esp+428], -1
	mov	DWORD PTR _params$60462[esp+348], edi
	mov	BYTE PTR _params$60462[esp+352], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx

; 4183 : 			Commands->Start_Timer(obj,this,1.0,1);

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

; 4184 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	cl
	mov	BYTE PTR [esi+28], cl
$LN14@Enemy_Seen@26:
	pop	ebx
$LN2@Enemy_Seen@26:
	pop	edi
	pop	esi

; 4185 : 			{
; 4186 : 				primary = false;
; 4187 : 			}
; 4188 : 			else
; 4189 : 			{
; 4190 : 				primary = true;
; 4191 : 			}
; 4192 : 		}
; 4193 : 	}
; 4194 : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4198 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $LN1@Timer_Expi@52

; 4199 : 	{
; 4200 : 		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@Timer_Expi@52:

; 4201 : 	}
; 4202 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXXZ ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4206 : 	Auto_Save_Variable(1,1,&primary);

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

; 4207 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4211 : 	Auto_Save_Variable(1,1,&primary);

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

; 4212 : }

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

; 4215 : {

	push	esi

; 4216 : 	enemyseen = true;
; 4217 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 4219 : }

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

; 4222 : {

	push	esi

; 4223 : 	enemyseen = true;
; 4224 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 4226 : }

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

; 4229 : {

	push	esi

; 4230 : 	enemyseen = true;
; 4231 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 4233 : }

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

; 4236 : {

	push	esi

; 4237 : 	enemyseen = true;
; 4238 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+300]
	push	1
	push	esi
	call	ecx

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

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

; 4240 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	??_C@_0CJ@CBBFPOCC@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE@Z ; JFW_Building_Gun_Animated_No_VTOL::Created
;	COMDAT ??_C@_0CJ@CBBFPOCC@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CJ@CBBFPOCC@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_No_VTOL', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71688 = -1012						; size = 12
$T71687 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_No_VTOL::Created, COMDAT
; _this$ = ecx

; 4243 : {

	sub	esp, 1036				; 0000040cH

; 4244 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4245 : 	GameObject *object;
; 4246 : 	const char *weapon;
; 4247 : 	char params[1000];
; 4248 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71687[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 4249 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71688[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 4250 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 4251 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 4252 : 	v.Z += v2.Z;
; 4253 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 4254 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 4255 : 	if (object)

	test	edi, edi
	je	$LN1@Created@43

; 4256 : 	{
; 4257 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 4258 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 4259 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET ??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 4260 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_No_VTOL",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET ??_C@_0CJ@CBBFPOCC@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	edx
	add	esp, 52					; 00000034H
$LN1@Created@43:
	pop	edi
	pop	esi
	pop	ebx

; 4261 : 	}
; 4262 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_No_VTOL::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_No_VTOL::Killed, COMDAT
; _this$ = ecx

; 4265 : {

	push	esi
	mov	esi, ecx

; 4266 : 	GameObject *object;
; 4267 : 	object = Commands->Find_Object(weaponid);

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

; 4268 : 	int x;
; 4269 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4270 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@27

; 4271 : 	{
; 4272 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@27:
	pop	edi
	pop	esi

; 4273 : 	}
; 4274 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_No_VTOL::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 4277 : {

	push	ebp
	push	edi

; 4278 : 	float health;
; 4279 : 	bool power;
; 4280 : 	GameObject *object;
; 4281 : 	int x;
; 4282 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4283 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@53

; 4284 : 	{
; 4285 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 4286 : 		power = Commands->Get_Building_Power(obj);

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

; 4287 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 4288 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@53

; 4289 : 		{
; 4290 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@53
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@53
$LN1@Timer_Expi@53:

; 4291 : 			{
; 4292 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@53
$LN10@Timer_Expi@53:
	fstp	ST(0)
$LN2@Timer_Expi@53:

; 4293 : 			}
; 4294 : 		}
; 4295 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 4296 : 	}
; 4297 : }

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

; 4301 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 4302 : }

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

; 4305 : {

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

; 4306 : 	int visible;
; 4307 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 4309 : 	Commands->Innate_Enable(obj);

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

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

; 4311 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 4312 : 	attackid = 0;

	mov	DWORD PTR [esi+32], 0

; 4313 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71705[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 4314 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@44

; 4315 : 	{
; 4316 : 		effectid = Commands->Get_ID(effect);

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

; 4317 : 		lastframe = false;
; 4318 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+28], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@44:
	pop	edi
	pop	esi
	pop	ebp

; 4319 : 	}
; 4320 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Custom, COMDAT
; _this$ = ecx

; 4323 : {

	push	esi

; 4324 : 	int msg;
; 4325 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4326 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@27

; 4327 : 	{
; 4328 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 4329 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$LN1@Custom@27:
	pop	esi

; 4330 : 	}
; 4331 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$60564 = -40					; size = 4
_pos2$60567 = -36					; size = 12
_pos$60566 = -24					; size = 12
$T71713 = -12						; size = 12
$T71712 = -12						; size = 12
_range$60565 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$60563 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Enemy_Seen, COMDAT
; _this$ = ecx

; 4334 : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 4336 : 	if (o)

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

; 4337 : 	{
; 4338 : 		seen = o;

	mov	ebx, eax
$LN4@Enemy_Seen@27:

; 4339 : 	}
; 4340 : 	if (Get_Vehicle_Mode(seen) != FLYING)

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

; 4341 : 	{
; 4342 : 		float minrange;
; 4343 : 		float maxrange;
; 4344 : 		float range;
; 4345 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60563[esp+48]

; 4346 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60564[esp+52]

; 4347 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60566[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$60567[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4348 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71712[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60566[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$60566[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 4349 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71713[esp+60]
	mov	DWORD PTR _pos$60566[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60567[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60567[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60567[esp+76], eax

; 4350 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$60567[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$60566[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$60565[esp+72]

; 4351 : 		pos.Z = 0;

	fldz

; 4352 : 		pos2.Z = 0;
; 4353 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60567[esp+76]
	fst	DWORD PTR _pos$60566[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$60567[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60566[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60563[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@27
	fld	DWORD PTR _maxrange$60564[esp+52]
	fcomp	DWORD PTR _range$60565[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@27

; 4354 : 		{
; 4355 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 4356 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 4357 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 4358 : 			if (!lastframe)

	cmp	BYTE PTR [esi+37], 0
	mov	DWORD PTR [esi+32], eax
	jne	SHORT $LN7@Enemy_Seen@27

; 4359 : 			{
; 4360 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 4361 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 4362 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR [ebx]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	edx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@27:
	pop	edi
$LN1@Enemy_Seen@27:
	pop	esi
	pop	ebx

; 4363 : 			}
; 4364 : 		}
; 4365 : 	}
; 4366 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$60579 = -244					; size = 4
_pos2$60582 = -240					; size = 12
_pos$60581 = -228					; size = 12
_range$60580 = -216					; size = 4
_minrange$60578 = -212					; size = 4
$T71719 = -208						; size = 12
$T71718 = -208						; size = 12
_params$60587 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 4369 : {

	sub	esp, 244				; 000000f4H

; 4370 : 	if (number == 1)

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

; 4371 : 	{
; 4372 : 		float minrange;
; 4373 : 		float maxrange;
; 4374 : 		float range;
; 4375 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60578[esp+256]

; 4376 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60579[esp+256]

; 4377 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60581[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$60582[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4378 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71718[esp+256]
	push	ebp
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60581[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 4379 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR _pos$60581[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$60581[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71719[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60582[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60582[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60582[esp+284], edx

; 4380 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$60582[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$60581[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$60580[esp+284]

; 4381 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 4382 : 		pos2.Z = 0;
; 4383 : 		if (lastframe)

	cmp	BYTE PTR [esi+37], 0
	fst	DWORD PTR _pos$60581[esp+264]
	fst	DWORD PTR _pos2$60582[esp+264]
	je	SHORT $LN14@Timer_Expi@54

; 4384 : 		{
; 4385 : 			lastframe = false;
; 4386 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+37], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN2@Timer_Expi@54
$LN14@Timer_Expi@54:
	fstp	ST(0)
$LN2@Timer_Expi@54:

; 4387 : 		}
; 4388 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60582[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60581[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60578[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@54
	fld	DWORD PTR _maxrange$60579[esp+256]
	fcomp	DWORD PTR _range$60580[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@54

; 4389 : 		{
; 4390 : 			ActionParamsStruct params;

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

; 4391 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 4392 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$60587[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$60587[esp+260], eax
	mov	DWORD PTR _params$60587[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$60579[esp+260]

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$60587[esp+336]
	fldz
	lea	ecx, DWORD PTR _params$60587[esp+260]
	push	ecx
	fstp	DWORD PTR _params$60587[esp+344]
	mov	DWORD PTR _params$60587[esp+352], eax
	mov	BYTE PTR _params$60587[esp+356], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebp
	call	eax
	add	esp, 12					; 0000000cH
$LN12@Timer_Expi@54:
	pop	edi
	pop	ebp
$LN1@Timer_Expi@54:
	pop	esi

; 4394 : 		}
; 4395 : 	}
; 4396 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CL@FHDLCBL@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_VTOL_Only::Created
;	COMDAT ??_C@_0CL@FHDLCBL@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CL@FHDLCBL@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun_'
	DB	'Animated_Weapon_VTOL_Only', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71742 = -1012						; size = 12
$T71741 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_VTOL_Only::Created, COMDAT
; _this$ = ecx

; 4399 : {

	sub	esp, 1036				; 0000040cH

; 4400 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4401 : 	GameObject *object;
; 4402 : 	const char *weapon;
; 4403 : 	char params[1000];
; 4404 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71741[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 4405 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71742[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 4406 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 4407 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 4408 : 	v.Z += v2.Z;
; 4409 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 4410 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 4411 : 	if (object)

	test	edi, edi
	je	$LN1@Created@45

; 4412 : 	{
; 4413 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 4414 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 4415 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET ??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 4416 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_VTOL_Only",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET ??_C@_0CL@FHDLCBL@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	edx
	add	esp, 52					; 00000034H
$LN1@Created@45:
	pop	edi
	pop	esi
	pop	ebx

; 4417 : 	}
; 4418 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_VTOL_Only::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_VTOL_Only::Killed, COMDAT
; _this$ = ecx

; 4421 : {

	push	esi
	mov	esi, ecx

; 4422 : 	GameObject *object;
; 4423 : 	object = Commands->Find_Object(weaponid);

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

; 4424 : 	int x;
; 4425 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4426 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@28

; 4427 : 	{
; 4428 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@28:
	pop	edi
	pop	esi

; 4429 : 	}
; 4430 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_VTOL_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 4433 : {

	push	ebp
	push	edi

; 4434 : 	float health;
; 4435 : 	bool power;
; 4436 : 	GameObject *object;
; 4437 : 	int x;
; 4438 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4439 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@55

; 4440 : 	{
; 4441 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 4442 : 		power = Commands->Get_Building_Power(obj);

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

; 4443 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 4444 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@55

; 4445 : 		{
; 4446 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@55
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@55
$LN1@Timer_Expi@55:

; 4447 : 			{
; 4448 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@55
$LN10@Timer_Expi@55:
	fstp	ST(0)
$LN2@Timer_Expi@55:

; 4449 : 			}
; 4450 : 		}
; 4451 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 4452 : 	}
; 4453 : }

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

; 4457 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 4458 : }

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

; 4461 : {

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

; 4462 : 	int visible;
; 4463 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 4465 : 	Commands->Innate_Enable(obj);

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

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

; 4467 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 4468 : 	enemyseen = true;

	mov	BYTE PTR [esi+36], 1

; 4469 : 	attackid = 0;

	mov	DWORD PTR [esi+32], 0

; 4470 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71759[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 4471 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@46

; 4472 : 	{
; 4473 : 		effectid = Commands->Get_ID(effect);

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

; 4474 : 		lastframe = false;
; 4475 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+28], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@46:
	pop	edi
	pop	esi
	pop	ebp

; 4476 : 	}
; 4477 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Custom, COMDAT
; _this$ = ecx

; 4480 : {

	push	esi

; 4481 : 	int msg;
; 4482 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4483 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@28

; 4484 : 	{
; 4485 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 4486 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$LN1@Custom@28:
	pop	esi

; 4487 : 	}
; 4488 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$60651 = -40					; size = 4
_pos2$60654 = -36					; size = 12
_pos$60653 = -24					; size = 12
$T71767 = -12						; size = 12
$T71766 = -12						; size = 12
_range$60652 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$60650 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 4491 : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 4493 : 	if (o)

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

; 4494 : 	{
; 4495 : 		seen = o;

	mov	ebx, eax
$LN4@Enemy_Seen@28:

; 4496 : 	}
; 4497 : 	if (Get_Vehicle_Mode(seen) == FLYING)

	push	ebx
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	jne	$LN1@Enemy_Seen@28
	push	edi

; 4498 : 	{
; 4499 : 		float minrange;
; 4500 : 		float maxrange;
; 4501 : 		float range;
; 4502 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60650[esp+48]

; 4503 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60651[esp+52]

; 4504 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60653[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$60654[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4505 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71766[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60653[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$60653[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 4506 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71767[esp+60]
	mov	DWORD PTR _pos$60653[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60654[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60654[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60654[esp+76], eax

; 4507 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$60654[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$60653[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$60652[esp+72]

; 4508 : 		pos.Z = 0;

	fldz

; 4509 : 		pos2.Z = 0;
; 4510 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60654[esp+76]
	fst	DWORD PTR _pos$60653[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$60654[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60653[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60650[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@28
	fld	DWORD PTR _maxrange$60651[esp+52]
	fcomp	DWORD PTR _range$60652[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@28

; 4511 : 		{
; 4512 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 4513 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 4514 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 4515 : 			if (!lastframe)

	cmp	BYTE PTR [esi+37], 0
	mov	DWORD PTR [esi+32], eax
	jne	SHORT $LN7@Enemy_Seen@28

; 4516 : 			{
; 4517 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 4518 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 4519 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR [ebx]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	edx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@28:
	pop	edi
$LN1@Enemy_Seen@28:
	pop	esi
	pop	ebx

; 4520 : 			}
; 4521 : 		}
; 4522 : 	}
; 4523 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$60666 = -244					; size = 4
_pos2$60669 = -240					; size = 12
_pos$60668 = -228					; size = 12
_range$60667 = -216					; size = 4
_minrange$60665 = -212					; size = 4
$T71773 = -208						; size = 12
$T71772 = -208						; size = 12
_params$60674 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 4526 : {

	sub	esp, 244				; 000000f4H

; 4527 : 	if (number == 1)

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

; 4528 : 	{
; 4529 : 		float minrange;
; 4530 : 		float maxrange;
; 4531 : 		float range;
; 4532 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60665[esp+256]

; 4533 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60666[esp+256]

; 4534 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60668[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$60669[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4535 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71772[esp+256]
	push	ebp
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60668[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 4536 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR _pos$60668[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$60668[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71773[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60669[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60669[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60669[esp+284], edx

; 4537 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$60669[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$60668[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$60667[esp+284]

; 4538 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 4539 : 		pos2.Z = 0;
; 4540 : 		if (lastframe)

	cmp	BYTE PTR [esi+37], 0
	fst	DWORD PTR _pos$60668[esp+264]
	fst	DWORD PTR _pos2$60669[esp+264]
	je	SHORT $LN14@Timer_Expi@56

; 4541 : 		{
; 4542 : 			lastframe = false;
; 4543 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+37], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN2@Timer_Expi@56
$LN14@Timer_Expi@56:
	fstp	ST(0)
$LN2@Timer_Expi@56:

; 4544 : 		}
; 4545 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60669[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60668[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60665[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@56
	fld	DWORD PTR _maxrange$60666[esp+256]
	fcomp	DWORD PTR _range$60667[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Timer_Expi@56

; 4546 : 		{
; 4547 : 			ActionParamsStruct params;

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

; 4548 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 4549 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$60674[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$60674[esp+260], eax
	mov	DWORD PTR _params$60674[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$60666[esp+260]

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

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$60674[esp+336]
	fldz
	lea	ecx, DWORD PTR _params$60674[esp+260]
	push	ecx
	fstp	DWORD PTR _params$60674[esp+344]
	mov	DWORD PTR _params$60674[esp+352], eax
	mov	BYTE PTR _params$60674[esp+356], 1
	mov	eax, DWORD PTR [edx+20]
	push	ebp
	call	eax
	add	esp, 12					; 0000000cH
$LN12@Timer_Expi@56:
	pop	edi
	pop	ebp
$LN1@Timer_Expi@56:
	pop	esi

; 4551 : 		}
; 4552 : 	}
; 4553 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DD@LAFINMNE@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Created
;	COMDAT ??_C@_0DD@LAFINMNE@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0DD@LAFINMNE@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_No_VTOL_Secondary', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71796 = -1012						; size = 12
$T71795 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Created, COMDAT
; _this$ = ecx

; 4556 : {

	sub	esp, 1036				; 0000040cH

; 4557 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4558 : 	GameObject *object;
; 4559 : 	const char *weapon;
; 4560 : 	char params[1000];
; 4561 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71795[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 4562 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71796[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 4563 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 4564 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 4565 : 	v.Z += v2.Z;
; 4566 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 4567 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 4568 : 	if (object)

	test	edi, edi
	je	$LN1@Created@47

; 4569 : 	{
; 4570 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 4571 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 4572 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET ??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 4573 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET ??_C@_0DD@LAFINMNE@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	edx
	add	esp, 52					; 00000034H
$LN1@Created@47:
	pop	edi
	pop	esi
	pop	ebx

; 4574 : 	}
; 4575 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Killed, COMDAT
; _this$ = ecx

; 4578 : {

	push	esi
	mov	esi, ecx

; 4579 : 	GameObject *object;
; 4580 : 	object = Commands->Find_Object(weaponid);

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

; 4581 : 	int x;
; 4582 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4583 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@29

; 4584 : 	{
; 4585 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@29:
	pop	edi
	pop	esi

; 4586 : 	}
; 4587 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4590 : {

	push	ebp
	push	edi

; 4591 : 	float health;
; 4592 : 	bool power;
; 4593 : 	GameObject *object;
; 4594 : 	int x;
; 4595 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4596 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@57

; 4597 : 	{
; 4598 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 4599 : 		power = Commands->Get_Building_Power(obj);

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

; 4600 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 4601 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@57

; 4602 : 		{
; 4603 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@57
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@57
$LN1@Timer_Expi@57:

; 4604 : 			{
; 4605 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@57
$LN10@Timer_Expi@57:
	fstp	ST(0)
$LN2@Timer_Expi@57:

; 4606 : 			}
; 4607 : 		}
; 4608 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 4609 : 	}
; 4610 : }

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

; 4614 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 4615 : }

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

; 4618 : {

	sub	esp, 12					; 0000000cH
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 4619 : 	primary = true;
; 4620 : 	int visible;
; 4621 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 4623 : 	Commands->Innate_Enable(obj);

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

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

; 4625 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 4626 : 	enemyseen = true;

	mov	BYTE PTR [esi+40], 1

; 4627 : 	attackid = 0;

	mov	DWORD PTR [esi+36], 0

; 4628 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71813[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 4629 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@48

; 4630 : 	{
; 4631 : 		effectid = Commands->Get_ID(effect);

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

; 4632 : 		lastframe = false;
; 4633 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@48:
	pop	edi
	pop	esi
	pop	ebp

; 4634 : 	}
; 4635 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Custom, COMDAT
; _this$ = ecx

; 4638 : {

	push	esi

; 4639 : 	int msg;
; 4640 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4641 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@29

; 4642 : 	{
; 4643 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 4644 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$LN1@Custom@29:
	pop	esi

; 4645 : 	}
; 4646 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$60738 = -40					; size = 4
_pos2$60741 = -36					; size = 12
_pos$60740 = -24					; size = 12
$T71821 = -12						; size = 12
$T71820 = -12						; size = 12
_range$60739 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$60737 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 4649 : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 4651 : 	if (o)

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

; 4652 : 	{
; 4653 : 		seen = o;

	mov	ebx, eax
$LN4@Enemy_Seen@29:

; 4654 : 	}
; 4655 : 	if (Get_Vehicle_Mode(seen) != FLYING)

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

; 4656 : 	{
; 4657 : 		float minrange;
; 4658 : 		float maxrange;
; 4659 : 		float range;
; 4660 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60737[esp+48]

; 4661 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60738[esp+52]

; 4662 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60740[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$60741[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4663 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71820[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60740[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$60740[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 4664 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71821[esp+60]
	mov	DWORD PTR _pos$60740[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60741[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60741[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60741[esp+76], eax

; 4665 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$60741[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$60740[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$60739[esp+72]

; 4666 : 		pos.Z = 0;

	fldz

; 4667 : 		pos2.Z = 0;
; 4668 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60741[esp+76]
	fst	DWORD PTR _pos$60740[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$60741[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60740[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60737[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@29
	fld	DWORD PTR _maxrange$60738[esp+52]
	fcomp	DWORD PTR _range$60739[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@29

; 4669 : 		{
; 4670 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 4671 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 4672 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 4673 : 			if (!lastframe)

	cmp	BYTE PTR [esi+41], 0
	mov	DWORD PTR [esi+36], eax
	jne	SHORT $LN7@Enemy_Seen@29

; 4674 : 			{
; 4675 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 4676 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 4677 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR [ebx]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	edx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@29:
	pop	edi
$LN1@Enemy_Seen@29:
	pop	esi
	pop	ebx

; 4678 : 			}
; 4679 : 		}
; 4680 : 	}
; 4681 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$60753 = -244					; size = 4
_pos2$60756 = -240					; size = 12
_pos$60755 = -228					; size = 12
_range$60754 = -216					; size = 4
_minrange$60752 = -212					; size = 4
$T71827 = -208						; size = 12
$T71826 = -208						; size = 12
_params$60761 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4684 : {

	sub	esp, 244				; 000000f4H

; 4685 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+240], 1
	push	esi
	mov	esi, ecx
	jne	$LN2@Timer_Expi@58
	push	ebx
	push	edi

; 4686 : 	{
; 4687 : 		float minrange;
; 4688 : 		float maxrange;
; 4689 : 		float range;
; 4690 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60752[esp+256]

; 4691 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60753[esp+256]

; 4692 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60755[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$60756[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4693 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71826[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60755[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 4694 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	DWORD PTR _pos$60755[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$60755[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71827[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60756[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60756[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60756[esp+284], edx

; 4695 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$60756[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$60755[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$60754[esp+284]

; 4696 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 4697 : 		pos2.Z = 0;
; 4698 : 		if (lastframe)

	cmp	BYTE PTR [esi+41], 0
	fst	DWORD PTR _pos$60755[esp+264]
	fst	DWORD PTR _pos2$60756[esp+264]
	je	SHORT $LN16@Timer_Expi@58

; 4699 : 		{
; 4700 : 			lastframe = false;
; 4701 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+41], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN4@Timer_Expi@58
$LN16@Timer_Expi@58:
	fstp	ST(0)
$LN4@Timer_Expi@58:

; 4702 : 		}
; 4703 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60756[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60755[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60752[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Timer_Expi@58
	fld	DWORD PTR _maxrange$60753[esp+256]
	fcomp	DWORD PTR _range$60754[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN14@Timer_Expi@58

; 4704 : 		{
; 4705 : 			ActionParamsStruct params;

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

; 4706 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 4707 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$60761[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$60761[esp+260], eax
	mov	DWORD PTR _params$60761[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$60753[esp+260]
	mov	cl, BYTE PTR [esi+28]
	fstp	DWORD PTR _params$60761[esp+336]
	fldz
	mov	DWORD PTR _params$60761[esp+348], eax

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$60761[esp+340]
	lea	edx, DWORD PTR _params$60761[esp+260]
	push	edx
	mov	BYTE PTR _params$60761[esp+356], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx
	add	esp, 12					; 0000000cH

; 4709 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	dl
	mov	BYTE PTR [esi+28], dl
$LN14@Timer_Expi@58:
	pop	edi
	pop	ebx
$LN2@Timer_Expi@58:
	pop	esi

; 4710 : 			{
; 4711 : 				primary = false;
; 4712 : 			}
; 4713 : 			else
; 4714 : 			{
; 4715 : 				primary = true;
; 4716 : 			}
; 4717 : 		}
; 4718 : 	}
; 4719 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DF@DBGODBIG@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Created
;	COMDAT ??_C@_0DF@DBGODBIG@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0DF@DBGODBIG@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_VTOL_Only_Secondary', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T71851 = -1012						; size = 12
$T71850 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE@Z PROC ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 4722 : {

	sub	esp, 1036				; 0000040cH

; 4723 : 	Vector3 v,v2;

	fldz
	push	ebx
	push	esi
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+1060]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v2$[esp+1060]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4724 : 	GameObject *object;
; 4725 : 	const char *weapon;
; 4726 : 	char params[1000];
; 4727 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1044]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71850[esp+1048]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 8

; 4728 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET ??_C@_07PHDJHIPA@Positon?$AA@
	lea	ecx, DWORD PTR $T71851[esp+1052]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], eax
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 4729 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v2$[esp+1048], edx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _v2$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]
	fstp	DWORD PTR _v$[esp+1048]

; 4730 : 	v.Y += v2.Y;

	fld	DWORD PTR _v$[esp+1052]
	mov	DWORD PTR _v2$[esp+1056], edx
	fadd	DWORD PTR _v2$[esp+1052]

; 4731 : 	v.Z += v2.Z;
; 4732 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET ??_C@_06KLEAFNAE@Weapon?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 4733 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	mov	eax, DWORD PTR [edx+100]
	call	eax
	mov	edi, eax
	add	esp, 8

; 4734 : 	if (object)

	test	edi, edi
	je	$LN1@Created@49

; 4735 : 	{
; 4736 : 		Commands->Start_Timer(obj,this,1.0,1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+128]
	push	esi
	push	ebx
	call	edx

; 4737 : 		weaponid = Commands->Get_ID(object);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	edi
	call	ecx
	add	esp, 20					; 00000014H

; 4738 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET ??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 4739 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET ??_C@_0DF@DBGODBIG@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	edx
	add	esp, 52					; 00000034H
$LN1@Created@49:
	pop	edi
	pop	esi
	pop	ebx

; 4740 : 	}
; 4741 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 4744 : {

	push	esi
	mov	esi, ecx

; 4745 : 	GameObject *object;
; 4746 : 	object = Commands->Find_Object(weaponid);

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

; 4747 : 	int x;
; 4748 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4749 : 	if (object)

	test	edi, edi
	je	SHORT $LN1@Killed@30

; 4750 : 	{
; 4751 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	fldz
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+140]
	push	0
	push	eax
	mov	eax, DWORD PTR _obj$[esp+16]
	push	edi
	push	eax
	call	edx
	add	esp, 20					; 00000014H
$LN1@Killed@30:
	pop	edi
	pop	esi

; 4752 : 	}
; 4753 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4756 : {

	push	ebp
	push	edi

; 4757 : 	float health;
; 4758 : 	bool power;
; 4759 : 	GameObject *object;
; 4760 : 	int x;
; 4761 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4762 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	mov	ebp, eax
	jne	$LN4@Timer_Expi@59

; 4763 : 	{
; 4764 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+220]
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	ecx
	fstp	DWORD PTR _health$[esp+16]

; 4765 : 		power = Commands->Get_Building_Power(obj);

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

; 4766 : 		object = Commands->Find_Object(weaponid);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, al
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 4767 : 		if (object)

	test	ecx, ecx
	je	SHORT $LN2@Timer_Expi@59

; 4768 : 		{
; 4769 : 			if ((!power) || (!health))

	test	bl, bl
	fldz
	je	SHORT $LN1@Timer_Expi@59
	fcom	DWORD PTR _health$[esp+12]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Timer_Expi@59
$LN1@Timer_Expi@59:

; 4770 : 			{
; 4771 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+140]
	push	esi
	call	edx
	add	esp, 20					; 00000014H
	jmp	SHORT $LN2@Timer_Expi@59
$LN10@Timer_Expi@59:
	fstp	ST(0)
$LN2@Timer_Expi@59:

; 4772 : 			}
; 4773 : 		}
; 4774 : 		Commands->Start_Timer(obj,this,1.0,1);

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

; 4775 : 	}
; 4776 : }

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

; 4780 : 	Auto_Save_Variable(1,4,&weaponid);

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

; 4781 : }

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

; 4784 : {

	sub	esp, 12					; 0000000cH
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 4785 : 	primary = true;
; 4786 : 	int visible;
; 4787 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET ??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

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

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

; 4789 : 	Commands->Innate_Enable(obj);

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

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

; 4791 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+628]
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	edx

; 4792 : 	enemyseen = true;

	mov	BYTE PTR [esi+40], 1

; 4793 : 	attackid = 0;

	mov	DWORD PTR [esi+36], 0

; 4794 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+64]
	lea	ecx, DWORD PTR $T71868[esp+52]
	push	edi
	push	ecx
	lea	ebp, DWORD PTR [eax+100]
	call	edx
	add	esp, 36					; 00000024H
	push	eax
	push	OFFSET ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	call	eax
	mov	edi, eax
	add	esp, 8

; 4795 : 	if (effect)

	test	edi, edi
	je	SHORT $LN1@Created@50

; 4796 : 	{
; 4797 : 		effectid = Commands->Get_ID(effect);

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

; 4798 : 		lastframe = false;
; 4799 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	fldz
	add	esp, 4
	push	0
	sub	esp, 8
	fst	DWORD PTR [esp+4]
	mov	DWORD PTR [esi+32], eax
	fstp	DWORD PTR [esp]
	push	0
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR [ebp]
	push	edi
	call	eax
	add	esp, 28					; 0000001cH
$LN1@Created@50:
	pop	edi
	pop	esi
	pop	ebp

; 4800 : 	}
; 4801 : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Custom, COMDAT
; _this$ = ecx

; 4804 : {

	push	esi

; 4805 : 	int msg;
; 4806 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4807 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $LN1@Custom@30

; 4808 : 	{
; 4809 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+300]
	push	0
	push	eax
	call	edx
	add	esp, 8

; 4810 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$LN1@Custom@30:
	pop	esi

; 4811 : 	}
; 4812 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$60827 = -40					; size = 4
_pos2$60830 = -36					; size = 12
_pos$60829 = -24					; size = 12
$T71876 = -12						; size = 12
$T71875 = -12						; size = 12
_range$60828 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$60826 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 4815 : {

	sub	esp, 40					; 00000028H
	push	ebx

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

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

; 4817 : 	if (o)

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

; 4818 : 	{
; 4819 : 		seen = o;

	mov	ebx, eax
$LN4@Enemy_Seen@30:

; 4820 : 	}
; 4821 : 	if (Get_Vehicle_Mode(seen) != FLYING)

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

; 4822 : 	{
; 4823 : 		float minrange;
; 4824 : 		float maxrange;
; 4825 : 		float range;
; 4826 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60826[esp+48]

; 4827 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60827[esp+52]

; 4828 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60829[esp+64]
	fst	DWORD PTR [esp+4]
	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 _pos2$60830[esp+64]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4829 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71875[esp+52]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60829[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$60829[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 4830 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T71876[esp+60]
	mov	DWORD PTR _pos$60829[esp+68], eax
	mov	eax, DWORD PTR [edx+64]
	push	ebx
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60830[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60830[esp+72], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60830[esp+76], eax

; 4831 : 		range = Commands->Get_Distance(pos,pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$60830[esp+68]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos$60829[esp+72]
	push	edx
	call	ecx
	fstp	DWORD PTR _range$60828[esp+72]

; 4832 : 		pos.Z = 0;

	fldz

; 4833 : 		pos2.Z = 0;
; 4834 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60830[esp+76]
	fst	DWORD PTR _pos$60829[esp+84]
	push	edx
	fstp	DWORD PTR _pos2$60830[esp+88]
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60829[esp+80]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60826[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@30
	fld	DWORD PTR _maxrange$60827[esp+52]
	fcomp	DWORD PTR _range$60828[esp+48]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN7@Enemy_Seen@30

; 4835 : 		{
; 4836 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 4837 : 			Commands->Enable_Enemy_Seen(obj,false);

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

; 4838 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebx
	call	eax
	add	esp, 12					; 0000000cH

; 4839 : 			if (!lastframe)

	cmp	BYTE PTR [esi+41], 0
	mov	DWORD PTR [esi+36], eax
	jne	SHORT $LN7@Enemy_Seen@30

; 4840 : 			{
; 4841 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 4842 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [ebx]
	add	esp, 4
	push	eax
	call	ecx

; 4843 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET ??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR [ebx]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	edx
	add	esp, 16					; 00000010H
$LN7@Enemy_Seen@30:
	pop	edi
$LN1@Enemy_Seen@30:
	pop	esi
	pop	ebx

; 4844 : 			}
; 4845 : 		}
; 4846 : 	}
; 4847 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$60842 = -244					; size = 4
_pos2$60845 = -240					; size = 12
_pos$60844 = -228					; size = 12
_range$60843 = -216					; size = 4
_minrange$60841 = -212					; size = 4
$T71882 = -208						; size = 12
$T71881 = -208						; size = 12
_params$60850 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4850 : {

	sub	esp, 244				; 000000f4H

; 4851 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+240], 1
	push	esi
	mov	esi, ecx
	jne	$LN2@Timer_Expi@60
	push	ebx
	push	edi

; 4852 : 	{
; 4853 : 		float minrange;
; 4854 : 		float maxrange;
; 4855 : 		float range;
; 4856 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET ??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$60841[esp+256]

; 4857 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET ??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$60842[esp+256]

; 4858 : 		Vector3 pos,pos2;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _pos$60844[esp+268]
	fst	DWORD PTR [esp+4]
	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 _pos2$60845[esp+268]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 4859 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T71881[esp+256]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$60844[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]

; 4860 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	DWORD PTR _pos$60844[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$60844[esp+272], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [eax+96]
	push	ecx
	lea	edi, DWORD PTR [eax+64]
	call	edx
	mov	ecx, DWORD PTR [edi]
	push	eax
	lea	eax, DWORD PTR $T71882[esp+272]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$60845[esp+276], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$60845[esp+280], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$60845[esp+284], edx

; 4861 : 		range = Commands->Get_Distance(pos,pos2);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$60845[esp+276]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _pos$60844[esp+280]
	push	ecx
	call	eax
	fstp	DWORD PTR _range$60843[esp+284]

; 4862 : 		pos.Z = 0;

	fldz
	add	esp, 28					; 0000001cH

; 4863 : 		pos2.Z = 0;
; 4864 : 		if (lastframe)

	cmp	BYTE PTR [esi+41], 0
	fst	DWORD PTR _pos$60844[esp+264]
	fst	DWORD PTR _pos2$60845[esp+264]
	je	SHORT $LN16@Timer_Expi@60

; 4865 : 		{
; 4866 : 			lastframe = false;
; 4867 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	push	ecx
	mov	BYTE PTR [esi+41], 0
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 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@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN4@Timer_Expi@60
$LN16@Timer_Expi@60:
	fstp	ST(0)
$LN4@Timer_Expi@60:

; 4868 : 		}
; 4869 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _pos2$60845[esp+256]
	push	edx
	mov	edx, DWORD PTR [ecx+256]
	lea	eax, DWORD PTR _pos$60844[esp+260]
	push	eax
	call	edx
	fcomp	DWORD PTR _minrange$60841[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN14@Timer_Expi@60
	fld	DWORD PTR _maxrange$60842[esp+256]
	fcomp	DWORD PTR _range$60843[esp+256]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN14@Timer_Expi@60

; 4870 : 		{
; 4871 : 			ActionParamsStruct params;

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

; 4872 : 			params.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 4873 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _params$60850[esp+256], 100	; 00000064H
	mov	DWORD PTR _params$60850[esp+260], eax
	mov	DWORD PTR _params$60850[esp+424], -1
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	fld	DWORD PTR _maxrange$60842[esp+260]
	mov	cl, BYTE PTR [esi+28]
	fstp	DWORD PTR _params$60850[esp+336]
	fldz
	mov	DWORD PTR _params$60850[esp+348], eax

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$60850[esp+340]
	lea	edx, DWORD PTR _params$60850[esp+260]
	push	edx
	mov	BYTE PTR _params$60850[esp+356], cl
	mov	ecx, DWORD PTR [eax+20]
	push	ebx
	call	ecx
	add	esp, 12					; 0000000cH

; 4875 : 			if (primary)

	cmp	BYTE PTR [esi+28], 0
	sete	dl
	mov	BYTE PTR [esi+28], dl
$LN14@Timer_Expi@60:
	pop	edi
	pop	ebx
$LN2@Timer_Expi@60:
	pop	esi

; 4876 : 			{
; 4877 : 				primary = false;
; 4878 : 			}
; 4879 : 			else
; 4880 : 			{
; 4881 : 				primary = true;
; 4882 : 			}
; 4883 : 		}
; 4884 : 	}
; 4885 : }

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

; 4888 : {

	push	esi
	mov	esi, ecx

; 4889 : 	Auto_Save_Variable(1,4,&effectid);

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

; 4890 : 	Auto_Save_Variable(2,4,&attackid);

	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

; 4891 : 	Auto_Save_Variable(3,1,&enemyseen);

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

; 4892 : 	Auto_Save_Variable(4,1,&lastframe);

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

; 4893 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4896 : {

	push	esi
	mov	esi, ecx

; 4897 : 	Auto_Save_Variable(1,4,&effectid);

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

; 4898 : 	Auto_Save_Variable(2,4,&attackid);

	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

; 4899 : 	Auto_Save_Variable(3,1,&enemyseen);

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

; 4900 : 	Auto_Save_Variable(4,1,&lastframe);

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

; 4901 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4904 : {

	push	esi
	mov	esi, ecx

; 4905 : 	Auto_Save_Variable(1,1,&primary);

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

; 4906 : 	Auto_Save_Variable(2,4,&effectid);

	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

; 4907 : 	Auto_Save_Variable(3,4,&attackid);

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

; 4908 : 	Auto_Save_Variable(4,1,&enemyseen);

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

; 4909 : 	Auto_Save_Variable(5,1,&lastframe);

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

; 4910 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXXZ PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4913 : {

	push	esi
	mov	esi, ecx

; 4914 : 	Auto_Save_Variable(1,1,&primary);

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

; 4915 : 	Auto_Save_Variable(2,4,&effectid);

	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

; 4916 : 	Auto_Save_Variable(3,4,&attackid);

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

; 4917 : 	Auto_Save_Variable(4,1,&enemyseen);

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

; 4918 : 	Auto_Save_Variable(5,1,&lastframe);

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

; 4919 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun>::~ScriptRegistrant<JFW_Building_Gun>
EXTRN	??1ScriptFactory@@UAE@XZ:PROC			; ScriptFactory::~ScriptFactory
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun@@@@UAE@XZ PROC	; ScriptRegistrant<JFW_Building_Gun>::~ScriptRegistrant<JFW_Building_Gun>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun@@@@UAE@XZ ENDP	; ScriptRegistrant<JFW_Building_Gun>::~ScriptRegistrant<JFW_Building_Gun>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Weapon>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Weapon>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Weapon>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated>::~ScriptRegistrant<JFW_Building_Gun_Animated>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated>::~ScriptRegistrant<JFW_Building_Gun_Animated>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated>::~ScriptRegistrant<JFW_Building_Gun_Animated>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>
_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
$T72217 = -12						; size = 12
_this$ = 8						; size = 4
$T72223 = 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 $T72223[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T72217[esp+20]
	mov	DWORD PTR $T72223[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T72217[esp+20]
	push	ecx
	mov	DWORD PTR $T72217[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
$T72229 = -12						; size = 12
$T72234 = 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 $T72234[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T72229[esp+20]
	mov	DWORD PTR $T72234[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T72229[esp+20]
	push	ecx
	mov	DWORD PTR $T72229[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@VJFW_Building_Gun@@@@6B@	; ScriptRegistrant<JFW_Building_Gun>::`vftable'
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun>::ScriptRegistrant<JFW_Building_Gun>
PUBLIC	??_R4?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$ScriptRegistrant@VJFW_Building_Gun@@@@@8 ; ScriptRegistrant<JFW_Building_Gun> `RTTI Type Descriptor'
PUBLIC	??_R3?$ScriptRegistrant@VJFW_Building_Gun@@@@8	; ScriptRegistrant<JFW_Building_Gun>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$ScriptRegistrant@VJFW_Building_Gun@@@@8	; ScriptRegistrant<JFW_Building_Gun>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$ScriptRegistrant@VJFW_Building_Gun@@@@8 ; ScriptRegistrant<JFW_Building_Gun>::`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@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun>::Create
EXTRN	??0ScriptFactory@@QAE@PAD0@Z:PROC		; ScriptFactory::ScriptFactory
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAXI@Z:PROC ; ScriptRegistrant<JFW_Building_Gun>::`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@VJFW_Building_Gun@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$ScriptRegistrant@VJFW_Building_Gun@@@@8 DD FLAT:??_R0?AV?$ScriptRegistrant@VJFW_Building_Gun@@@@@8 ; ScriptRegistrant<JFW_Building_Gun>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$ScriptRegistrant@VJFW_Building_Gun@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$ScriptRegistrant@VJFW_Building_Gun@@@@8
rdata$r	SEGMENT
??_R2?$ScriptRegistrant@VJFW_Building_Gun@@@@8 DD FLAT:??_R1A@?0A@EA@?$ScriptRegistrant@VJFW_Building_Gun@@@@8 ; ScriptRegistrant<JFW_Building_Gun>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$ScriptRegistrant@VJFW_Building_Gun@@@@8
rdata$r	SEGMENT
??_R3?$ScriptRegistrant@VJFW_Building_Gun@@@@8 DD 00H	; ScriptRegistrant<JFW_Building_Gun>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$ScriptRegistrant@VJFW_Building_Gun@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$ScriptRegistrant@VJFW_Building_Gun@@@@@8
_DATA	SEGMENT
??_R0?AV?$ScriptRegistrant@VJFW_Building_Gun@@@@@8 DD FLAT:??_7type_info@@6B@ ; ScriptRegistrant<JFW_Building_Gun> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$ScriptRegistrant@VJFW_Building_Gun@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@
rdata$r	SEGMENT
??_R4?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@ DD 00H	; ScriptRegistrant<JFW_Building_Gun>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$ScriptRegistrant@VJFW_Building_Gun@@@@@8
	DD	FLAT:??_R3?$ScriptRegistrant@VJFW_Building_Gun@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@ DD FLAT:??_R4?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun>::`vftable'
	DD	FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun@@@@QAE@PAD0@Z PROC ; ScriptRegistrant<JFW_Building_Gun>::ScriptRegistrant<JFW_Building_Gun>, 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@VJFW_Building_Gun@@@@6B@

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>
; 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@VJFW_Building_Gun@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun>::`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@VJFW_Building_Gun@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon>::`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@VJFW_Building_Gun_Weapon@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::`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@VJFW_Building_Gun_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Aircraft_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@5
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@5:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::`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@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_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@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@8
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@8:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@9
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@9:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@10
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@10:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@11
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@11:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::`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@12
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@12:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::`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@13
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@13:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated>::`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@14
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@14:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::`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@15
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@15:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::`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@16
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@16:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_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@17
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@17:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::`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@18
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@18:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_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@19
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@19:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::`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@20
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@20:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::`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@21
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@21:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::`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@22
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@22:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::`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@23
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@23:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::`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@24
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@24:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::`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@25
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@25:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_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@26
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@26:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_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@27
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@27:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::`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@28
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@28:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::`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@29
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@29:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_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@30
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@30:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_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@31
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@31:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::`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@32
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@32:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::`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@33
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@33:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_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@34
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@34:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_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@35
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@35:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::`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@36
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@36:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::`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@37
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@37:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_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@38
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@38:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_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@39
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@39:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::`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@40
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@40:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::`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@41
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@41:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_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@42
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@42:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_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@43
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@43:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::`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@44
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@44:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::`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@45
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@45:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_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@46
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@46:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_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@47
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@47:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::`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@48
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@48:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::`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@49
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@49:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::`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@50
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@50:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::`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@51
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@51:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::`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@52
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@52:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_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@53
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@53:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::`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@54
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@54:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_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@55
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@55:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::`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@56
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@56:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::`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@57
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@57:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::`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@58
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@58:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::`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@59
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@59:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::`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@60
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@60:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::`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@61
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@61:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::`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	??_7JFW_Building_Gun@@6B@			; JFW_Building_Gun::`vftable'
PUBLIC	??0JFW_Building_Gun@@QAE@XZ			; JFW_Building_Gun::JFW_Building_Gun
PUBLIC	??_R4JFW_Building_Gun@@6B@			; JFW_Building_Gun::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun@@@8			; JFW_Building_Gun `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun@@8			; JFW_Building_Gun::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun@@8			; JFW_Building_Gun::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun@@8		; JFW_Building_Gun::`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	??_EJFW_Building_Gun@@UAEPAXI@Z:PROC		; JFW_Building_Gun::`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	?Damaged@ScriptImpClass@@UAEXPAE0M@Z:PROC	; ScriptImpClass::Damaged
EXTRN	?Custom@ScriptImpClass@@UAEXPAEHH0@Z:PROC	; ScriptImpClass::Custom
EXTRN	?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z:PROC ; ScriptImpClass::Sound_Heard
EXTRN	?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z:PROC	; ScriptImpClass::Enemy_Seen
EXTRN	?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z:PROC ; ScriptImpClass::Action_Complete
EXTRN	?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z:PROC ; ScriptImpClass::Animation_Complete
EXTRN	?Poked@ScriptImpClass@@UAEXPAE0@Z:PROC		; ScriptImpClass::Poked
EXTRN	?Entered@ScriptImpClass@@UAEXPAE0@Z:PROC	; ScriptImpClass::Entered
EXTRN	?Exited@ScriptImpClass@@UAEXPAE0@Z:PROC		; ScriptImpClass::Exited
EXTRN	?Owner@ScriptImpClass@@UAEPAEXZ:PROC		; ScriptImpClass::Owner
EXTRN	?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ:PROC	; ScriptImpClass::Get_Owner_Ptr
EXTRN	?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z:PROC ; ScriptImpClass::Set_Parameters_String
EXTRN	?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z:PROC ; ScriptImpClass::Get_Parameters_String
EXTRN	?Save@ScriptImpClass@@UAEXAAE@Z:PROC		; ScriptImpClass::Save
EXTRN	?Load@ScriptImpClass@@UAEXAAE@Z:PROC		; ScriptImpClass::Load
EXTRN	?Save_Data@ScriptImpClass@@UAEXAAE@Z:PROC	; ScriptImpClass::Save_Data
EXTRN	?Load_Data@ScriptImpClass@@UAEXAAE@Z:PROC	; ScriptImpClass::Load_Data
;	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@JFW_Building_Gun@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun@@8 DD FLAT:??_R0?AVJFW_Building_Gun@@@8 ; JFW_Building_Gun::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun@@8 ; JFW_Building_Gun::`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 ??_R3JFW_Building_Gun@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun@@8 DD 00H				; JFW_Building_Gun::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun@@@8 DD FLAT:??_7type_info@@6B@	; JFW_Building_Gun `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun@@6B@ DD 00H			; JFW_Building_Gun::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun@@@8
	DD	FLAT:??_R3JFW_Building_Gun@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun@@6B@ DD FLAT:??_R4JFW_Building_Gun@@6B@ ; JFW_Building_Gun::`vftable'
	DD	FLAT:??_EJFW_Building_Gun@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun@@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@JFW_Building_Gun@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun@@QAE@XZ PROC			; JFW_Building_Gun::JFW_Building_Gun, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun@@QAE@XZ ENDP			; JFW_Building_Gun::JFW_Building_Gun
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Weapon@@6B@		; JFW_Building_Gun_Weapon::`vftable'
PUBLIC	??0JFW_Building_Gun_Weapon@@QAE@XZ		; JFW_Building_Gun_Weapon::JFW_Building_Gun_Weapon
PUBLIC	??_R4JFW_Building_Gun_Weapon@@6B@		; JFW_Building_Gun_Weapon::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Weapon@@@8		; JFW_Building_Gun_Weapon `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Weapon@@8			; JFW_Building_Gun_Weapon::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Weapon@@8			; JFW_Building_Gun_Weapon::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Weapon@@8	; JFW_Building_Gun_Weapon::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Weapon@@UAEPAXI@Z:PROC	; JFW_Building_Gun_Weapon::`vector deleting destructor'
EXTRN	?Killed@ScriptImpClass@@UAEXPAE0@Z:PROC		; ScriptImpClass::Killed
EXTRN	?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ:PROC ; ScriptImpClass::Register_Auto_Save_Variables
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Weapon@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Weapon@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Weapon@@@8 ; JFW_Building_Gun_Weapon::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Weapon@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Weapon@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Weapon@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Weapon@@8 ; JFW_Building_Gun_Weapon::`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 ??_R3JFW_Building_Gun_Weapon@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Weapon@@8 DD 00H			; JFW_Building_Gun_Weapon::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Weapon@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Weapon@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Weapon@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Weapon `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Weapon@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Weapon@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Weapon@@6B@ DD 00H		; JFW_Building_Gun_Weapon::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Weapon@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Weapon@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon@@6B@ DD FLAT:??_R4JFW_Building_Gun_Weapon@@6B@ ; JFW_Building_Gun_Weapon::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Weapon@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Weapon@@QAE@XZ PROC			; JFW_Building_Gun_Weapon::JFW_Building_Gun_Weapon, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Weapon@@QAE@XZ ENDP			; JFW_Building_Gun_Weapon::JFW_Building_Gun_Weapon
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_No_Aircraft@@6B@		; JFW_Building_Gun_No_Aircraft::`vftable'
PUBLIC	??0JFW_Building_Gun_No_Aircraft@@QAE@XZ		; JFW_Building_Gun_No_Aircraft::JFW_Building_Gun_No_Aircraft
PUBLIC	??_R4JFW_Building_Gun_No_Aircraft@@6B@		; JFW_Building_Gun_No_Aircraft::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_No_Aircraft@@@8	; JFW_Building_Gun_No_Aircraft `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_No_Aircraft@@8		; JFW_Building_Gun_No_Aircraft::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_No_Aircraft@@8		; JFW_Building_Gun_No_Aircraft::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_No_Aircraft@@8	; JFW_Building_Gun_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z:PROC ; JFW_Building_Gun_No_Aircraft::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_No_Aircraft@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_No_Aircraft@@8 DD FLAT:??_R0?AVJFW_Building_Gun_No_Aircraft@@@8 ; JFW_Building_Gun_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_No_Aircraft@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_No_Aircraft@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_No_Aircraft@@8 ; JFW_Building_Gun_No_Aircraft::`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 ??_R3JFW_Building_Gun_No_Aircraft@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_No_Aircraft@@8 DD 00H		; JFW_Building_Gun_No_Aircraft::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_No_Aircraft@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_No_Aircraft@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_No_Aircraft `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_No_Aircraft@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_No_Aircraft@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_No_Aircraft@@6B@ DD 00H		; JFW_Building_Gun_No_Aircraft::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_No_Aircraft@@@8
	DD	FLAT:??_R3JFW_Building_Gun_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_No_Aircraft@@6B@ DD FLAT:??_R4JFW_Building_Gun_No_Aircraft@@6B@ ; JFW_Building_Gun_No_Aircraft::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_No_Aircraft@@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@JFW_Building_Gun_No_Aircraft@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_No_Aircraft@@QAE@XZ PROC		; JFW_Building_Gun_No_Aircraft::JFW_Building_Gun_No_Aircraft, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_No_Aircraft@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_No_Aircraft@@QAE@XZ ENDP		; JFW_Building_Gun_No_Aircraft::JFW_Building_Gun_No_Aircraft
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Aircraft_Only@@6B@		; JFW_Building_Gun_Aircraft_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_Aircraft_Only@@QAE@XZ	; JFW_Building_Gun_Aircraft_Only::JFW_Building_Gun_Aircraft_Only
PUBLIC	??_R4JFW_Building_Gun_Aircraft_Only@@6B@	; JFW_Building_Gun_Aircraft_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Aircraft_Only@@@8	; JFW_Building_Gun_Aircraft_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Aircraft_Only@@8		; JFW_Building_Gun_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Aircraft_Only@@8		; JFW_Building_Gun_Aircraft_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Aircraft_Only@@8	; JFW_Building_Gun_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Aircraft_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Aircraft_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Aircraft_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Aircraft_Only@@@8 ; JFW_Building_Gun_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Aircraft_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Aircraft_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Aircraft_Only@@8 ; JFW_Building_Gun_Aircraft_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 ??_R3JFW_Building_Gun_Aircraft_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Aircraft_Only@@8 DD 00H		; JFW_Building_Gun_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Aircraft_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Aircraft_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Aircraft_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Aircraft_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Aircraft_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Aircraft_Only@@6B@ DD 00H		; JFW_Building_Gun_Aircraft_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Aircraft_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Aircraft_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_Aircraft_Only@@6B@ ; JFW_Building_Gun_Aircraft_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Aircraft_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@JFW_Building_Gun_Aircraft_Only@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Aircraft_Only@@QAE@XZ PROC		; JFW_Building_Gun_Aircraft_Only::JFW_Building_Gun_Aircraft_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Aircraft_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Aircraft_Only@@QAE@XZ ENDP		; JFW_Building_Gun_Aircraft_Only::JFW_Building_Gun_Aircraft_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Weapon_No_Aircraft@@6B@	; JFW_Building_Gun_Weapon_No_Aircraft::`vftable'
PUBLIC	??0JFW_Building_Gun_Weapon_No_Aircraft@@QAE@XZ	; JFW_Building_Gun_Weapon_No_Aircraft::JFW_Building_Gun_Weapon_No_Aircraft
PUBLIC	??_R4JFW_Building_Gun_Weapon_No_Aircraft@@6B@	; JFW_Building_Gun_Weapon_No_Aircraft::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Weapon_No_Aircraft@@@8	; JFW_Building_Gun_Weapon_No_Aircraft `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Weapon_No_Aircraft@@8	; JFW_Building_Gun_Weapon_No_Aircraft::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Weapon_No_Aircraft@@8	; JFW_Building_Gun_Weapon_No_Aircraft::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_Aircraft@@8 ; JFW_Building_Gun_Weapon_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Weapon_No_Aircraft::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_Aircraft@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_Aircraft@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Weapon_No_Aircraft@@@8 ; JFW_Building_Gun_Weapon_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Weapon_No_Aircraft@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Weapon_No_Aircraft@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_Aircraft@@8 ; JFW_Building_Gun_Weapon_No_Aircraft::`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 ??_R3JFW_Building_Gun_Weapon_No_Aircraft@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Weapon_No_Aircraft@@8 DD 00H	; JFW_Building_Gun_Weapon_No_Aircraft::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Weapon_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Weapon_No_Aircraft@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Weapon_No_Aircraft@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Weapon_No_Aircraft `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Weapon_No_Aircraft@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Weapon_No_Aircraft@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Weapon_No_Aircraft@@6B@ DD 00H	; JFW_Building_Gun_Weapon_No_Aircraft::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Weapon_No_Aircraft@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_No_Aircraft@@6B@ DD FLAT:??_R4JFW_Building_Gun_Weapon_No_Aircraft@@6B@ ; JFW_Building_Gun_Weapon_No_Aircraft::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Weapon_No_Aircraft@@QAE@XZ PROC	; JFW_Building_Gun_Weapon_No_Aircraft::JFW_Building_Gun_Weapon_No_Aircraft, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_No_Aircraft@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Weapon_No_Aircraft@@QAE@XZ ENDP	; JFW_Building_Gun_Weapon_No_Aircraft::JFW_Building_Gun_Weapon_No_Aircraft
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Weapon_Aircraft_Only@@6B@	; JFW_Building_Gun_Weapon_Aircraft_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_Weapon_Aircraft_Only@@QAE@XZ ; JFW_Building_Gun_Weapon_Aircraft_Only::JFW_Building_Gun_Weapon_Aircraft_Only
PUBLIC	??_R4JFW_Building_Gun_Weapon_Aircraft_Only@@6B@	; JFW_Building_Gun_Weapon_Aircraft_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Weapon_Aircraft_Only@@@8 ; JFW_Building_Gun_Weapon_Aircraft_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Weapon_Aircraft_Only@@8	; JFW_Building_Gun_Weapon_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Weapon_Aircraft_Only@@8	; JFW_Building_Gun_Weapon_Aircraft_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Aircraft_Only@@8 ; JFW_Building_Gun_Weapon_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Weapon_Aircraft_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Aircraft_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Aircraft_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Weapon_Aircraft_Only@@@8 ; JFW_Building_Gun_Weapon_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Weapon_Aircraft_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Weapon_Aircraft_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Aircraft_Only@@8 ; JFW_Building_Gun_Weapon_Aircraft_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 ??_R3JFW_Building_Gun_Weapon_Aircraft_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Weapon_Aircraft_Only@@8 DD 00H	; JFW_Building_Gun_Weapon_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Weapon_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Weapon_Aircraft_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Weapon_Aircraft_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Weapon_Aircraft_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Weapon_Aircraft_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Weapon_Aircraft_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Weapon_Aircraft_Only@@6B@ DD 00H	; JFW_Building_Gun_Weapon_Aircraft_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Weapon_Aircraft_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_Aircraft_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_Weapon_Aircraft_Only@@6B@ ; JFW_Building_Gun_Weapon_Aircraft_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_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@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Weapon_Aircraft_Only@@QAE@XZ PROC	; JFW_Building_Gun_Weapon_Aircraft_Only::JFW_Building_Gun_Weapon_Aircraft_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_Aircraft_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Weapon_Aircraft_Only@@QAE@XZ ENDP	; JFW_Building_Gun_Weapon_Aircraft_Only::JFW_Building_Gun_Weapon_Aircraft_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Secondary@@6B@		; JFW_Building_Gun_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Secondary@@QAE@XZ		; JFW_Building_Gun_Secondary::JFW_Building_Gun_Secondary
PUBLIC	??_R4JFW_Building_Gun_Secondary@@6B@		; JFW_Building_Gun_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Secondary@@@8		; JFW_Building_Gun_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Secondary@@8		; JFW_Building_Gun_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Secondary@@8		; JFW_Building_Gun_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Secondary@@8	; JFW_Building_Gun_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Secondary@@UAEPAXI@Z:PROC	; JFW_Building_Gun_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Secondary@@@8 ; JFW_Building_Gun_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Secondary@@8 ; JFW_Building_Gun_Secondary::`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 ??_R3JFW_Building_Gun_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Secondary@@8 DD 00H		; JFW_Building_Gun_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Secondary@@6B@ DD 00H		; JFW_Building_Gun_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Secondary@@6B@ ; JFW_Building_Gun_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Secondary@@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@JFW_Building_Gun_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Secondary@@QAE@XZ PROC		; JFW_Building_Gun_Secondary::JFW_Building_Gun_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Secondary@@QAE@XZ ENDP		; JFW_Building_Gun_Secondary::JFW_Building_Gun_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Weapon_Secondary@@6B@	; JFW_Building_Gun_Weapon_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Weapon_Secondary@@QAE@XZ	; JFW_Building_Gun_Weapon_Secondary::JFW_Building_Gun_Weapon_Secondary
PUBLIC	??_R4JFW_Building_Gun_Weapon_Secondary@@6B@	; JFW_Building_Gun_Weapon_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Weapon_Secondary@@@8	; JFW_Building_Gun_Weapon_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Weapon_Secondary@@8	; JFW_Building_Gun_Weapon_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Weapon_Secondary@@8	; JFW_Building_Gun_Weapon_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Secondary@@8 ; JFW_Building_Gun_Weapon_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Weapon_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Weapon_Secondary@@@8 ; JFW_Building_Gun_Weapon_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Weapon_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Weapon_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Secondary@@8 ; JFW_Building_Gun_Weapon_Secondary::`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 ??_R3JFW_Building_Gun_Weapon_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Weapon_Secondary@@8 DD 00H	; JFW_Building_Gun_Weapon_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Weapon_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Weapon_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Weapon_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Weapon_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Weapon_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Weapon_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Weapon_Secondary@@6B@ DD 00H	; JFW_Building_Gun_Weapon_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Weapon_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Weapon_Secondary@@6B@ ; JFW_Building_Gun_Weapon_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_Secondary@@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@JFW_Building_Gun_Weapon_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Weapon_Secondary@@QAE@XZ PROC	; JFW_Building_Gun_Weapon_Secondary::JFW_Building_Gun_Weapon_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Weapon_Secondary@@QAE@XZ ENDP	; JFW_Building_Gun_Weapon_Secondary::JFW_Building_Gun_Weapon_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_No_Aircraft_Secondary@@6B@	; JFW_Building_Gun_No_Aircraft_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_No_Aircraft_Secondary@@QAE@XZ ; JFW_Building_Gun_No_Aircraft_Secondary::JFW_Building_Gun_No_Aircraft_Secondary
PUBLIC	??_R4JFW_Building_Gun_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_No_Aircraft_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_No_Aircraft_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_No_Aircraft_Secondary@@8	; JFW_Building_Gun_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_No_Aircraft_Secondary@@8	; JFW_Building_Gun_No_Aircraft_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_No_Aircraft_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_No_Aircraft_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_No_Aircraft_Secondary::`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 ??_R3JFW_Building_Gun_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_No_Aircraft_Secondary@@8 DD 00H	; JFW_Building_Gun_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_No_Aircraft_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_No_Aircraft_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_No_Aircraft_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_No_Aircraft_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_No_Aircraft_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_No_Aircraft_Secondary@@6B@ DD 00H	; JFW_Building_Gun_No_Aircraft_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_No_Aircraft_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_No_Aircraft_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_No_Aircraft_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_No_Aircraft_Secondary@@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@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_No_Aircraft_Secondary@@QAE@XZ PROC	; JFW_Building_Gun_No_Aircraft_Secondary::JFW_Building_Gun_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_No_Aircraft_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_No_Aircraft_Secondary@@QAE@XZ ENDP	; JFW_Building_Gun_No_Aircraft_Secondary::JFW_Building_Gun_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Aircraft_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Aircraft_Only_Secondary@@QAE@XZ ; JFW_Building_Gun_Aircraft_Only_Secondary::JFW_Building_Gun_Aircraft_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Aircraft_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Aircraft_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Aircraft_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Aircraft_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Aircraft_Only_Secondary::`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 ??_R3JFW_Building_Gun_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Aircraft_Only_Secondary@@8 DD 00H	; JFW_Building_Gun_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Aircraft_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Aircraft_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Aircraft_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Aircraft_Only_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Aircraft_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Aircraft_Only_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Aircraft_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Aircraft_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Aircraft_Only_Secondary@@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@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Aircraft_Only_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Aircraft_Only_Secondary::JFW_Building_Gun_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Aircraft_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Aircraft_Only_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Aircraft_Only_Secondary::JFW_Building_Gun_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@QAE@XZ ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::JFW_Building_Gun_Weapon_No_Aircraft_Secondary
PUBLIC	??_R4JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`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 ??_R3JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8 DD 00H ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@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@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::JFW_Building_Gun_Weapon_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::JFW_Building_Gun_Weapon_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@QAE@XZ ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::JFW_Building_Gun_Weapon_Aircraft_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`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 ??_R3JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8 DD 00H ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@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@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::JFW_Building_Gun_Weapon_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::JFW_Building_Gun_Weapon_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated@@6B@		; JFW_Building_Gun_Animated::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated@@QAE@XZ		; JFW_Building_Gun_Animated::JFW_Building_Gun_Animated
PUBLIC	??_R4JFW_Building_Gun_Animated@@6B@		; JFW_Building_Gun_Animated::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated@@@8		; JFW_Building_Gun_Animated `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated@@8		; JFW_Building_Gun_Animated::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated@@8		; JFW_Building_Gun_Animated::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated@@8	; JFW_Building_Gun_Animated::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated@@UAEPAXI@Z:PROC	; JFW_Building_Gun_Animated::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated@@@8 ; JFW_Building_Gun_Animated::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated@@8 ; JFW_Building_Gun_Animated::`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 ??_R3JFW_Building_Gun_Animated@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated@@8 DD 00H		; JFW_Building_Gun_Animated::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated@@6B@ DD 00H		; JFW_Building_Gun_Animated::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated@@6B@ ; JFW_Building_Gun_Animated::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated@@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@JFW_Building_Gun_Animated@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated@@QAE@XZ PROC		; JFW_Building_Gun_Animated::JFW_Building_Gun_Animated, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated@@QAE@XZ ENDP		; JFW_Building_Gun_Animated::JFW_Building_Gun_Animated
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon@@6B@	; JFW_Building_Gun_Animated_Weapon::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Weapon@@QAE@XZ	; JFW_Building_Gun_Animated_Weapon::JFW_Building_Gun_Animated_Weapon
PUBLIC	??_R4JFW_Building_Gun_Animated_Weapon@@6B@	; JFW_Building_Gun_Animated_Weapon::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Weapon@@@8	; JFW_Building_Gun_Animated_Weapon `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Weapon@@8	; JFW_Building_Gun_Animated_Weapon::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Weapon@@8	; JFW_Building_Gun_Animated_Weapon::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon@@8 ; JFW_Building_Gun_Animated_Weapon::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Weapon::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon@@@8 ; JFW_Building_Gun_Animated_Weapon::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Weapon@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Weapon@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon@@8 ; JFW_Building_Gun_Animated_Weapon::`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 ??_R3JFW_Building_Gun_Animated_Weapon@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Weapon@@8 DD 00H		; JFW_Building_Gun_Animated_Weapon::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Weapon@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Weapon@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Weapon@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Weapon `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Weapon@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Weapon@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Weapon@@6B@ DD 00H	; JFW_Building_Gun_Animated_Weapon::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Weapon@@6B@ ; JFW_Building_Gun_Animated_Weapon::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon@@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@JFW_Building_Gun_Animated_Weapon@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Weapon@@QAE@XZ PROC	; JFW_Building_Gun_Animated_Weapon::JFW_Building_Gun_Animated_Weapon, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Weapon@@QAE@XZ ENDP	; JFW_Building_Gun_Animated_Weapon::JFW_Building_Gun_Animated_Weapon
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_No_Aircraft@@6B@	; JFW_Building_Gun_Animated_No_Aircraft::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_No_Aircraft@@QAE@XZ ; JFW_Building_Gun_Animated_No_Aircraft::JFW_Building_Gun_Animated_No_Aircraft
PUBLIC	??_R4JFW_Building_Gun_Animated_No_Aircraft@@6B@	; JFW_Building_Gun_Animated_No_Aircraft::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_No_Aircraft@@@8 ; JFW_Building_Gun_Animated_No_Aircraft `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_No_Aircraft@@8	; JFW_Building_Gun_Animated_No_Aircraft::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_No_Aircraft@@8	; JFW_Building_Gun_Animated_No_Aircraft::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_Aircraft@@8 ; JFW_Building_Gun_Animated_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_No_Aircraft::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_Aircraft@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_Aircraft@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_No_Aircraft@@@8 ; JFW_Building_Gun_Animated_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_No_Aircraft@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_No_Aircraft@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_Aircraft@@8 ; JFW_Building_Gun_Animated_No_Aircraft::`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 ??_R3JFW_Building_Gun_Animated_No_Aircraft@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_No_Aircraft@@8 DD 00H	; JFW_Building_Gun_Animated_No_Aircraft::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_No_Aircraft@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_No_Aircraft@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_No_Aircraft `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_No_Aircraft@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_No_Aircraft@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_No_Aircraft@@6B@ DD 00H	; JFW_Building_Gun_Animated_No_Aircraft::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_No_Aircraft@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_No_Aircraft@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_No_Aircraft::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft@@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@JFW_Building_Gun_Animated_No_Aircraft@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_No_Aircraft@@QAE@XZ PROC	; JFW_Building_Gun_Animated_No_Aircraft::JFW_Building_Gun_Animated_No_Aircraft, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_No_Aircraft@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_No_Aircraft@@QAE@XZ ENDP	; JFW_Building_Gun_Animated_No_Aircraft::JFW_Building_Gun_Animated_No_Aircraft
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Aircraft_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Aircraft_Only@@QAE@XZ ; JFW_Building_Gun_Animated_Aircraft_Only::JFW_Building_Gun_Animated_Aircraft_Only
PUBLIC	??_R4JFW_Building_Gun_Animated_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Aircraft_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Aircraft_Only@@@8 ; JFW_Building_Gun_Animated_Aircraft_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Aircraft_Only@@8	; JFW_Building_Gun_Animated_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Aircraft_Only@@8	; JFW_Building_Gun_Animated_Aircraft_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Aircraft_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Aircraft_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Aircraft_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Aircraft_Only@@@8 ; JFW_Building_Gun_Animated_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Aircraft_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Aircraft_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Aircraft_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 ??_R3JFW_Building_Gun_Animated_Aircraft_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Aircraft_Only@@8 DD 00H	; JFW_Building_Gun_Animated_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Aircraft_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Aircraft_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Aircraft_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Aircraft_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Aircraft_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Aircraft_Only@@6B@ DD 00H ; JFW_Building_Gun_Animated_Aircraft_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Aircraft_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Aircraft_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Aircraft_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_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@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Aircraft_Only@@QAE@XZ PROC	; JFW_Building_Gun_Animated_Aircraft_Only::JFW_Building_Gun_Animated_Aircraft_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Aircraft_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Aircraft_Only@@QAE@XZ ENDP	; JFW_Building_Gun_Animated_Aircraft_Only::JFW_Building_Gun_Animated_Aircraft_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Weapon_No_Aircraft@@QAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::JFW_Building_Gun_Animated_Weapon_No_Aircraft
PUBLIC	??_R4JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`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 ??_R3JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8 DD 00H ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@ DD 00H ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@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@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Weapon_No_Aircraft@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::JFW_Building_Gun_Animated_Weapon_No_Aircraft, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Weapon_No_Aircraft@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::JFW_Building_Gun_Animated_Weapon_No_Aircraft
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@QAE@XZ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::JFW_Building_Gun_Animated_Weapon_Aircraft_Only
PUBLIC	??_R4JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_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 ??_R3JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8 DD 00H ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@ DD 00H ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_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@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::JFW_Building_Gun_Animated_Weapon_Aircraft_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::JFW_Building_Gun_Animated_Weapon_Aircraft_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Secondary@@6B@	; JFW_Building_Gun_Animated_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Secondary@@QAE@XZ	; JFW_Building_Gun_Animated_Secondary::JFW_Building_Gun_Animated_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Secondary@@6B@	; JFW_Building_Gun_Animated_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Secondary@@@8	; JFW_Building_Gun_Animated_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Secondary@@8	; JFW_Building_Gun_Animated_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Secondary@@8	; JFW_Building_Gun_Animated_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Secondary@@8 ; JFW_Building_Gun_Animated_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Secondary@@@8 ; JFW_Building_Gun_Animated_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Secondary@@8 ; JFW_Building_Gun_Animated_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Secondary@@8 DD 00H	; JFW_Building_Gun_Animated_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Secondary@@6B@ DD 00H	; JFW_Building_Gun_Animated_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Secondary@@6B@ ; JFW_Building_Gun_Animated_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Secondary@@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@JFW_Building_Gun_Animated_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Secondary@@QAE@XZ PROC	; JFW_Building_Gun_Animated_Secondary::JFW_Building_Gun_Animated_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Secondary@@QAE@XZ ENDP	; JFW_Building_Gun_Animated_Secondary::JFW_Building_Gun_Animated_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Weapon_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Weapon_Secondary::JFW_Building_Gun_Animated_Weapon_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Weapon_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Weapon_Secondary@@@8 ; JFW_Building_Gun_Animated_Weapon_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Weapon_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Weapon_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Weapon_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_Secondary@@@8 ; JFW_Building_Gun_Animated_Weapon_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Weapon_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Weapon_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Weapon_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Weapon_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Weapon_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Weapon_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Weapon_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Weapon_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Weapon_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Weapon_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Weapon_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Weapon_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Weapon_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Weapon_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Secondary@@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@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Weapon_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_Secondary::JFW_Building_Gun_Animated_Weapon_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Weapon_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::JFW_Building_Gun_Animated_Weapon_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_No_Aircraft_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::JFW_Building_Gun_Animated_No_Aircraft_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_Animated_No_Aircraft_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`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 ??_R3JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_No_Aircraft_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_No_Aircraft_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@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@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_No_Aircraft_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::JFW_Building_Gun_Animated_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_No_Aircraft_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::JFW_Building_Gun_Animated_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Aircraft_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@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@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft_Seconda'
	DB	'ry@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@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@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secon'
	DB	'dary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@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@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_No_VTOL@@6B@		; JFW_Building_Gun_No_VTOL::`vftable'
PUBLIC	??0JFW_Building_Gun_No_VTOL@@QAE@XZ		; JFW_Building_Gun_No_VTOL::JFW_Building_Gun_No_VTOL
PUBLIC	??_R4JFW_Building_Gun_No_VTOL@@6B@		; JFW_Building_Gun_No_VTOL::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_No_VTOL@@@8		; JFW_Building_Gun_No_VTOL `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_No_VTOL@@8		; JFW_Building_Gun_No_VTOL::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_No_VTOL@@8		; JFW_Building_Gun_No_VTOL::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_No_VTOL@@8	; JFW_Building_Gun_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_No_VTOL@@UAEPAXI@Z:PROC	; JFW_Building_Gun_No_VTOL::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_No_VTOL@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_No_VTOL@@8 DD FLAT:??_R0?AVJFW_Building_Gun_No_VTOL@@@8 ; JFW_Building_Gun_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_No_VTOL@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_No_VTOL@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_No_VTOL@@8 ; JFW_Building_Gun_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 ??_R3JFW_Building_Gun_No_VTOL@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_No_VTOL@@8 DD 00H			; JFW_Building_Gun_No_VTOL::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_No_VTOL@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_No_VTOL@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_No_VTOL `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_No_VTOL@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_No_VTOL@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_No_VTOL@@6B@ DD 00H		; JFW_Building_Gun_No_VTOL::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_No_VTOL@@@8
	DD	FLAT:??_R3JFW_Building_Gun_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_No_VTOL@@6B@ DD FLAT:??_R4JFW_Building_Gun_No_VTOL@@6B@ ; JFW_Building_Gun_No_VTOL::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_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@JFW_Building_Gun_No_VTOL@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_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@JFW_Building_Gun_No_VTOL@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_No_VTOL@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_No_VTOL@@QAE@XZ PROC		; JFW_Building_Gun_No_VTOL::JFW_Building_Gun_No_VTOL, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_No_VTOL@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_No_VTOL@@QAE@XZ ENDP		; JFW_Building_Gun_No_VTOL::JFW_Building_Gun_No_VTOL
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Weapon_No_VTOL@@6B@	; JFW_Building_Gun_Weapon_No_VTOL::`vftable'
PUBLIC	??0JFW_Building_Gun_Weapon_No_VTOL@@QAE@XZ	; JFW_Building_Gun_Weapon_No_VTOL::JFW_Building_Gun_Weapon_No_VTOL
PUBLIC	??_R4JFW_Building_Gun_Weapon_No_VTOL@@6B@	; JFW_Building_Gun_Weapon_No_VTOL::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Weapon_No_VTOL@@@8	; JFW_Building_Gun_Weapon_No_VTOL `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Weapon_No_VTOL@@8		; JFW_Building_Gun_Weapon_No_VTOL::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Weapon_No_VTOL@@8		; JFW_Building_Gun_Weapon_No_VTOL::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_VTOL@@8 ; JFW_Building_Gun_Weapon_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Weapon_No_VTOL@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Weapon_No_VTOL::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_VTOL@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_VTOL@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Weapon_No_VTOL@@@8 ; JFW_Building_Gun_Weapon_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Weapon_No_VTOL@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Weapon_No_VTOL@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_VTOL@@8 ; JFW_Building_Gun_Weapon_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 ??_R3JFW_Building_Gun_Weapon_No_VTOL@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Weapon_No_VTOL@@8 DD 00H		; JFW_Building_Gun_Weapon_No_VTOL::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Weapon_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Weapon_No_VTOL@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Weapon_No_VTOL@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Weapon_No_VTOL `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Weapon_No_VTOL@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Weapon_No_VTOL@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Weapon_No_VTOL@@6B@ DD 00H	; JFW_Building_Gun_Weapon_No_VTOL::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Weapon_No_VTOL@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_No_VTOL@@6B@ DD FLAT:??_R4JFW_Building_Gun_Weapon_No_VTOL@@6B@ ; JFW_Building_Gun_Weapon_No_VTOL::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Weapon_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@JFW_Building_Gun_Weapon_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@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_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@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_No_VTOL@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Weapon_No_VTOL@@QAE@XZ PROC		; JFW_Building_Gun_Weapon_No_VTOL::JFW_Building_Gun_Weapon_No_VTOL, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_No_VTOL@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Weapon_No_VTOL@@QAE@XZ ENDP		; JFW_Building_Gun_Weapon_No_VTOL::JFW_Building_Gun_Weapon_No_VTOL
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_No_VTOL_Secondary@@6B@	; JFW_Building_Gun_No_VTOL_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_No_VTOL_Secondary@@QAE@XZ	; JFW_Building_Gun_No_VTOL_Secondary::JFW_Building_Gun_No_VTOL_Secondary
PUBLIC	??_R4JFW_Building_Gun_No_VTOL_Secondary@@6B@	; JFW_Building_Gun_No_VTOL_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_No_VTOL_Secondary@@@8	; JFW_Building_Gun_No_VTOL_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_No_VTOL_Secondary@@8	; JFW_Building_Gun_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_No_VTOL_Secondary@@8	; JFW_Building_Gun_No_VTOL_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_No_VTOL_Secondary@@8 ; JFW_Building_Gun_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_No_VTOL_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_No_VTOL_Secondary@@@8 ; JFW_Building_Gun_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_No_VTOL_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_No_VTOL_Secondary@@8 ; JFW_Building_Gun_No_VTOL_Secondary::`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 ??_R3JFW_Building_Gun_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_No_VTOL_Secondary@@8 DD 00H	; JFW_Building_Gun_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_No_VTOL_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_No_VTOL_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_No_VTOL_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_No_VTOL_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_No_VTOL_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_No_VTOL_Secondary@@6B@ DD 00H	; JFW_Building_Gun_No_VTOL_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_No_VTOL_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_No_VTOL_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_No_VTOL_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_No_VTOL_Secondary@@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@JFW_Building_Gun_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_No_VTOL_Secondary@@QAE@XZ PROC	; JFW_Building_Gun_No_VTOL_Secondary::JFW_Building_Gun_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_No_VTOL_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_No_VTOL_Secondary@@QAE@XZ ENDP	; JFW_Building_Gun_No_VTOL_Secondary::JFW_Building_Gun_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Weapon_No_VTOL_Secondary@@QAE@XZ ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::JFW_Building_Gun_Weapon_No_VTOL_Secondary
PUBLIC	??_R4JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@8 ; JFW_Building_Gun_Weapon_No_VTOL_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@8 ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`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 ??_R3JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8 DD 00H ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Weapon_No_VTOL_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Weapon_No_VTOL_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@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@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Weapon_No_VTOL_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::JFW_Building_Gun_Weapon_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Weapon_No_VTOL_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::JFW_Building_Gun_Weapon_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_No_VTOL@@6B@	; JFW_Building_Gun_Animated_No_VTOL::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_No_VTOL@@QAE@XZ	; JFW_Building_Gun_Animated_No_VTOL::JFW_Building_Gun_Animated_No_VTOL
PUBLIC	??_R4JFW_Building_Gun_Animated_No_VTOL@@6B@	; JFW_Building_Gun_Animated_No_VTOL::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_No_VTOL@@@8	; JFW_Building_Gun_Animated_No_VTOL `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_No_VTOL@@8	; JFW_Building_Gun_Animated_No_VTOL::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_No_VTOL@@8	; JFW_Building_Gun_Animated_No_VTOL::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_VTOL@@8 ; JFW_Building_Gun_Animated_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_No_VTOL@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_No_VTOL::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_VTOL@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_VTOL@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_No_VTOL@@@8 ; JFW_Building_Gun_Animated_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_No_VTOL@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_No_VTOL@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_VTOL@@8 ; JFW_Building_Gun_Animated_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 ??_R3JFW_Building_Gun_Animated_No_VTOL@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_No_VTOL@@8 DD 00H	; JFW_Building_Gun_Animated_No_VTOL::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_No_VTOL@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_No_VTOL@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_No_VTOL `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_No_VTOL@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_No_VTOL@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_No_VTOL@@6B@ DD 00H	; JFW_Building_Gun_Animated_No_VTOL::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_No_VTOL@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_No_VTOL@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_No_VTOL::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_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@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_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@JFW_Building_Gun_Animated_No_VTOL@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_No_VTOL@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_No_VTOL@@QAE@XZ PROC	; JFW_Building_Gun_Animated_No_VTOL::JFW_Building_Gun_Animated_No_VTOL, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_No_VTOL@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_No_VTOL@@QAE@XZ ENDP	; JFW_Building_Gun_Animated_No_VTOL::JFW_Building_Gun_Animated_No_VTOL
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Weapon_No_VTOL@@QAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_VTOL::JFW_Building_Gun_Animated_Weapon_No_VTOL
PUBLIC	??_R4JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Weapon_No_VTOL@@@8 ; JFW_Building_Gun_Animated_Weapon_No_VTOL `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Weapon_No_VTOL@@8 ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Weapon_No_VTOL@@8 ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_VTOL@@8 ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_No_VTOL@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_VTOL@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_VTOL@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_No_VTOL@@@8 ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Weapon_No_VTOL@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Weapon_No_VTOL@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_VTOL@@8 ; JFW_Building_Gun_Animated_Weapon_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 ??_R3JFW_Building_Gun_Animated_Weapon_No_VTOL@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Weapon_No_VTOL@@8 DD 00H	; JFW_Building_Gun_Animated_Weapon_No_VTOL::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Weapon_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Weapon_No_VTOL@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Weapon_No_VTOL@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_VTOL `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Weapon_No_VTOL@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@ DD 00H ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_No_VTOL@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Weapon_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@JFW_Building_Gun_Animated_Weapon_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@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_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@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_No_VTOL@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Weapon_No_VTOL@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL::JFW_Building_Gun_Animated_Weapon_No_VTOL, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Weapon_No_VTOL@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::JFW_Building_Gun_Animated_Weapon_No_VTOL
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_No_VTOL_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_No_VTOL_Secondary::JFW_Building_Gun_Animated_No_VTOL_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_No_VTOL_Secondary@@@8 ; JFW_Building_Gun_Animated_No_VTOL_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_VTOL_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_No_VTOL_Secondary@@@8 ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_No_VTOL_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`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 ??_R3JFW_Building_Gun_Animated_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_No_VTOL_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_No_VTOL_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_No_VTOL_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_No_VTOL_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_No_VTOL_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_No_VTOL_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL_Secondary@@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@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_No_VTOL_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_No_VTOL_Secondary::JFW_Building_Gun_Animated_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_No_VTOL_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_No_VTOL_Secondary::JFW_Building_Gun_Animated_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@8 ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@8 ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@'
	DB	00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@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@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_VTOL_Only@@6B@		; JFW_Building_Gun_VTOL_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_VTOL_Only@@QAE@XZ		; JFW_Building_Gun_VTOL_Only::JFW_Building_Gun_VTOL_Only
PUBLIC	??_R4JFW_Building_Gun_VTOL_Only@@6B@		; JFW_Building_Gun_VTOL_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_VTOL_Only@@@8		; JFW_Building_Gun_VTOL_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_VTOL_Only@@8		; JFW_Building_Gun_VTOL_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_VTOL_Only@@8		; JFW_Building_Gun_VTOL_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_VTOL_Only@@8	; JFW_Building_Gun_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_VTOL_Only@@UAEPAXI@Z:PROC	; JFW_Building_Gun_VTOL_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_VTOL_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_VTOL_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_VTOL_Only@@@8 ; JFW_Building_Gun_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_VTOL_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_VTOL_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_VTOL_Only@@8 ; JFW_Building_Gun_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 ??_R3JFW_Building_Gun_VTOL_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_VTOL_Only@@8 DD 00H		; JFW_Building_Gun_VTOL_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_VTOL_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_VTOL_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_VTOL_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_VTOL_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_VTOL_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_VTOL_Only@@6B@ DD 00H		; JFW_Building_Gun_VTOL_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_VTOL_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_VTOL_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_VTOL_Only@@6B@ ; JFW_Building_Gun_VTOL_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_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@JFW_Building_Gun_VTOL_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_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@JFW_Building_Gun_VTOL_Only@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_VTOL_Only@@QAE@XZ PROC		; JFW_Building_Gun_VTOL_Only::JFW_Building_Gun_VTOL_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_VTOL_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_VTOL_Only@@QAE@XZ ENDP		; JFW_Building_Gun_VTOL_Only::JFW_Building_Gun_VTOL_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Weapon_VTOL_Only@@6B@	; JFW_Building_Gun_Weapon_VTOL_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_Weapon_VTOL_Only@@QAE@XZ	; JFW_Building_Gun_Weapon_VTOL_Only::JFW_Building_Gun_Weapon_VTOL_Only
PUBLIC	??_R4JFW_Building_Gun_Weapon_VTOL_Only@@6B@	; JFW_Building_Gun_Weapon_VTOL_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Weapon_VTOL_Only@@@8	; JFW_Building_Gun_Weapon_VTOL_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Weapon_VTOL_Only@@8	; JFW_Building_Gun_Weapon_VTOL_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Weapon_VTOL_Only@@8	; JFW_Building_Gun_Weapon_VTOL_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Weapon_VTOL_Only@@8 ; JFW_Building_Gun_Weapon_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Weapon_VTOL_Only@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Weapon_VTOL_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Weapon_VTOL_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Weapon_VTOL_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Weapon_VTOL_Only@@@8 ; JFW_Building_Gun_Weapon_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Weapon_VTOL_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Weapon_VTOL_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Weapon_VTOL_Only@@8 ; JFW_Building_Gun_Weapon_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 ??_R3JFW_Building_Gun_Weapon_VTOL_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Weapon_VTOL_Only@@8 DD 00H	; JFW_Building_Gun_Weapon_VTOL_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Weapon_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Weapon_VTOL_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Weapon_VTOL_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Weapon_VTOL_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Weapon_VTOL_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Weapon_VTOL_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Weapon_VTOL_Only@@6B@ DD 00H	; JFW_Building_Gun_Weapon_VTOL_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Weapon_VTOL_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_VTOL_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_Weapon_VTOL_Only@@6B@ ; JFW_Building_Gun_Weapon_VTOL_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Weapon_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@JFW_Building_Gun_Weapon_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@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_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@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Weapon_VTOL_Only@@QAE@XZ PROC	; JFW_Building_Gun_Weapon_VTOL_Only::JFW_Building_Gun_Weapon_VTOL_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_VTOL_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Weapon_VTOL_Only@@QAE@XZ ENDP	; JFW_Building_Gun_Weapon_VTOL_Only::JFW_Building_Gun_Weapon_VTOL_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_VTOL_Only_Secondary@@6B@	; JFW_Building_Gun_VTOL_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_VTOL_Only_Secondary@@QAE@XZ	; JFW_Building_Gun_VTOL_Only_Secondary::JFW_Building_Gun_VTOL_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_VTOL_Only_Secondary@@6B@	; JFW_Building_Gun_VTOL_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_VTOL_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_VTOL_Only_Secondary@@8	; JFW_Building_Gun_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_VTOL_Only_Secondary@@8	; JFW_Building_Gun_VTOL_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_VTOL_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_VTOL_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_VTOL_Only_Secondary::`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 ??_R3JFW_Building_Gun_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_VTOL_Only_Secondary@@8 DD 00H	; JFW_Building_Gun_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_VTOL_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_VTOL_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_VTOL_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_VTOL_Only_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_VTOL_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_VTOL_Only_Secondary@@6B@ DD 00H	; JFW_Building_Gun_VTOL_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_VTOL_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_VTOL_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_VTOL_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_VTOL_Only_Secondary@@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@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_VTOL_Only_Secondary@@QAE@XZ PROC	; JFW_Building_Gun_VTOL_Only_Secondary::JFW_Building_Gun_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_VTOL_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_VTOL_Only_Secondary@@QAE@XZ ENDP	; JFW_Building_Gun_VTOL_Only_Secondary::JFW_Building_Gun_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@QAE@XZ ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::JFW_Building_Gun_Weapon_VTOL_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`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 ??_R3JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8 DD 00H ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@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@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::JFW_Building_Gun_Weapon_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::JFW_Building_Gun_Weapon_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_VTOL_Only@@6B@	; JFW_Building_Gun_Animated_VTOL_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_VTOL_Only@@QAE@XZ	; JFW_Building_Gun_Animated_VTOL_Only::JFW_Building_Gun_Animated_VTOL_Only
PUBLIC	??_R4JFW_Building_Gun_Animated_VTOL_Only@@6B@	; JFW_Building_Gun_Animated_VTOL_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_VTOL_Only@@@8	; JFW_Building_Gun_Animated_VTOL_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_VTOL_Only@@8	; JFW_Building_Gun_Animated_VTOL_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_VTOL_Only@@8	; JFW_Building_Gun_Animated_VTOL_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_VTOL_Only@@8 ; JFW_Building_Gun_Animated_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_VTOL_Only@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_VTOL_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_VTOL_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_VTOL_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_VTOL_Only@@@8 ; JFW_Building_Gun_Animated_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_VTOL_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_VTOL_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_VTOL_Only@@8 ; JFW_Building_Gun_Animated_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 ??_R3JFW_Building_Gun_Animated_VTOL_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_VTOL_Only@@8 DD 00H	; JFW_Building_Gun_Animated_VTOL_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_VTOL_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_VTOL_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_VTOL_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_VTOL_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_VTOL_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_VTOL_Only@@6B@ DD 00H	; JFW_Building_Gun_Animated_VTOL_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_VTOL_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_VTOL_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_VTOL_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_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@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_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@JFW_Building_Gun_Animated_VTOL_Only@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_VTOL_Only@@QAE@XZ PROC	; JFW_Building_Gun_Animated_VTOL_Only::JFW_Building_Gun_Animated_VTOL_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_VTOL_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_VTOL_Only@@QAE@XZ ENDP	; JFW_Building_Gun_Animated_VTOL_Only::JFW_Building_Gun_Animated_VTOL_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Weapon_VTOL_Only@@QAE@XZ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::JFW_Building_Gun_Animated_Weapon_VTOL_Only
PUBLIC	??_R4JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@8 ; JFW_Building_Gun_Animated_Weapon_VTOL_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@8 ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Weapon_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 ??_R3JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8 DD 00H ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@ DD 00H ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Weapon_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@JFW_Building_Gun_Animated_Weapon_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@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_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@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Weapon_VTOL_Only@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::JFW_Building_Gun_Animated_Weapon_VTOL_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Weapon_VTOL_Only@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::JFW_Building_Gun_Animated_Weapon_VTOL_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_VTOL_Only_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::JFW_Building_Gun_Animated_VTOL_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_VTOL_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`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 ??_R3JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_VTOL_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_VTOL_Only_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@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@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_VTOL_Only_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::JFW_Building_Gun_Animated_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_VTOL_Only_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::JFW_Building_Gun_Animated_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary'
	DB	'@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@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@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Sound_No_VTOL::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_No_VTOL@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_No_VTOL::JFW_Building_Gun_Animated_Sound_No_VTOL
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Sound_No_VTOL::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_No_VTOL@@@8 ; JFW_Building_Gun_Animated_Sound_No_VTOL `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_No_VTOL@@8	; JFW_Building_Gun_Animated_Sound_No_VTOL::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_No_VTOL@@8	; JFW_Building_Gun_Animated_Sound_No_VTOL::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_VTOL@@8 ; JFW_Building_Gun_Animated_Sound_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_No_VTOL@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_No_VTOL::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_VTOL@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_VTOL@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_No_VTOL@@@8 ; JFW_Building_Gun_Animated_Sound_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_No_VTOL@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_No_VTOL@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_VTOL@@8 ; JFW_Building_Gun_Animated_Sound_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 ??_R3JFW_Building_Gun_Animated_Sound_No_VTOL@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_No_VTOL@@8 DD 00H	; JFW_Building_Gun_Animated_Sound_No_VTOL::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_No_VTOL@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_No_VTOL@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_No_VTOL `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_No_VTOL@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_No_VTOL::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_No_VTOL@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Sound_No_VTOL::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_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@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_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@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_No_VTOL@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_No_VTOL@@QAE@XZ PROC	; JFW_Building_Gun_Animated_Sound_No_VTOL::JFW_Building_Gun_Animated_Sound_No_VTOL, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_No_VTOL@@QAE@XZ ENDP	; JFW_Building_Gun_Animated_Sound_No_VTOL::JFW_Building_Gun_Animated_Sound_No_VTOL
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_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 ??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_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@JFW_Building_Gun_Animated_Sound_Weapon_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@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_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@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@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@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secon'
	DB	'dary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@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@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_VTOL_Only@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_VTOL_Only::JFW_Building_Gun_Animated_Sound_VTOL_Only
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_VTOL_Only@@@8 ; JFW_Building_Gun_Animated_Sound_VTOL_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_VTOL_Only@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_VTOL_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_VTOL_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_VTOL_Only@@@8 ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_VTOL_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_VTOL_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Sound_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 ??_R3JFW_Building_Gun_Animated_Sound_VTOL_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_VTOL_Only@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_VTOL_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_VTOL_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_VTOL_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_VTOL_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_VTOL_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_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@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_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@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_VTOL_Only@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only::JFW_Building_Gun_Animated_Sound_VTOL_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_VTOL_Only@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only::JFW_Building_Gun_Animated_Sound_VTOL_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_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 ??_R3JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_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@JFW_Building_Gun_Animated_Sound_Weapon_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@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_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@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@'
	DB	'@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@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@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Sec'
	DB	'ondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@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@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound@@6B@	; JFW_Building_Gun_Animated_Sound::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound@@QAE@XZ	; JFW_Building_Gun_Animated_Sound::JFW_Building_Gun_Animated_Sound
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound@@6B@	; JFW_Building_Gun_Animated_Sound::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound@@@8	; JFW_Building_Gun_Animated_Sound `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound@@8		; JFW_Building_Gun_Animated_Sound::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound@@8		; JFW_Building_Gun_Animated_Sound::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound@@8 ; JFW_Building_Gun_Animated_Sound::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound@@@8 ; JFW_Building_Gun_Animated_Sound::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound@@8 ; JFW_Building_Gun_Animated_Sound::`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 ??_R3JFW_Building_Gun_Animated_Sound@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound@@8 DD 00H		; JFW_Building_Gun_Animated_Sound::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound@@6B@ DD 00H	; JFW_Building_Gun_Animated_Sound::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound@@6B@ ; JFW_Building_Gun_Animated_Sound::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound@@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@JFW_Building_Gun_Animated_Sound@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound@@QAE@XZ PROC		; JFW_Building_Gun_Animated_Sound::JFW_Building_Gun_Animated_Sound, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound@@QAE@XZ ENDP		; JFW_Building_Gun_Animated_Sound::JFW_Building_Gun_Animated_Sound
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon@@6B@	; JFW_Building_Gun_Animated_Sound_Weapon::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Weapon@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon::JFW_Building_Gun_Animated_Sound_Weapon
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Weapon@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Weapon@@8	; JFW_Building_Gun_Animated_Sound_Weapon::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Weapon@@8	; JFW_Building_Gun_Animated_Sound_Weapon::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon@@8 ; JFW_Building_Gun_Animated_Sound_Weapon::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Weapon::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Weapon@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Weapon@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon@@8 ; JFW_Building_Gun_Animated_Sound_Weapon::`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 ??_R3JFW_Building_Gun_Animated_Sound_Weapon@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Weapon@@8 DD 00H	; JFW_Building_Gun_Animated_Sound_Weapon::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Weapon@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Weapon@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Weapon@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Weapon@@6B@ DD 00H	; JFW_Building_Gun_Animated_Sound_Weapon::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Weapon@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon@@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@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Weapon@@QAE@XZ PROC	; JFW_Building_Gun_Animated_Sound_Weapon::JFW_Building_Gun_Animated_Sound_Weapon, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Weapon@@QAE@XZ ENDP	; JFW_Building_Gun_Animated_Sound_Weapon::JFW_Building_Gun_Animated_Sound_Weapon
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_No_Aircraft@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_No_Aircraft::JFW_Building_Gun_Animated_Sound_No_Aircraft
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_No_Aircraft@@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_Aircraft@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_Aircraft@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_No_Aircraft@@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_No_Aircraft@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_No_Aircraft@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`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 ??_R3JFW_Building_Gun_Animated_Sound_No_Aircraft@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_No_Aircraft@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_No_Aircraft@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_No_Aircraft@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_No_Aircraft `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_No_Aircraft@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_No_Aircraft@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft@@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@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_No_Aircraft@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft::JFW_Building_Gun_Animated_Sound_No_Aircraft, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_No_Aircraft@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft::JFW_Building_Gun_Animated_Sound_No_Aircraft
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Aircraft_Only@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::JFW_Building_Gun_Animated_Sound_Aircraft_Only
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_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 ??_R3JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_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@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Aircraft_Only@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::JFW_Building_Gun_Animated_Sound_Aircraft_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Aircraft_Only@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::JFW_Building_Gun_Animated_Sound_Aircraft_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`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 ??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@'
	DB	00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@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@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_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 ??_R3JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only'
	DB	'@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_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@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Secondary::JFW_Building_Gun_Animated_Sound_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Sound_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Secondary@@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@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Secondary::JFW_Building_Gun_Animated_Sound_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::JFW_Building_Gun_Animated_Sound_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@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@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondar'
	DB	'y@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@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@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only_Second'
	DB	'ary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@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@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_S'
	DB	'econdary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@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@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`vftable'
PUBLIC	??0JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@QAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary
PUBLIC	??_R4JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary `RTTI Type Descriptor'
PUBLIC	??_R3JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z:PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8 DD FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R2JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R2JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8 DD FLAT:??_R1A@?0A@EA@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8 ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`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 ??_R3JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8
rdata$r	SEGMENT
??_R3JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8 DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@8
_DATA	SEGMENT
??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@8 DD FLAT:??_7type_info@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only'
	DB	'_Secondary@@', 00H
_DATA	ENDS
;	COMDAT ??_R4JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@
rdata$r	SEGMENT
??_R4JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@ DD 00H ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@8
	DD	FLAT:??_R3JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@8
rdata$r	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@ DD FLAT:??_R4JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@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@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT
??0JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@QAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@QAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun@@UAE@XZ			; JFW_Building_Gun::~JFW_Building_Gun
EXTRN	??1ScriptImpClass@@UAE@XZ:PROC			; ScriptImpClass::~ScriptImpClass
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun@@UAE@XZ PROC			; JFW_Building_Gun::~JFW_Building_Gun, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun@@UAE@XZ ENDP			; JFW_Building_Gun::~JFW_Building_Gun
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon@@UAE@XZ		; JFW_Building_Gun_Weapon::~JFW_Building_Gun_Weapon
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Weapon@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon@@UAE@XZ PROC			; JFW_Building_Gun_Weapon::~JFW_Building_Gun_Weapon, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon@@UAE@XZ ENDP			; JFW_Building_Gun_Weapon::~JFW_Building_Gun_Weapon
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_No_Aircraft@@UAE@XZ		; JFW_Building_Gun_No_Aircraft::~JFW_Building_Gun_No_Aircraft
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_No_Aircraft@@UAE@XZ PROC		; JFW_Building_Gun_No_Aircraft::~JFW_Building_Gun_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_No_Aircraft@@UAE@XZ ENDP		; JFW_Building_Gun_No_Aircraft::~JFW_Building_Gun_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Aircraft_Only@@UAE@XZ	; JFW_Building_Gun_Aircraft_Only::~JFW_Building_Gun_Aircraft_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Aircraft_Only@@UAE@XZ PROC		; JFW_Building_Gun_Aircraft_Only::~JFW_Building_Gun_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Aircraft_Only@@UAE@XZ ENDP		; JFW_Building_Gun_Aircraft_Only::~JFW_Building_Gun_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_No_Aircraft@@UAE@XZ	; JFW_Building_Gun_Weapon_No_Aircraft::~JFW_Building_Gun_Weapon_No_Aircraft
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Weapon_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_No_Aircraft@@UAE@XZ PROC	; JFW_Building_Gun_Weapon_No_Aircraft::~JFW_Building_Gun_Weapon_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_No_Aircraft@@UAE@XZ ENDP	; JFW_Building_Gun_Weapon_No_Aircraft::~JFW_Building_Gun_Weapon_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_Aircraft_Only@@UAE@XZ ; JFW_Building_Gun_Weapon_Aircraft_Only::~JFW_Building_Gun_Weapon_Aircraft_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Weapon_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_Aircraft_Only@@UAE@XZ PROC	; JFW_Building_Gun_Weapon_Aircraft_Only::~JFW_Building_Gun_Weapon_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_Aircraft_Only@@UAE@XZ ENDP	; JFW_Building_Gun_Weapon_Aircraft_Only::~JFW_Building_Gun_Weapon_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Secondary@@UAE@XZ		; JFW_Building_Gun_Secondary::~JFW_Building_Gun_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Secondary@@UAE@XZ PROC		; JFW_Building_Gun_Secondary::~JFW_Building_Gun_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Secondary@@UAE@XZ ENDP		; JFW_Building_Gun_Secondary::~JFW_Building_Gun_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_Secondary@@UAE@XZ	; JFW_Building_Gun_Weapon_Secondary::~JFW_Building_Gun_Weapon_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Weapon_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_Secondary@@UAE@XZ PROC	; JFW_Building_Gun_Weapon_Secondary::~JFW_Building_Gun_Weapon_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_Secondary@@UAE@XZ ENDP	; JFW_Building_Gun_Weapon_Secondary::~JFW_Building_Gun_Weapon_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_No_Aircraft_Secondary::~JFW_Building_Gun_No_Aircraft_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_No_Aircraft_Secondary@@UAE@XZ PROC	; JFW_Building_Gun_No_Aircraft_Secondary::~JFW_Building_Gun_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_No_Aircraft_Secondary@@UAE@XZ ENDP	; JFW_Building_Gun_No_Aircraft_Secondary::~JFW_Building_Gun_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Aircraft_Only_Secondary::~JFW_Building_Gun_Aircraft_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Aircraft_Only_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Aircraft_Only_Secondary::~JFW_Building_Gun_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Aircraft_Only_Secondary::~JFW_Building_Gun_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Weapon_No_Aircraft_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Weapon_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Weapon_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Weapon_Aircraft_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Weapon_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Weapon_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated@@UAE@XZ		; JFW_Building_Gun_Animated::~JFW_Building_Gun_Animated
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated@@UAE@XZ PROC		; JFW_Building_Gun_Animated::~JFW_Building_Gun_Animated, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated@@UAE@XZ ENDP		; JFW_Building_Gun_Animated::~JFW_Building_Gun_Animated
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon@@UAE@XZ	; JFW_Building_Gun_Animated_Weapon::~JFW_Building_Gun_Animated_Weapon
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon@@UAE@XZ PROC	; JFW_Building_Gun_Animated_Weapon::~JFW_Building_Gun_Animated_Weapon, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_Weapon::~JFW_Building_Gun_Animated_Weapon
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_No_Aircraft@@UAE@XZ ; JFW_Building_Gun_Animated_No_Aircraft::~JFW_Building_Gun_Animated_No_Aircraft
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_No_Aircraft@@UAE@XZ PROC	; JFW_Building_Gun_Animated_No_Aircraft::~JFW_Building_Gun_Animated_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_No_Aircraft@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_No_Aircraft::~JFW_Building_Gun_Animated_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Aircraft_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Aircraft_Only::~JFW_Building_Gun_Animated_Aircraft_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Aircraft_Only@@UAE@XZ PROC	; JFW_Building_Gun_Animated_Aircraft_Only::~JFW_Building_Gun_Animated_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Aircraft_Only@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_Aircraft_Only::~JFW_Building_Gun_Animated_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Weapon_No_Aircraft
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Weapon_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Weapon_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Secondary@@UAE@XZ	; JFW_Building_Gun_Animated_Secondary::~JFW_Building_Gun_Animated_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Secondary@@UAE@XZ PROC	; JFW_Building_Gun_Animated_Secondary::~JFW_Building_Gun_Animated_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Secondary@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_Secondary::~JFW_Building_Gun_Animated_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_Secondary::~JFW_Building_Gun_Animated_Weapon_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_Secondary::~JFW_Building_Gun_Animated_Weapon_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::~JFW_Building_Gun_Animated_Weapon_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_No_Aircraft_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Aircraft_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_No_VTOL@@UAE@XZ		; JFW_Building_Gun_No_VTOL::~JFW_Building_Gun_No_VTOL
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_No_VTOL@@UAE@XZ PROC		; JFW_Building_Gun_No_VTOL::~JFW_Building_Gun_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_No_VTOL@@UAE@XZ ENDP		; JFW_Building_Gun_No_VTOL::~JFW_Building_Gun_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_No_VTOL@@UAE@XZ	; JFW_Building_Gun_Weapon_No_VTOL::~JFW_Building_Gun_Weapon_No_VTOL
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Weapon_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_No_VTOL@@UAE@XZ PROC		; JFW_Building_Gun_Weapon_No_VTOL::~JFW_Building_Gun_Weapon_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_No_VTOL@@UAE@XZ ENDP		; JFW_Building_Gun_Weapon_No_VTOL::~JFW_Building_Gun_Weapon_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_No_VTOL_Secondary@@UAE@XZ	; JFW_Building_Gun_No_VTOL_Secondary::~JFW_Building_Gun_No_VTOL_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_No_VTOL_Secondary@@UAE@XZ PROC	; JFW_Building_Gun_No_VTOL_Secondary::~JFW_Building_Gun_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_No_VTOL_Secondary@@UAE@XZ ENDP	; JFW_Building_Gun_No_VTOL_Secondary::~JFW_Building_Gun_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAE@XZ ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Weapon_No_VTOL_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Weapon_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Weapon_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_No_VTOL@@UAE@XZ	; JFW_Building_Gun_Animated_No_VTOL::~JFW_Building_Gun_Animated_No_VTOL
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_No_VTOL@@UAE@XZ PROC	; JFW_Building_Gun_Animated_No_VTOL::~JFW_Building_Gun_Animated_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_No_VTOL@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_No_VTOL::~JFW_Building_Gun_Animated_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_No_VTOL@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Weapon_No_VTOL
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_No_VTOL@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Weapon_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_No_VTOL@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Weapon_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_No_VTOL_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_No_VTOL_Secondary::~JFW_Building_Gun_Animated_No_VTOL_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_No_VTOL_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_No_VTOL_Secondary::~JFW_Building_Gun_Animated_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_No_VTOL_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_No_VTOL_Secondary::~JFW_Building_Gun_Animated_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_VTOL_Only@@UAE@XZ		; JFW_Building_Gun_VTOL_Only::~JFW_Building_Gun_VTOL_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_VTOL_Only@@UAE@XZ PROC		; JFW_Building_Gun_VTOL_Only::~JFW_Building_Gun_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_VTOL_Only@@UAE@XZ ENDP		; JFW_Building_Gun_VTOL_Only::~JFW_Building_Gun_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_VTOL_Only@@UAE@XZ	; JFW_Building_Gun_Weapon_VTOL_Only::~JFW_Building_Gun_Weapon_VTOL_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Weapon_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_VTOL_Only@@UAE@XZ PROC	; JFW_Building_Gun_Weapon_VTOL_Only::~JFW_Building_Gun_Weapon_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_VTOL_Only@@UAE@XZ ENDP	; JFW_Building_Gun_Weapon_VTOL_Only::~JFW_Building_Gun_Weapon_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_VTOL_Only_Secondary@@UAE@XZ	; JFW_Building_Gun_VTOL_Only_Secondary::~JFW_Building_Gun_VTOL_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_VTOL_Only_Secondary@@UAE@XZ PROC	; JFW_Building_Gun_VTOL_Only_Secondary::~JFW_Building_Gun_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_VTOL_Only_Secondary@@UAE@XZ ENDP	; JFW_Building_Gun_VTOL_Only_Secondary::~JFW_Building_Gun_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Weapon_VTOL_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Weapon_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Weapon_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_VTOL_Only@@UAE@XZ	; JFW_Building_Gun_Animated_VTOL_Only::~JFW_Building_Gun_Animated_VTOL_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_VTOL_Only@@UAE@XZ PROC	; JFW_Building_Gun_Animated_VTOL_Only::~JFW_Building_Gun_Animated_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_VTOL_Only@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_VTOL_Only::~JFW_Building_Gun_Animated_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Weapon_VTOL_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Weapon_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Weapon_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_VTOL_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_No_VTOL@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_No_VTOL::~JFW_Building_Gun_Animated_Sound_No_VTOL
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_No_VTOL@@UAE@XZ PROC	; JFW_Building_Gun_Animated_Sound_No_VTOL::~JFW_Building_Gun_Animated_Sound_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_No_VTOL@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_Sound_No_VTOL::~JFW_Building_Gun_Animated_Sound_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_VTOL_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_VTOL_Only::~JFW_Building_Gun_Animated_Sound_VTOL_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_VTOL_Only@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only::~JFW_Building_Gun_Animated_Sound_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_VTOL_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only::~JFW_Building_Gun_Animated_Sound_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound@@UAE@XZ	; JFW_Building_Gun_Animated_Sound::~JFW_Building_Gun_Animated_Sound
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound@@UAE@XZ PROC		; JFW_Building_Gun_Animated_Sound::~JFW_Building_Gun_Animated_Sound, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound@@UAE@XZ ENDP		; JFW_Building_Gun_Animated_Sound::~JFW_Building_Gun_Animated_Sound
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon::~JFW_Building_Gun_Animated_Sound_Weapon
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon@@UAE@XZ PROC	; JFW_Building_Gun_Animated_Sound_Weapon::~JFW_Building_Gun_Animated_Sound_Weapon, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_Sound_Weapon::~JFW_Building_Gun_Animated_Sound_Weapon
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_No_Aircraft@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_No_Aircraft::~JFW_Building_Gun_Animated_Sound_No_Aircraft
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_No_Aircraft@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft::~JFW_Building_Gun_Animated_Sound_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_No_Aircraft@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft::~JFW_Building_Gun_Animated_Sound_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Aircraft_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Secondary::~JFW_Building_Gun_Animated_Sound_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Secondary::~JFW_Building_Gun_Animated_Sound_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::~JFW_Building_Gun_Animated_Sound_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary
; Function compile flags: /Ogtpy
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAE@XZ PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary
_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@_0DB@KAIOLAHI@ScriptRegistrant?$DMclass?5JFW_Build@ ; `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@_0DB@KAIOLAHI@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0DB@KAIOLAHI@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73537 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@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@KAIOLAHI@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73537[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 ??_7JFW_Building_Gun@@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@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73537[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun>::Create
PUBLIC	??_C@_0DI@DHHNFJAK@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0DI@DHHNFJAK@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0DI@DHHNFJAK@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Weapon>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73563 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0DI@DHHNFJAK@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73563[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 ??_7JFW_Building_Gun_Weapon@@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@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73563[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon>::Create
PUBLIC	??_C@_0DN@DFDFBMIJ@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0DN@DFDFBMIJ@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0DN@DFDFBMIJ@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_No_Aircraft>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73586 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@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@_0DN@DFDFBMIJ@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73586[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 ??_7JFW_Building_Gun_No_Aircraft@@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@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73586[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::Create
PUBLIC	??_C@_0DP@IDENKBMB@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0DP@IDENKBMB@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0DP@IDENKBMB@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Aircraft_Only>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_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@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73609 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_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@_0DP@IDENKBMB@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73609[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@4
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Aircraft_Only@@6B@
	jmp	SHORT $LN4@Create@4
$LN3@Create@4:
	xor	esi, esi
$LN4@Create@4:

; 489  : 	scr->SetFactory(this);
; 490  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 491  : 	return scr;
; 492  : };

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73609[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::Create
PUBLIC	??_C@_0EE@PELDIGKN@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EE@PELDIGKN@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EE@PELDIGKN@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Weapon_No_Aircraft>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73632 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0EE@PELDIGKN@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73632[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@5
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_No_Aircraft@@6B@
	jmp	SHORT $LN4@Create@5
$LN3@Create@5:
	xor	esi, esi
$LN4@Create@5:

; 489  : 	scr->SetFactory(this);
; 490  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 491  : 	return scr;
; 492  : };

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73632[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::Create
PUBLIC	??_C@_0EG@GCHPPLLL@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EG@GCHPPLLL@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EG@GCHPPLLL@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Weapon_Aircraft_Only>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_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@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73655 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_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@_0EG@GCHPPLLL@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73655[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@6
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_Aircraft_Only@@6B@
	jmp	SHORT $LN4@Create@6
$LN3@Create@6:
	xor	esi, esi
$LN4@Create@6:

; 489  : 	scr->SetFactory(this);
; 490  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 491  : 	return scr;
; 492  : };

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73655[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::Create
PUBLIC	??_C@_0DL@INFILNNG@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0DL@INFILNNG@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0DL@INFILNNG@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Secondary>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73678 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@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@INFILNNG@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73678[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@7
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Secondary@@6B@
	jmp	SHORT $LN4@Create@7
$LN3@Create@7:
	xor	esi, esi
$LN4@Create@7:

; 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@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73678[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Secondary>::Create
PUBLIC	??_C@_0EC@LCPKIENI@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EC@LCPKIENI@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EC@LCPKIENI@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Weapon_Secondary>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73701 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@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@_0EC@LCPKIENI@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73701[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@8
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_Secondary@@6B@
	jmp	SHORT $LN4@Create@8
$LN3@Create@8:
	xor	esi, esi
$LN4@Create@8:

; 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@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73701[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::Create
PUBLIC	??_C@_0EH@EGCKLIOD@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EH@EGCKLIOD@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EH@EGCKLIOD@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_No_Aircraft_Secondary>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73724 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@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@_0EH@EGCKLIOD@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73724[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@9
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_No_Aircraft_Secondary@@6B@
	jmp	SHORT $LN4@Create@9
$LN3@Create@9:
	xor	esi, esi
$LN4@Create@9:

; 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@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73724[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::Create
PUBLIC	??_C@_0EJ@EOHMCIMC@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EJ@EOHMCIMC@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EJ@EOHMCIMC@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Aircraft_Only_Secondary>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73747 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@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@_0EJ@EOHMCIMC@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73747[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@10
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@10
$LN3@Create@10:
	xor	esi, esi
$LN4@Create@10:

; 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@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73747[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::Create
PUBLIC	??_C@_0EO@KABJMLIL@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EO@KABJMLIL@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EO@KABJMLIL@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::Cr'
	DB	'eate', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73770 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@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@_0EO@KABJMLIL@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73770[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@11
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@
	jmp	SHORT $LN4@Create@11
$LN3@Create@11:
	xor	esi, esi
$LN4@Create@11:

; 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@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73770[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::Create
PUBLIC	??_C@_0FA@CKFEAPNI@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FA@CKFEAPNI@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FA@CKFEAPNI@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::'
	DB	'Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73793 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@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@_0FA@CKFEAPNI@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73793[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@12
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@12
$LN3@Create@12:
	xor	esi, esi
$LN4@Create@12:

; 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@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73793[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::Create
PUBLIC	??_C@_0DK@ILLMCLEE@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0DK@ILLMCLEE@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0DK@ILLMCLEE@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73816 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@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@_0DK@ILLMCLEE@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73816[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@13
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated@@6B@
	jmp	SHORT $LN4@Create@13
$LN3@Create@13:
	xor	esi, esi
$LN4@Create@13:

; 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@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73816[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated>::Create
PUBLIC	??_C@_0EB@IDMNLDHF@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EB@IDMNLDHF@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EB@IDMNLDHF@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Weapon>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73839 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@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@IDMNLDHF@ScriptRegistrant?$DMclass?5JFW_Build@
	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	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73839[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@14
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon@@6B@
	jmp	SHORT $LN4@Create@14
$LN3@Create@14:
	xor	esi, esi
$LN4@Create@14:

; 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@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73839[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::Create
PUBLIC	??_C@_0EG@LCICFPGH@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EG@LCICFPGH@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EG@LCICFPGH@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_No_Aircraft>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73862 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@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@_0EG@LCICFPGH@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73862[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@15
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_No_Aircraft@@6B@
	jmp	SHORT $LN4@Create@15
$LN3@Create@15:
	xor	esi, esi
$LN4@Create@15:

; 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@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73862[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::Create
PUBLIC	??_C@_0EI@KMGFOIDO@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EI@KMGFOIDO@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EI@KMGFOIDO@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Aircraft_Only>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_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@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73885 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_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@_0EI@KMGFOIDO@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73885[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@16
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Aircraft_Only@@6B@
	jmp	SHORT $LN4@Create@16
$LN3@Create@16:
	xor	esi, esi
$LN4@Create@16:

; 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@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73885[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::Create
PUBLIC	??_C@_0EN@PMIJHJKD@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EN@PMIJHJKD@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EN@PMIJHJKD@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Weapon_No_Aircraft>::Cre'
	DB	'ate', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73908 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@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@_0EN@PMIJHJKD@ScriptRegistrant?$DMclass?5JFW_Build@
	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	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73908[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@17
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@
	jmp	SHORT $LN4@Create@17
$LN3@Create@17:
	xor	esi, esi
$LN4@Create@17:

; 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@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73908[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::Create
PUBLIC	??_C@_0EP@NBPODBIC@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EP@NBPODBIC@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EP@NBPODBIC@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::C'
	DB	'reate', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_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@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73931 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_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@_0EP@NBPODBIC@ScriptRegistrant?$DMclass?5JFW_Build@
	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	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73931[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@18
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@
	jmp	SHORT $LN4@Create@18
$LN3@Create@18:
	xor	esi, esi
$LN4@Create@18:

; 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@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73931[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::Create
PUBLIC	??_C@_0EE@LNAFDKOF@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EE@LNAFDKOF@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EE@LNAFDKOF@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Secondary>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73954 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0EE@LNAFDKOF@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73954[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@19
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Secondary@@6B@
	jmp	SHORT $LN4@Create@19
$LN3@Create@19:
	xor	esi, esi
$LN4@Create@19:

; 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@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73954[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::Create
PUBLIC	??_C@_0EL@BIGMOMKM@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EL@BIGMOMKM@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EL@BIGMOMKM@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Weapon_Secondary>::Creat'
	DB	'e', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T73977 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@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@_0EL@BIGMOMKM@ScriptRegistrant?$DMclass?5JFW_Build@
	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	44					; 0000002cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73977[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@20
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_Secondary@@6B@
	jmp	SHORT $LN4@Create@20
$LN3@Create@20:
	xor	esi, esi
$LN4@Create@20:

; 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@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T73977[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::Create
PUBLIC	??_C@_0FA@BJJMLBCB@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FA@BJJMLBCB@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FA@BJJMLBCB@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_No_Aircraft_Secondary>::'
	DB	'Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74000 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@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@_0FA@BJJMLBCB@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74000[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@21
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@
	jmp	SHORT $LN4@Create@21
$LN3@Create@21:
	xor	esi, esi
$LN4@Create@21:

; 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@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74000[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::Create
PUBLIC	??_C@_0FC@MOGMHKBM@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FC@MOGMHKBM@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FC@MOGMHKBM@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Aircraft_Only_Secondary>'
	DB	'::Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74023 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@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@_0FC@MOGMHKBM@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74023[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@22
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@22
$LN3@Create@22:
	xor	esi, esi
$LN4@Create@22:

; 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@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74023[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::Create
PUBLIC	??_C@_0FH@NAHNPGKB@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FH@NAHNPGKB@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FH@NAHNPGKB@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secon'
	DB	'dary>::Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74046 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@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@_0FH@NAHNPGKB@ScriptRegistrant?$DMclass?5JFW_Build@
	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	44					; 0000002cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74046[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@23
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@
	jmp	SHORT $LN4@Create@23
$LN3@Create@23:
	xor	esi, esi
$LN4@Create@23:

; 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@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74046[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::Create
PUBLIC	??_C@_0FJ@BNFHPPIF@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FJ@BNFHPPIF@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FJ@BNFHPPIF@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Sec'
	DB	'ondary>::Create', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74069 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@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@_0FJ@BNFHPPIF@ScriptRegistrant?$DMclass?5JFW_Build@
	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	44					; 0000002cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74069[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@24
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@24
$LN3@Create@24:
	xor	esi, esi
$LN4@Create@24:

; 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@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74069[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::Create
PUBLIC	??_C@_0DJ@IOLEHGOE@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0DJ@IOLEHGOE@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0DJ@IOLEHGOE@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_No_VTOL>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_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@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74092 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_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@IOLEHGOE@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74092[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@25
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_No_VTOL@@6B@
	jmp	SHORT $LN4@Create@25
$LN3@Create@25:
	xor	esi, esi
$LN4@Create@25:

; 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@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74092[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::Create
PUBLIC	??_C@_0EA@GNJJDHK@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EA@GNJJDHK@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EA@GNJJDHK@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegistr'
	DB	'ant<class JFW_Building_Gun_Weapon_No_VTOL>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_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@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74115 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_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@_0EA@GNJJDHK@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74115[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@26
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_No_VTOL@@6B@
	jmp	SHORT $LN4@Create@26
$LN3@Create@26:
	xor	esi, esi
$LN4@Create@26:

; 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@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74115[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::Create
PUBLIC	??_C@_0ED@BGJNKCAH@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0ED@BGJNKCAH@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0ED@BGJNKCAH@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_No_VTOL_Secondary>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74138 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@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@_0ED@BGJNKCAH@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74138[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@27
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_No_VTOL_Secondary@@6B@
	jmp	SHORT $LN4@Create@27
$LN3@Create@27:
	xor	esi, esi
$LN4@Create@27:

; 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@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74138[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::Create
PUBLIC	??_C@_0EK@EJEJMPAG@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EK@EJEJMPAG@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EK@EJEJMPAG@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Weapon_No_VTOL_Secondary>::Create'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74161 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@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@_0EK@EJEJMPAG@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74161[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@28
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@
	jmp	SHORT $LN4@Create@28
$LN3@Create@28:
	xor	esi, esi
$LN4@Create@28:

; 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@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74161[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::Create
PUBLIC	??_C@_0EC@EOLKKKKD@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EC@EOLKKKKD@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EC@EOLKKKKD@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_No_VTOL>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_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@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74184 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_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@_0EC@EOLKKKKD@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74184[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@29
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_No_VTOL@@6B@
	jmp	SHORT $LN4@Create@29
$LN3@Create@29:
	xor	esi, esi
$LN4@Create@29:

; 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@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74184[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::Create
PUBLIC	??_C@_0EJ@CLPEFELO@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EJ@CLPEFELO@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EJ@CLPEFELO@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Weapon_No_VTOL>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_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@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74207 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_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@_0EJ@CLPEFELO@ScriptRegistrant?$DMclass?5JFW_Build@
	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	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74207[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@30
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@
	jmp	SHORT $LN4@Create@30
$LN3@Create@30:
	xor	esi, esi
$LN4@Create@30:

; 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@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74207[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::Create
PUBLIC	??_C@_0EM@EBFPIBEK@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EM@EBFPIBEK@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EM@EBFPIBEK@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_No_VTOL_Secondary>::Crea'
	DB	'te', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74230 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@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@_0EM@EBFPIBEK@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74230[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@31
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@
	jmp	SHORT $LN4@Create@31
$LN3@Create@31:
	xor	esi, esi
$LN4@Create@31:

; 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@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74230[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::Create
PUBLIC	??_C@_0FD@CIKCCAIH@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FD@CIKCCAIH@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FD@CIKCCAIH@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary'
	DB	'>::Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74253 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@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@_0FD@CIKCCAIH@ScriptRegistrant?$DMclass?5JFW_Build@
	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	44					; 0000002cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74253[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@32
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@
	jmp	SHORT $LN4@Create@32
$LN3@Create@32:
	xor	esi, esi
$LN4@Create@32:

; 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@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74253[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::Create
PUBLIC	??_C@_0DL@JPHACFFK@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0DL@JPHACFFK@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0DL@JPHACFFK@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_VTOL_Only>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_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@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74276 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_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@JPHACFFK@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74276[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@33
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_VTOL_Only@@6B@
	jmp	SHORT $LN4@Create@33
$LN3@Create@33:
	xor	esi, esi
$LN4@Create@33:

; 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@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74276[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::Create
PUBLIC	??_C@_0EC@KANCBMFE@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EC@KANCBMFE@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EC@KANCBMFE@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Weapon_VTOL_Only>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_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@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74299 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_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@_0EC@KANCBMFE@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74299[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@34
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_VTOL_Only@@6B@
	jmp	SHORT $LN4@Create@34
$LN3@Create@34:
	xor	esi, esi
$LN4@Create@34:

; 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@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74299[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::Create
PUBLIC	??_C@_0EF@PCDILKIJ@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EF@PCDILKIJ@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EF@PCDILKIJ@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_VTOL_Only_Secondary>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74322 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@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@_0EF@PCDILKIJ@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74322[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@35
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_VTOL_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@35
$LN3@Create@35:
	xor	esi, esi
$LN4@Create@35:

; 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@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74322[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::Create
PUBLIC	??_C@_0EM@NICAMJPJ@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EM@NICAMJPJ@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EM@NICAMJPJ@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::Crea'
	DB	'te', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74345 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@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@_0EM@NICAMJPJ@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74345[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@36
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@36
$LN3@Create@36:
	xor	esi, esi
$LN4@Create@36:

; 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@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74345[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::Create
PUBLIC	??_C@_0EE@KPCNKCGJ@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EE@KPCNKCGJ@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EE@KPCNKCGJ@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_VTOL_Only>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_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@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74368 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_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@_0EE@KPCNKCGJ@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74368[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@37
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_VTOL_Only@@6B@
	jmp	SHORT $LN4@Create@37
$LN3@Create@37:
	xor	esi, esi
$LN4@Create@37:

; 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@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74368[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::Create
PUBLIC	??_C@_0EL@KEEHECA@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EL@KEEHECA@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EL@KEEHECA@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegistr'
	DB	'ant<class JFW_Building_Gun_Animated_Weapon_VTOL_Only>::Create'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_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@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74391 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_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@_0EL@KEEHECA@ScriptRegistrant?$DMclass?5JFW_Build@
	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	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74391[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@38
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@
	jmp	SHORT $LN4@Create@38
$LN3@Create@38:
	xor	esi, esi
$LN4@Create@38:

; 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@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74391[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::Create
PUBLIC	??_C@_0EO@BFIIKNHB@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EO@BFIIKNHB@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EO@BFIIKNHB@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_VTOL_Only_Secondary>::Cr'
	DB	'eate', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74414 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@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@_0EO@BFIIKNHB@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74414[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@39
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@39
$LN3@Create@39:
	xor	esi, esi
$LN4@Create@39:

; 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@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74414[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::Create
PUBLIC	??_C@_0FF@MKANPOPB@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FF@MKANPOPB@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FF@MKANPOPB@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Weapon_VTOL_Only_Seconda'
	DB	'ry>::Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74437 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@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@_0FF@MKANPOPB@ScriptRegistrant?$DMclass?5JFW_Build@
	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	44					; 0000002cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74437[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@40
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@40
$LN3@Create@40:
	xor	esi, esi
$LN4@Create@40:

; 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@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74437[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::Create
PUBLIC	??_C@_0EI@LOIPGPGC@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EI@LOIPGPGC@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EI@LOIPGPGC@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_No_VTOL>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_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@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74460 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_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@_0EI@LOIPGPGC@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74460[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@41
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@
	jmp	SHORT $LN4@Create@41
$LN3@Create@41:
	xor	esi, esi
$LN4@Create@41:

; 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@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74460[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::Create
PUBLIC	??_C@_0EP@OPBMGONH@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EP@OPBMGONH@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EP@OPBMGONH@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::C'
	DB	'reate', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_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@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74483 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_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@_0EP@OPBMGONH@ScriptRegistrant?$DMclass?5JFW_Build@
	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	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74483[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@42
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@
	jmp	SHORT $LN4@Create@42
$LN3@Create@42:
	xor	esi, esi
$LN4@Create@42:

; 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@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74483[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::Create
PUBLIC	??_C@_0FC@INCBMFBC@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FC@INCBMFBC@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FC@INCBMFBC@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>'
	DB	'::Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74506 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@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@_0FC@INCBMFBC@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74506[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@43
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@
	jmp	SHORT $LN4@Create@43
$LN3@Create@43:
	xor	esi, esi
$LN4@Create@43:

; 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@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74506[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::Create
PUBLIC	??_C@_0FJ@NGCIMADN@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FJ@NGCIMADN@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FJ@NGCIMADN@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Sec'
	DB	'ondary>::Create', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74529 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@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@_0FJ@NGCIMADN@ScriptRegistrant?$DMclass?5JFW_Build@
	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	44					; 0000002cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74529[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@44
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@
	jmp	SHORT $LN4@Create@44
$LN3@Create@44:
	xor	esi, esi
$LN4@Create@44:

; 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@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74529[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::Create
PUBLIC	??_C@_0EK@JGMCICGM@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EK@JGMCICGM@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EK@JGMCICGM@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_VTOL_Only>::Create'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_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@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74552 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_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@_0EK@JGMCICGM@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74552[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@45
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@
	jmp	SHORT $LN4@Create@45
$LN3@Create@45:
	xor	esi, esi
$LN4@Create@45:

; 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@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74552[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::Create
PUBLIC	??_C@_0FB@HIHHLJJE@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FB@HIHHLJJE@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FB@HIHHLJJE@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>:'
	DB	':Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_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@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74575 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_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@_0FB@HIHHLJJE@ScriptRegistrant?$DMclass?5JFW_Build@
	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	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74575[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@46
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@
	jmp	SHORT $LN4@Create@46
$LN3@Create@46:
	xor	esi, esi
$LN4@Create@46:

; 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@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74575[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::Create
PUBLIC	??_C@_0FE@BGFLDDNK@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FE@BGFLDDNK@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FE@BGFLDDNK@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondar'
	DB	'y>::Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74598 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@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@_0FE@BGFLDDNK@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74598[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@47
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@47
$LN3@Create@47:
	xor	esi, esi
$LN4@Create@47:

; 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@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74598[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::Create
PUBLIC	??_C@_0FL@HECNKEDB@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FL@HECNKEDB@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FL@HECNKEDB@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_S'
	DB	'econdary>::Create', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74621 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@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@_0FL@HECNKEDB@ScriptRegistrant?$DMclass?5JFW_Build@
	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	44					; 0000002cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74621[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@48
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@48
$LN3@Create@48:
	xor	esi, esi
$LN4@Create@48:

; 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@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74621[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::Create
PUBLIC	??_C@_0EA@IPKLOFCI@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EA@IPKLOFCI@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EA@IPKLOFCI@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74644 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0EA@IPKLOFCI@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74644[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@49
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound@@6B@
	jmp	SHORT $LN4@Create@49
$LN3@Create@49:
	xor	esi, esi
$LN4@Create@49:

; 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@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74644[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::Create
PUBLIC	??_C@_0EH@LJJLDGOF@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EH@LJJLDGOF@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EH@LJJLDGOF@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Weapon>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74667 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@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@_0EH@LJJLDGOF@ScriptRegistrant?$DMclass?5JFW_Build@
	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	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74667[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@50
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon@@6B@
	jmp	SHORT $LN4@Create@50
$LN3@Create@50:
	xor	esi, esi
$LN4@Create@50:

; 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@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74667[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::Create
PUBLIC	??_C@_0EM@PEJLLCAF@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EM@PEJLLCAF@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EM@PEJLLCAF@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_No_Aircraft>::Crea'
	DB	'te', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74690 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@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@_0EM@PEJLLCAF@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74690[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@51
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@
	jmp	SHORT $LN4@Create@51
$LN3@Create@51:
	xor	esi, esi
$LN4@Create@51:

; 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@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74690[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::Create
PUBLIC	??_C@_0EO@CFBFDJMH@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EO@CFBFDJMH@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EO@CFBFDJMH@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Aircraft_Only>::Cr'
	DB	'eate', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_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@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74713 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_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@_0EO@CFBFDJMH@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74713[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@52
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@
	jmp	SHORT $LN4@Create@52
$LN3@Create@52:
	xor	esi, esi
$LN4@Create@52:

; 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@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74713[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::Create
PUBLIC	??_C@_0FD@JJPFNOCB@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FD@JJPFNOCB@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FD@JJPFNOCB@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft'
	DB	'>::Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74736 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@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@_0FD@JJPFNOCB@ScriptRegistrant?$DMclass?5JFW_Build@
	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	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74736[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@53
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@
	jmp	SHORT $LN4@Create@53
$LN3@Create@53:
	xor	esi, esi
$LN4@Create@53:

; 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@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74736[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::Create
PUBLIC	??_C@_0FF@JAPJJIHM@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FF@JAPJJIHM@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FF@JAPJJIHM@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_On'
	DB	'ly>::Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_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@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74759 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_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@_0FF@JAPJJIHM@ScriptRegistrant?$DMclass?5JFW_Build@
	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	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74759[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@54
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@
	jmp	SHORT $LN4@Create@54
$LN3@Create@54:
	xor	esi, esi
$LN4@Create@54:

; 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@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74759[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::Create
PUBLIC	??_C@_0EK@IEOKBKOA@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0EK@IEOKBKOA@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0EK@IEOKBKOA@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Secondary>::Create'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74782 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@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@_0EK@IEOKBKOA@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74782[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@55
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Secondary@@6B@
	jmp	SHORT $LN4@Create@55
$LN3@Create@55:
	xor	esi, esi
$LN4@Create@55:

; 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@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74782[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::Create
PUBLIC	??_C@_0FB@GKFPCBBI@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FB@GKFPCBBI@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FB@GKFPCBBI@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Weapon_Secondary>:'
	DB	':Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74805 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@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@_0FB@GKFPCBBI@ScriptRegistrant?$DMclass?5JFW_Build@
	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	44					; 0000002cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74805[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@56
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@
	jmp	SHORT $LN4@Create@56
$LN3@Create@56:
	xor	esi, esi
$LN4@Create@56:

; 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@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74805[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::Create
PUBLIC	??_C@_0FG@EDNIGJJD@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FG@EDNIGJJD@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FG@EDNIGJJD@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_No_Aircraft_Second'
	DB	'ary>::Create', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74828 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@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@_0FG@EDNIGJJD@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74828[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@57
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@
	jmp	SHORT $LN4@Create@57
$LN3@Create@57:
	xor	esi, esi
$LN4@Create@57:

; 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@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74828[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::Create
PUBLIC	??_C@_0FI@JAJHLGIE@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FI@JAJHLGIE@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FI@JAJHLGIE@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Aircraft_Only_Seco'
	DB	'ndary>::Create', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74851 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@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@_0FI@JAJHLGIE@ScriptRegistrant?$DMclass?5JFW_Build@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74851[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@58
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@58
$LN3@Create@58:
	xor	esi, esi
$LN4@Create@58:

; 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@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74851[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::Create
PUBLIC	??_C@_0FN@JADJCHCF@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FN@JADJCHCF@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FN@JADJCHCF@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft'
	DB	'_Secondary>::Create', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74874 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@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@_0FN@JADJCHCF@ScriptRegistrant?$DMclass?5JFW_Build@
	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	44					; 0000002cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74874[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@59
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@
	jmp	SHORT $LN4@Create@59
$LN3@Create@59:
	xor	esi, esi
$LN4@Create@59:

; 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@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74874[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::Create
PUBLIC	??_C@_0FP@LDGMAAMM@ScriptRegistrant?$DMclass?5JFW_Build@ ; `string'
;	COMDAT ??_C@_0FP@LDGMAAMM@ScriptRegistrant?$DMclass?5JFW_Build@
CONST	SEGMENT
??_C@_0FP@LDGMAAMM@ScriptRegistrant?$DMclass?5JFW_Build@ DB 'ScriptRegist'
	DB	'rant<class JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_On'
	DB	'ly_Secondary>::Create', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T74897 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@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@_0FP@LDGMAAMM@ScriptRegistrant?$DMclass?5JFW_Build@
	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	44					; 0000002cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74897[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@60
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $LN4@Create@60
$LN3@Create@60:
	xor	esi, esi
$LN4@Create@60:

; 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@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T74897[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::Create
; Function compile flags: /Ogtpy
;	COMDAT ??_GJFW_Building_Gun@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun@@UAEPAXI@Z PROC			; JFW_Building_Gun::`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@62
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@62:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun@@UAEPAXI@Z ENDP			; JFW_Building_Gun::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon@@UAEPAXI@Z PROC		; JFW_Building_Gun_Weapon::`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@63
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@63:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon@@UAEPAXI@Z ENDP		; JFW_Building_Gun_Weapon::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z PROC	; JFW_Building_Gun_No_Aircraft::`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@64
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@64:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z ENDP	; JFW_Building_Gun_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z PROC	; JFW_Building_Gun_Aircraft_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@65
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@65:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z PROC	; JFW_Building_Gun_Weapon_No_Aircraft::`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@66
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@66:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Weapon_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z PROC ; JFW_Building_Gun_Weapon_Aircraft_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@67
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@67:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Secondary@@UAEPAXI@Z PROC		; JFW_Building_Gun_Secondary::`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@68
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@68:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Secondary@@UAEPAXI@Z ENDP		; JFW_Building_Gun_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z PROC	; JFW_Building_Gun_Weapon_Secondary::`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@69
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@69:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Weapon_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_No_Aircraft_Secondary::`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@70
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@70:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Aircraft_Only_Secondary::`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@71
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@71:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Aircraft_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`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@72
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@72:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`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@73
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@73:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated@@UAEPAXI@Z PROC		; JFW_Building_Gun_Animated::`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@74
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@74:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated@@UAEPAXI@Z ENDP		; JFW_Building_Gun_Animated::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z PROC	; JFW_Building_Gun_Animated_Weapon::`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@75
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@75:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Animated_Weapon::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_No_Aircraft::`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@76
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@76:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Aircraft_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@77
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@77:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`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@78
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@78:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_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@79
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@79:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z PROC	; JFW_Building_Gun_Animated_Secondary::`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@80
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@80:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Animated_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Weapon_Secondary::`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@81
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@81:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`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@82
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@82:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`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@83
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@83:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`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@84
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@84:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`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@85
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@85:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_No_VTOL@@UAEPAXI@Z PROC		; JFW_Building_Gun_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@86
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@86:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_No_VTOL@@UAEPAXI@Z ENDP		; JFW_Building_Gun_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_No_VTOL@@UAEPAXI@Z PROC	; JFW_Building_Gun_Weapon_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@87
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@87:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_No_VTOL@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Weapon_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z PROC	; JFW_Building_Gun_No_VTOL_Secondary::`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@88
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@88:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z ENDP	; JFW_Building_Gun_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`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@89
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@89:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_No_VTOL@@UAEPAXI@Z PROC	; JFW_Building_Gun_Animated_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@90
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@90:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_No_VTOL@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Animated_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_No_VTOL@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Weapon_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@91
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@91:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_No_VTOL@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`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@92
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@92:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`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@93
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@93:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_VTOL_Only@@UAEPAXI@Z PROC		; JFW_Building_Gun_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@94
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@94:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_VTOL_Only@@UAEPAXI@Z ENDP		; JFW_Building_Gun_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_VTOL_Only@@UAEPAXI@Z PROC	; JFW_Building_Gun_Weapon_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@95
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@95:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_VTOL_Only@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Weapon_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_VTOL_Only_Secondary::`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@96
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@96:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`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@97
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@97:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_VTOL_Only@@UAEPAXI@Z PROC	; JFW_Building_Gun_Animated_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@98
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@98:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_VTOL_Only@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Animated_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Weapon_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@99
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@99:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`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@100
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@100:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`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@101
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@101:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_No_VTOL@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_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@102
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@102:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_No_VTOL@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_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@103
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@103:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`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@104
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@104:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`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@105
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@105:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_VTOL_Only@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_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@106
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@106:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_VTOL_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_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@107
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@107:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`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@108
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@108:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`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@109
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@109:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z PROC	; JFW_Building_Gun_Animated_Sound::`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@110
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@110:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Animated_Sound::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon::`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@111
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@111:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`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@112
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@112:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_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@113
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@113:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`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@114
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@114:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_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@115
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@115:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Secondary::`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@116
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@116:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`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@117
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@117:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`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@118
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@118:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`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@119
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@119:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`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@120
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@120:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z PROC ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`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@121
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@121:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0BB@NEHPJGJL@JFW_Building_Gun?$AA@	; `string'
PUBLIC	??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@ ; `string'
EXTRN	_atexit:PROC
;	COMDAT ??_C@_0BB@NEHPJGJL@JFW_Building_Gun?$AA@
CONST	SEGMENT
??_C@_0BB@NEHPJGJL@JFW_Building_Gun?$AA@ DB 'JFW_Building_Gun', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT
??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Custo'
	DB	'm:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:flo'
	DB	'at,Max_Range:float', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Registrant@@YAXXZ PROC		; `dynamic initializer for 'JFW_Building_Gun_Registrant'', COMDAT

; 4921 : ScriptRegistrant<JFW_Building_Gun> JFW_Building_Gun_Registrant("JFW_Building_Gun","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0BB@NEHPJGJL@JFW_Building_Gun?$AA@
	mov	ecx, OFFSET ?JFW_Building_Gun_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun@@@@A ; JFW_Building_Gun_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'JFW_Building_Gun_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
;	COMDAT ??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Cust'
	DB	'om:int,Visible:int,Min_Range:float,Max_Range:float', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Weapon_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Weapon_Registrant@@YAXXZ PROC	; `dynamic initializer for 'JFW_Building_Gun_Weapon_Registrant'', COMDAT

; 4922 : ScriptRegistrant<JFW_Building_Gun_Weapon> JFW_Building_Gun_Weapon_Registrant("JFW_Building_Gun_Weapon","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0BI@LBJBBCKH@JFW_Building_Gun_Weapon?$AA@
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@A ; JFW_Building_Gun_Weapon_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Weapon_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Weapon_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'JFW_Building_Gun_Weapon_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BN@OKIGNCDP@JFW_Building_Gun_No_Aircraft?$AA@ ; `string'
PUBLIC	??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@ ; `string'
;	COMDAT ??_C@_0BN@OKIGNCDP@JFW_Building_Gun_No_Aircraft?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BN@OKIGNCDP@JFW_Building_Gun_No_Aircraft?$AA@ DB 'JFW_Building_Gun'
	DB	'_No_Aircraft', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT
??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Custo'
	DB	'm:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:flo'
	DB	'at,Max_Range:float,Preset1:string,Preset2:string,Preset3:stri'
	DB	'ng,Preset4:string,Preset5:string,Preset6:string,Preset7:strin'
	DB	'g,Preset8:string', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_No_Aircraft_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_No_Aircraft_Registrant'', COMDAT

; 4923 : ScriptRegistrant<JFW_Building_Gun_No_Aircraft> JFW_Building_Gun_No_Aircraft_Registrant("JFW_Building_Gun_No_Aircraft","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET ??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0BN@OKIGNCDP@JFW_Building_Gun_No_Aircraft?$AA@
	mov	ecx, OFFSET ?JFW_Building_Gun_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@A ; JFW_Building_Gun_No_Aircraft_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_No_Aircraft_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_No_Aircraft_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_No_Aircraft_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BP@INBKKHDE@JFW_Building_Gun_Aircraft_Only?$AA@ ; `string'
;	COMDAT ??_C@_0BP@INBKKHDE@JFW_Building_Gun_Aircraft_Only?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BP@INBKKHDE@JFW_Building_Gun_Aircraft_Only?$AA@ DB 'JFW_Building_G'
	DB	'un_Aircraft_Only', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Aircraft_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Aircraft_Only_Registrant'', COMDAT

; 4924 : ScriptRegistrant<JFW_Building_Gun_Aircraft_Only> JFW_Building_Gun_Aircraft_Only_Registrant("JFW_Building_Gun_Aircraft_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET ??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0BP@INBKKHDE@JFW_Building_Gun_Aircraft_Only?$AA@
	mov	ecx, OFFSET ?JFW_Building_Gun_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@A ; JFW_Building_Gun_Aircraft_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Aircraft_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Aircraft_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Aircraft_Only_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
;	COMDAT ??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Cust'
	DB	'om:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:st'
	DB	'ring,Preset2:string,Preset3:string,Preset4:string,Preset5:str'
	DB	'ing,Preset6:string,Preset7:string,Preset8:string', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Weapon_No_Aircraft_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Weapon_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Weapon_No_Aircraft_Registrant'', COMDAT

; 4925 : ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft> JFW_Building_Gun_Weapon_No_Aircraft_Registrant("JFW_Building_Gun_Weapon_No_Aircraft","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET ??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CE@DECBGIO@JFW_Building_Gun_Weapon_No_Aircr@
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Weapon_No_Aircraft_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Weapon_No_Aircraft_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_Aircraft_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Weapon_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Weapon_No_Aircraft_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Weapon_Aircraft_Only_Registrant'', COMDAT

; 4926 : ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only> JFW_Building_Gun_Weapon_Aircraft_Only_Registrant("JFW_Building_Gun_Weapon_Aircraft_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET ??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CG@OMMNNHKA@JFW_Building_Gun_Weapon_Aircraft@
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Weapon_Aircraft_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Aircraft_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Weapon_Aircraft_Only_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BL@FCGNPGJG@JFW_Building_Gun_Secondary?$AA@ ; `string'
;	COMDAT ??_C@_0BL@FCGNPGJG@JFW_Building_Gun_Secondary?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BL@FCGNPGJG@JFW_Building_Gun_Secondary?$AA@ DB 'JFW_Building_Gun_S'
	DB	'econdary', 00H				; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Secondary_Registrant@@YAXXZ PROC	; `dynamic initializer for 'JFW_Building_Gun_Secondary_Registrant'', COMDAT

; 4927 : ScriptRegistrant<JFW_Building_Gun_Secondary> JFW_Building_Gun_Secondary_Registrant("JFW_Building_Gun_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0BL@FCGNPGJG@JFW_Building_Gun_Secondary?$AA@
	mov	ecx, OFFSET ?JFW_Building_Gun_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@A ; JFW_Building_Gun_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Secondary_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'JFW_Building_Gun_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Weapon_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Weapon_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Weapon_Secondary_Registrant'', COMDAT

; 4928 : ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary> JFW_Building_Gun_Weapon_Secondary_Registrant("JFW_Building_Gun_Weapon_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CC@FEMPJBHC@JFW_Building_Gun_Weapon_Secondar@
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@A ; JFW_Building_Gun_Weapon_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Weapon_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Weapon_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Weapon_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CH@GJNINPFI@JFW_Building_Gun_No_Aircraft_Sec@ ; `string'
;	COMDAT ??_C@_0CH@GJNINPFI@JFW_Building_Gun_No_Aircraft_Sec@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CH@GJNINPFI@JFW_Building_Gun_No_Aircraft_Sec@ DB 'JFW_Building_Gun'
	DB	'_No_Aircraft_Secondary', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_No_Aircraft_Secondary_Registrant'', COMDAT

; 4929 : ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary> JFW_Building_Gun_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_No_Aircraft_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET ??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CH@GJNINPFI@JFW_Building_Gun_No_Aircraft_Sec@
	mov	ecx, OFFSET ?JFW_Building_Gun_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_No_Aircraft_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_No_Aircraft_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_No_Aircraft_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_No_Aircraft_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CJ@BNDCHBOA@JFW_Building_Gun_Aircraft_Only_S@ ; `string'
;	COMDAT ??_C@_0CJ@BNDCHBOA@JFW_Building_Gun_Aircraft_Only_S@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CJ@BNDCHBOA@JFW_Building_Gun_Aircraft_Only_S@ DB 'JFW_Building_Gun'
	DB	'_Aircraft_Only_Secondary', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Aircraft_Only_Secondary_Registrant'', COMDAT

; 4930 : ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary> JFW_Building_Gun_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Aircraft_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET ??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CJ@BNDCHBOA@JFW_Building_Gun_Aircraft_Only_S@
	mov	ecx, OFFSET ?JFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Aircraft_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Aircraft_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Aircraft_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant'', COMDAT

; 4931 : ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary> JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_Weapon_No_Aircraft_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET ??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CO@IFBDMHBC@JFW_Building_Gun_Weapon_No_Aircr@
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant'', COMDAT

; 4932 : ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary> JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Weapon_Aircraft_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET ??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DA@EMIKCPC@JFW_Building_Gun_Weapon_Aircraft@
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BK@NDPBDMIK@JFW_Building_Gun_Animated?$AA@ ; `string'
PUBLIC	??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@ ; `string'
;	COMDAT ??_C@_0BK@NDPBDMIK@JFW_Building_Gun_Animated?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BK@NDPBDMIK@JFW_Building_Gun_Animated?$AA@ DB 'JFW_Building_Gun_An'
	DB	'imated', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT
??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Custo'
	DB	'm:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:flo'
	DB	'at,Max_Range:float,EffectPreset:string,EffectAnimation:string'
	DB	',EffectTime:float,EffectFrame:float', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Registrant@@YAXXZ PROC	; `dynamic initializer for 'JFW_Building_Gun_Animated_Registrant'', COMDAT

; 4933 : ScriptRegistrant<JFW_Building_Gun_Animated> JFW_Building_Gun_Animated_Registrant("JFW_Building_Gun_Animated","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0BK@NDPBDMIK@JFW_Building_Gun_Animated?$AA@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@A ; JFW_Building_Gun_Animated_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'JFW_Building_Gun_Animated_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
;	COMDAT ??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Custo'
	DB	'm:int,Visible:int,Min_Range:float,Max_Range:float,EffectPrese'
	DB	't:string,EffectAnimation:string,EffectTime:float,EffectFrame:'
	DB	'float', 00H					; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Weapon_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Weapon_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_Registrant'', COMDAT

; 4934 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon> JFW_Building_Gun_Animated_Weapon_Registrant("JFW_Building_Gun_Animated_Weapon","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CB@FLLOIBBP@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@A ; JFW_Building_Gun_Animated_Weapon_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Weapon_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Weapon_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CG@PCEEMFBL@JFW_Building_Gun_Animated_No_Air@ ; `string'
PUBLIC	??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@ ; `string'
;	COMDAT ??_C@_0CG@PCEEMFBL@JFW_Building_Gun_Animated_No_Air@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CG@PCEEMFBL@JFW_Building_Gun_Animated_No_Air@ DB 'JFW_Building_Gun'
	DB	'_Animated_No_Aircraft', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT
??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Cust'
	DB	'om:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:fl'
	DB	'oat,Max_Range:float,Preset1:string,Preset2:string,Preset3:str'
	DB	'ing,Preset4:string,Preset5:string,Preset6:string,Preset7:stri'
	DB	'ng,Preset8:string,EffectPreset:string,EffectAnimation:string,'
	DB	'EffectTime:float,EffectFrame:float', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_No_Aircraft_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_No_Aircraft_Registrant'', COMDAT

; 4935 : ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft> JFW_Building_Gun_Animated_No_Aircraft_Registrant("JFW_Building_Gun_Animated_No_Aircraft","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CG@PCEEMFBL@JFW_Building_Gun_Animated_No_Air@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_No_Aircraft_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_No_Aircraft_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_Aircraft_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_No_Aircraft_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CI@PPCBNLJH@JFW_Building_Gun_Animated_Aircra@ ; `string'
;	COMDAT ??_C@_0CI@PPCBNLJH@JFW_Building_Gun_Animated_Aircra@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CI@PPCBNLJH@JFW_Building_Gun_Animated_Aircra@ DB 'JFW_Building_Gun'
	DB	'_Animated_Aircraft_Only', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Aircraft_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Aircraft_Only_Registrant'', COMDAT

; 4936 : ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only> JFW_Building_Gun_Animated_Aircraft_Only_Registrant("JFW_Building_Gun_Animated_Aircraft_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CI@PPCBNLJH@JFW_Building_Gun_Animated_Aircra@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Aircraft_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Aircraft_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Aircraft_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Aircraft_Only_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
;	COMDAT ??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Cus'
	DB	'tom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:s'
	DB	'tring,Preset2:string,Preset3:string,Preset4:string,Preset5:st'
	DB	'ring,Preset6:string,Preset7:string,Preset8:string,EffectPrese'
	DB	't:string,EffectAnimation:string,EffectTime:float,EffectFrame:'
	DB	'float', 00H					; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant'', COMDAT

; 4937 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft> JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant("JFW_Building_Gun_Animated_Weapon_No_Aircraft","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CN@CABLPNOJ@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant'', COMDAT

; 4938 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only> JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant("JFW_Building_Gun_Animated_Weapon_Aircraft_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CP@PBKJDCGJ@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CE@GIJNLNFE@JFW_Building_Gun_Animated_Second@ ; `string'
;	COMDAT ??_C@_0CE@GIJNLNFE@JFW_Building_Gun_Animated_Second@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CE@GIJNLNFE@JFW_Building_Gun_Animated_Second@ DB 'JFW_Building_Gun'
	DB	'_Animated_Secondary', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Secondary_Registrant'', COMDAT

; 4939 : ScriptRegistrant<JFW_Building_Gun_Animated_Secondary> JFW_Building_Gun_Animated_Secondary_Registrant("JFW_Building_Gun_Animated_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CE@GIJNLNFE@JFW_Building_Gun_Animated_Second@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@A ; JFW_Building_Gun_Animated_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_Secondary_Registrant'', COMDAT

; 4940 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary> JFW_Building_Gun_Animated_Weapon_Secondary_Registrant("JFW_Building_Gun_Animated_Weapon_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CL@LNHAKNOH@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0DA@ILHNMBKJ@JFW_Building_Gun_Animated_No_Air@ ; `string'
;	COMDAT ??_C@_0DA@ILHNMBKJ@JFW_Building_Gun_Animated_No_Air@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0DA@ILHNMBKJ@JFW_Building_Gun_Animated_No_Air@ DB 'JFW_Building_Gun'
	DB	'_Animated_No_Aircraft_Secondary', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant'', COMDAT

; 4941 : ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary> JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_Animated_No_Aircraft_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0DA@ILHNMBKJ@JFW_Building_Gun_Animated_No_Air@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0DC@OKJKHONK@JFW_Building_Gun_Animated_Aircra@ ; `string'
;	COMDAT ??_C@_0DC@OKJKHONK@JFW_Building_Gun_Animated_Aircra@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0DC@OKJKHONK@JFW_Building_Gun_Animated_Aircra@ DB 'JFW_Building_Gun'
	DB	'_Animated_Aircraft_Only_Secondary', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant'', COMDAT

; 4942 : ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary> JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Aircraft_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0DC@OKJKHONK@JFW_Building_Gun_Animated_Aircra@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant'', COMDAT

; 4943 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary> JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DH@LKHHAMMB@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant'', COMDAT

; 4944 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary> JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DJ@KCGLBAHC@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BJ@LNBPDNBA@JFW_Building_Gun_No_VTOL?$AA@ ; `string'
;	COMDAT ??_C@_0BJ@LNBPDNBA@JFW_Building_Gun_No_VTOL?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BJ@LNBPDNBA@JFW_Building_Gun_No_VTOL?$AA@ DB 'JFW_Building_Gun_No_'
	DB	'VTOL', 00H					; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_No_VTOL_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_No_VTOL_Registrant@@YAXXZ PROC	; `dynamic initializer for 'JFW_Building_Gun_No_VTOL_Registrant'', COMDAT

; 4945 : ScriptRegistrant<JFW_Building_Gun_No_VTOL> JFW_Building_Gun_No_VTOL_Registrant("JFW_Building_Gun_No_VTOL","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0BJ@LNBPDNBA@JFW_Building_Gun_No_VTOL?$AA@
	mov	ecx, OFFSET ?JFW_Building_Gun_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@A ; JFW_Building_Gun_No_VTOL_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_No_VTOL_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_No_VTOL_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_No_VTOL_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'JFW_Building_Gun_No_VTOL_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Weapon_No_VTOL_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Weapon_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Weapon_No_VTOL_Registrant'', COMDAT

; 4946 : ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL> JFW_Building_Gun_Weapon_No_VTOL_Registrant("JFW_Building_Gun_Weapon_No_VTOL","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CA@GOLIDHAM@JFW_Building_Gun_Weapon_No_VTOL?$AA@
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Weapon_No_VTOL_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Weapon_No_VTOL_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_VTOL_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Weapon_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Weapon_No_VTOL_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CD@OELMLBNM@JFW_Building_Gun_No_VTOL_Seconda@ ; `string'
;	COMDAT ??_C@_0CD@OELMLBNM@JFW_Building_Gun_No_VTOL_Seconda@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CD@OELMLBNM@JFW_Building_Gun_No_VTOL_Seconda@ DB 'JFW_Building_Gun'
	DB	'_No_VTOL_Secondary', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_No_VTOL_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_No_VTOL_Secondary_Registrant'', COMDAT

; 4947 : ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary> JFW_Building_Gun_No_VTOL_Secondary_Registrant("JFW_Building_Gun_No_VTOL_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CD@OELMLBNM@JFW_Building_Gun_No_VTOL_Seconda@
	mov	ecx, OFFSET ?JFW_Building_Gun_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_No_VTOL_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_No_VTOL_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_No_VTOL_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_No_VTOL_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant'', COMDAT

; 4948 : ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary> JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant("JFW_Building_Gun_Weapon_No_VTOL_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CK@HGKDKNGJ@JFW_Building_Gun_Weapon_No_VTOL_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CC@HIEPCJDN@JFW_Building_Gun_Animated_No_VTO@ ; `string'
;	COMDAT ??_C@_0CC@HIEPCJDN@JFW_Building_Gun_Animated_No_VTO@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CC@HIEPCJDN@JFW_Building_Gun_Animated_No_VTO@ DB 'JFW_Building_Gun'
	DB	'_Animated_No_VTOL', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_No_VTOL_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_No_VTOL_Registrant'', COMDAT

; 4949 : ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL> JFW_Building_Gun_Animated_No_VTOL_Registrant("JFW_Building_Gun_Animated_No_VTOL","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CC@HIEPCJDN@JFW_Building_Gun_Animated_No_VTO@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@A ; JFW_Building_Gun_Animated_No_VTOL_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_No_VTOL_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_VTOL_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_No_VTOL_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant'', COMDAT

; 4950 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL> JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant("JFW_Building_Gun_Animated_Weapon_No_VTOL","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CJ@CBBFPOCC@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CM@GEDAGJCL@JFW_Building_Gun_Animated_No_VTO@ ; `string'
;	COMDAT ??_C@_0CM@GEDAGJCL@JFW_Building_Gun_Animated_No_VTO@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CM@GEDAGJCL@JFW_Building_Gun_Animated_No_VTO@ DB 'JFW_Building_Gun'
	DB	'_Animated_No_VTOL_Secondary', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant'', COMDAT

; 4951 : ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary> JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant("JFW_Building_Gun_Animated_No_VTOL_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CM@GEDAGJCL@JFW_Building_Gun_Animated_No_VTO@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant'', COMDAT

; 4952 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary> JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant("JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DD@LAFINMNE@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BL@OKGOOJGK@JFW_Building_Gun_VTOL_Only?$AA@ ; `string'
;	COMDAT ??_C@_0BL@OKGOOJGK@JFW_Building_Gun_VTOL_Only?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BL@OKGOOJGK@JFW_Building_Gun_VTOL_Only?$AA@ DB 'JFW_Building_Gun_V'
	DB	'TOL_Only', 00H				; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_VTOL_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_VTOL_Only_Registrant@@YAXXZ PROC	; `dynamic initializer for 'JFW_Building_Gun_VTOL_Only_Registrant'', COMDAT

; 4953 : ScriptRegistrant<JFW_Building_Gun_VTOL_Only> JFW_Building_Gun_VTOL_Only_Registrant("JFW_Building_Gun_VTOL_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0BL@OKGOOJGK@JFW_Building_Gun_VTOL_Only?$AA@
	mov	ecx, OFFSET ?JFW_Building_Gun_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@A ; JFW_Building_Gun_VTOL_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_VTOL_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_VTOL_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_VTOL_Only_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'JFW_Building_Gun_VTOL_Only_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Weapon_VTOL_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Weapon_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Weapon_VTOL_Only_Registrant'', COMDAT

; 4954 : ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only> JFW_Building_Gun_Weapon_VTOL_Only_Registrant("JFW_Building_Gun_Weapon_VTOL_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CC@OMMMIOIO@JFW_Building_Gun_Weapon_VTOL_Onl@
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Weapon_VTOL_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Weapon_VTOL_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_VTOL_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Weapon_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Weapon_VTOL_Only_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CF@MKLEPCIP@JFW_Building_Gun_VTOL_Only_Secon@ ; `string'
;	COMDAT ??_C@_0CF@MKLEPCIP@JFW_Building_Gun_VTOL_Only_Secon@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CF@MKLEPCIP@JFW_Building_Gun_VTOL_Only_Secon@ DB 'JFW_Building_Gun'
	DB	'_VTOL_Only_Secondary', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_VTOL_Only_Secondary_Registrant'', COMDAT

; 4955 : ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary> JFW_Building_Gun_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_VTOL_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CF@MKLEPCIP@JFW_Building_Gun_VTOL_Only_Secon@
	mov	ecx, OFFSET ?JFW_Building_Gun_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_VTOL_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_VTOL_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_VTOL_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_VTOL_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant'', COMDAT

; 4956 : ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary> JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_Weapon_VTOL_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET ??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CM@EHAHGGCC@JFW_Building_Gun_Weapon_VTOL_Onl@
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CE@NAJOKCKI@JFW_Building_Gun_Animated_VTOL_O@ ; `string'
;	COMDAT ??_C@_0CE@NAJOKCKI@JFW_Building_Gun_Animated_VTOL_O@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CE@NAJOKCKI@JFW_Building_Gun_Animated_VTOL_O@ DB 'JFW_Building_Gun'
	DB	'_Animated_VTOL_Only', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_VTOL_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_VTOL_Only_Registrant'', COMDAT

; 4957 : ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only> JFW_Building_Gun_Animated_VTOL_Only_Registrant("JFW_Building_Gun_Animated_VTOL_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CE@NAJOKCKI@JFW_Building_Gun_Animated_VTOL_O@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_VTOL_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_VTOL_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_VTOL_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_VTOL_Only_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant'', COMDAT

; 4958 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only> JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant("JFW_Building_Gun_Animated_Weapon_VTOL_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CL@FHDLCBL@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CO@BJEBFPJP@JFW_Building_Gun_Animated_VTOL_O@ ; `string'
;	COMDAT ??_C@_0CO@BJEBFPJP@JFW_Building_Gun_Animated_VTOL_O@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CO@BJEBFPJP@JFW_Building_Gun_Animated_VTOL_O@ DB 'JFW_Building_Gun'
	DB	'_Animated_VTOL_Only_Secondary', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant'', COMDAT

; 4959 : ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary> JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_Animated_VTOL_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CO@BJEBFPJP@JFW_Building_Gun_Animated_VTOL_O@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant'', COMDAT

; 4960 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary> JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET ??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DF@DBGODBIG@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CI@IOEBNEAC@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@ ; `string'
;	COMDAT ??_C@_0CI@IOEBNEAC@JFW_Building_Gun_Animated_Sound_@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CI@IOEBNEAC@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_No_VTOL', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT
??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Custo'
	DB	'm:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:flo'
	DB	'at,Max_Range:float,EffectPreset:string,EffectAnimation:string'
	DB	',EffectTime:float,EffectFrame:float,Sound:string', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant'', COMDAT

; 4961 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL> JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant("JFW_Building_Gun_Animated_Sound_No_VTOL","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CI@IOEBNEAC@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
;	COMDAT ??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Cust'
	DB	'om:int,Visible:int,Min_Range:float,Max_Range:float,EffectPres'
	DB	'et:string,EffectAnimation:string,EffectTime:float,EffectFrame'
	DB	':float,Sound:string', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant'', COMDAT

; 4962 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL> JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CP@MKAPNGEE@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0DC@IIFFIJIC@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0DC@IIFFIJIC@JFW_Building_Gun_Animated_Sound_@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0DC@IIFFIJIC@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_No_VTOL_Secondary', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant'', COMDAT

; 4963 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary> JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0DC@IIFFIJIC@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant'', COMDAT

; 4964 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary> JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DJ@LJFEFHFG@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CK@ELEMPADL@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0CK@ELEMPADL@JFW_Building_Gun_Animated_Sound_@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CK@ELEMPADL@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_VTOL_Only', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant'', COMDAT

; 4965 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only> JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant("JFW_Building_Gun_Animated_Sound_VTOL_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CK@ELEMPADL@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant'', COMDAT

; 4966 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only> JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DB@DGBDNNK@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0DE@MGIOFGCC@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0DE@MGIOFGCC@JFW_Building_Gun_Animated_Sound_@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0DE@MGIOFGCC@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_VTOL_Only_Secondary', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant'', COMDAT

; 4967 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary> JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0DE@MGIOFGCC@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant'', COMDAT

; 4968 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary> JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DL@ECLBJIOL@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CA@DBDDIDCO@JFW_Building_Gun_Animated_Sound?$AA@ ; `string'
;	COMDAT ??_C@_0CA@DBDDIDCO@JFW_Building_Gun_Animated_Sound?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CA@DBDDIDCO@JFW_Building_Gun_Animated_Sound?$AA@ DB 'JFW_Building_'
	DB	'Gun_Animated_Sound', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Registrant'', COMDAT

; 4969 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound> JFW_Building_Gun_Animated_Sound_Registrant("JFW_Building_Gun_Animated_Sound","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CA@DBDDIDCO@JFW_Building_Gun_Animated_Sound?$AA@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@A ; JFW_Building_Gun_Animated_Sound_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Weapon_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Weapon_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_Registrant'', COMDAT

; 4970 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon> JFW_Building_Gun_Animated_Sound_Weapon_Registrant("JFW_Building_Gun_Animated_Sound_Weapon","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0CH@OMGFOFMK@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Weapon_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Weapon_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CM@CNENLHMI@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@ ; `string'
;	COMDAT ??_C@_0CM@CNENLHMI@JFW_Building_Gun_Animated_Sound_@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CM@CNENLHMI@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_No_Aircraft', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT
??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Cust'
	DB	'om:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:fl'
	DB	'oat,Max_Range:float,Preset1:string,Preset2:string,Preset3:str'
	DB	'ing,Preset4:string,Preset5:string,Preset6:string,Preset7:stri'
	DB	'ng,Preset8:string,EffectPreset:string,EffectAnimation:string,'
	DB	'EffectTime:float,EffectFrame:float,Sound:string', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant'', COMDAT

; 4971 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft> JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant("JFW_Building_Gun_Animated_Sound_No_Aircraft","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CM@CNENLHMI@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CO@OLDPICFC@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0CO@OLDPICFC@JFW_Building_Gun_Animated_Sound_@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CO@OLDPICFC@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Aircraft_Only', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant'', COMDAT

; 4972 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only> JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant("JFW_Building_Gun_Animated_Sound_Aircraft_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CO@OLDPICFC@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
;	COMDAT ??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Cus'
	DB	'tom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:s'
	DB	'tring,Preset2:string,Preset3:string,Preset4:string,Preset5:st'
	DB	'ring,Preset6:string,Preset7:string,Preset8:string,EffectPrese'
	DB	't:string,EffectAnimation:string,EffectTime:float,EffectFrame:'
	DB	'float,Sound:string', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant'', COMDAT

; 4973 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft> JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DD@IPPNIDEF@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant'', COMDAT

; 4974 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only> JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DF@EEKGDCFB@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0CK@PDEPOPMH@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0CK@PDEPOPMH@JFW_Building_Gun_Animated_Sound_@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0CK@PDEPOPMH@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Secondary', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Secondary_Registrant'', COMDAT

; 4975 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary> JFW_Building_Gun_Animated_Sound_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0CK@PDEPOPMH@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant'', COMDAT

; 4976 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary> JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DB@LLGCCCCG@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0DG@KDMKHGDH@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0DG@KDMKHGDH@JFW_Building_Gun_Animated_Sound_@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0DG@KDMKHGDH@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_No_Aircraft_Secondary', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant'', COMDAT

; 4977 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary> JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0DG@KDMKHGDH@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0DI@FAFNNHNG@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0DI@FAFNNHNG@JFW_Building_Gun_Animated_Sound_@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0DI@FAFNNHNG@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Aircraft_Only_Secondary', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\jfwgun.cpp
CONST	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant'', COMDAT

; 4978 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary> JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET ??_C@_0DI@FAFNNHNG@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant'', COMDAT

; 4979 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary> JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DN@MFCOHBLI@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yc	SEGMENT
??__EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant'', COMDAT

; 4980 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary> JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET ??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET ??_C@_0DP@HCCCKABF@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant''
	mov	DWORD PTR ?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@A, OFFSET ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic initializer for 'JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__FJFW_Building_Gun_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'JFW_Building_Gun_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun@@@@A ; JFW_Building_Gun_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'JFW_Building_Gun_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Weapon_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Weapon_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@A ; JFW_Building_Gun_Weapon_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Weapon_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_No_Aircraft_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_No_Aircraft_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@A ; JFW_Building_Gun_No_Aircraft_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_No_Aircraft_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Aircraft_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Aircraft_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@A ; JFW_Building_Gun_Aircraft_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Aircraft_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Weapon_No_Aircraft_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Weapon_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_Aircraft_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Weapon_No_Aircraft_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Weapon_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_Aircraft_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Aircraft_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Weapon_Aircraft_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Aircraft_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Secondary_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'JFW_Building_Gun_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@A ; JFW_Building_Gun_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Secondary_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'JFW_Building_Gun_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Weapon_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Weapon_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@A ; JFW_Building_Gun_Weapon_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Weapon_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_No_Aircraft_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_No_Aircraft_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_No_Aircraft_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Aircraft_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Aircraft_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Aircraft_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@A ; JFW_Building_Gun_Animated_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Weapon_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Weapon_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@A ; JFW_Building_Gun_Animated_Weapon_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Weapon_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_No_Aircraft_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_Aircraft_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_No_Aircraft_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_Aircraft_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Aircraft_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Aircraft_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Aircraft_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Aircraft_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@A ; JFW_Building_Gun_Animated_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_No_VTOL_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_No_VTOL_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'JFW_Building_Gun_No_VTOL_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@A ; JFW_Building_Gun_No_VTOL_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_No_VTOL_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'JFW_Building_Gun_No_VTOL_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Weapon_No_VTOL_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Weapon_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_VTOL_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Weapon_No_VTOL_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Weapon_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_VTOL_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_No_VTOL_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_No_VTOL_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_No_VTOL_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_No_VTOL_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_No_VTOL_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_VTOL_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@A ; JFW_Building_Gun_Animated_No_VTOL_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_VTOL_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_VTOL_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_VTOL_Only_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'JFW_Building_Gun_VTOL_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@A ; JFW_Building_Gun_VTOL_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_VTOL_Only_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'JFW_Building_Gun_VTOL_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Weapon_VTOL_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Weapon_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_VTOL_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Weapon_VTOL_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Weapon_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_VTOL_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_VTOL_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_VTOL_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_VTOL_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_VTOL_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_VTOL_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_VTOL_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_VTOL_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@A ; JFW_Building_Gun_Animated_Sound_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Weapon_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Weapon_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Weapon_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ
text$yd	SEGMENT
??__FJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ PROC ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant'', COMDAT
	mov	ecx, OFFSET ?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ ENDP ; `dynamic atexit destructor for 'JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant''
text$yd	ENDS
PUBLIC	?JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@A ; JFW_Building_Gun_Animated_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@A ; JFW_Building_Gun_Weapon_Registrant
PUBLIC	?JFW_Building_Gun_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_No_VTOL_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@A ; JFW_Building_Gun_Animated_Registrant
PUBLIC	?JFW_Building_Gun_Animated_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@A ; JFW_Building_Gun_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Weapon_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Weapon_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Registrant
PUBLIC	?JFW_Building_Gun_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@A ; JFW_Building_Gun_No_Aircraft_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@A ; JFW_Building_Gun_Animated_Weapon_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_No_Aircraft_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@A ; JFW_Building_Gun_Animated_Sound_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Weapon_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@A ; JFW_Building_Gun_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@A ; JFW_Building_Gun_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@A ; JFW_Building_Gun_Weapon_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@A ; JFW_Building_Gun_Animated_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant
PUBLIC	?JFW_Building_Gun_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun@@@@A ; JFW_Building_Gun_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@A ; JFW_Building_Gun_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Weapon_No_Aircraft_Registrant
_BSS	SEGMENT
?JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Animated_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_No_VTOL_Registrant
?JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant
?JFW_Building_Gun_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_Registrant
?JFW_Building_Gun_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_No_VTOL_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_Secondary_Registrant
?JFW_Building_Gun_Animated_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Registrant
?JFW_Building_Gun_Animated_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_VTOL_Only_Registrant
?JFW_Building_Gun_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_No_VTOL_Registrant
?JFW_Building_Gun_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_VTOL_Only_Registrant
?JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_No_VTOL_Registrant
?JFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_Registrant
?JFW_Building_Gun_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_No_Aircraft_Registrant
?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant
?JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_Registrant
?JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_No_Aircraft_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant
?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant
?JFW_Building_Gun_Animated_Sound_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant
?JFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_Aircraft_Only_Registrant
?JFW_Building_Gun_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Secondary_Registrant
?JFW_Building_Gun_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_VTOL_Only_Registrant
?JFW_Building_Gun_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_Secondary_Registrant
?JFW_Building_Gun_Animated_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant
?JFW_Building_Gun_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant
?JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant
?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant
?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Registrant
?JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Aircraft_Only_Registrant
?JFW_Building_Gun_Animated_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Aircraft_Only_Registrant
?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant
?JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant
?JFW_Building_Gun_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_No_Aircraft_Registrant
_BSS	ENDS
CRT$XCU	SEGMENT
_JFW_Building_Gun_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Registrant@@YAXXZ
_JFW_Building_Gun_Weapon_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Weapon_Registrant@@YAXXZ
_JFW_Building_Gun_No_Aircraft_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_No_Aircraft_Registrant@@YAXXZ
_JFW_Building_Gun_Aircraft_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Aircraft_Only_Registrant@@YAXXZ
_JFW_Building_Gun_Weapon_No_Aircraft_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Weapon_No_Aircraft_Registrant@@YAXXZ
_JFW_Building_Gun_Weapon_Aircraft_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@YAXXZ
_JFW_Building_Gun_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Weapon_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Weapon_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_No_Aircraft_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_No_Aircraft_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Aircraft_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Weapon_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Weapon_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_No_Aircraft_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_No_Aircraft_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Aircraft_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Aircraft_Only_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Weapon_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_No_VTOL_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_No_VTOL_Registrant@@YAXXZ
_JFW_Building_Gun_Weapon_No_VTOL_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Weapon_No_VTOL_Registrant@@YAXXZ
_JFW_Building_Gun_No_VTOL_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_No_VTOL_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_No_VTOL_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_No_VTOL_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_VTOL_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_VTOL_Only_Registrant@@YAXXZ
_JFW_Building_Gun_Weapon_VTOL_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Weapon_VTOL_Only_Registrant@@YAXXZ
_JFW_Building_Gun_VTOL_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_VTOL_Only_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_VTOL_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_VTOL_Only_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Weapon_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Weapon_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@YAXXZ
_JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant$initializer$ DD FLAT:??__EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@YAXXZ
CRT$XCU	ENDS
END
