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

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

; 312  : 		Attack_Target = Target;

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

; 313  : 		Attack_Range = Range;

	fld	DWORD PTR _Range$[esp-4]

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

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

; 316  : 		Hold_Action = Hold;

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

; 317  : 	}

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

; 350  : 		Move_Destination.X = position.X;

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

; 351  : 		Move_Destination.Y = position.Y;

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

; 352  : 		Move_Destination.Z = position.Z;

	fld	DWORD PTR [eax+8]

; 353  : 		Move_Speed = speed;
; 354  : 		Move_Arrive_Distance = arrivedistance;
; 355  : 		Move_Crouch = crouch;

	mov	al, BYTE PTR _crouch$[esp-4]
	fstp	DWORD PTR [ecx+40]
	mov	BYTE PTR [ecx+70], al
	fld	DWORD PTR _speed$[esp-4]
	fstp	DWORD PTR [ecx+60]
	fld	DWORD PTR _arrivedistance$[esp-4]
	fstp	DWORD PTR [ecx+64]

; 356  : 	}

	ret	16					; 00000010H
?Set_Goto_Location@ActionParamsStruct@@QAEXABUVector3@@MM_N@Z ENDP ; ActionParamsStruct::Set_Goto_Location
_TEXT	ENDS
PUBLIC	?Set_Goto_Waypath@ActionParamsStruct@@QAEXK_N00@Z ; ActionParamsStruct::Set_Goto_Waypath
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Goto_Waypath@ActionParamsStruct@@QAEXK_N00@Z
_TEXT	SEGMENT
_waypathID$ = 8						; size = 4
_splined$ = 12						; size = 1
_v57$ = 16						; size = 1
_Hold$ = 20						; size = 1
?Set_Goto_Waypath@ActionParamsStruct@@QAEXK_N00@Z PROC	; ActionParamsStruct::Set_Goto_Waypath, COMDAT
; _this$ = ecx

; 394  : 		Move_Waypath_ID = waypathID;

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

; 395  : 		Move_Waypath_Splined = splined;

	mov	dl, BYTE PTR _splined$[esp-4]
	mov	DWORD PTR [ecx+136], eax

; 396  : 		var57 = v57;

	mov	al, BYTE PTR _v57$[esp-4]
	mov	BYTE PTR [ecx+148], dl

; 397  : 		Hold_Action = Hold;

	mov	dl, BYTE PTR _Hold$[esp-4]
	mov	BYTE PTR [ecx+109], al
	mov	BYTE PTR [ecx+108], dl

; 398  : 	}

	ret	16					; 00000010H
?Set_Goto_Waypath@ActionParamsStruct@@QAEXK_N00@Z ENDP	; ActionParamsStruct::Set_Goto_Waypath
_TEXT	ENDS
PUBLIC	?Set_Move_Arrive_Distance@ActionParamsStruct@@QAEXM@Z ; ActionParamsStruct::Set_Move_Arrive_Distance
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Move_Arrive_Distance@ActionParamsStruct@@QAEXM@Z
_TEXT	SEGMENT
_distance$ = 8						; size = 4
?Set_Move_Arrive_Distance@ActionParamsStruct@@QAEXM@Z PROC ; ActionParamsStruct::Set_Move_Arrive_Distance, COMDAT
; _this$ = ecx

; 405  : 		Move_Arrive_Distance = distance;

	fld	DWORD PTR _distance$[esp-4]
	fstp	DWORD PTR [ecx+64]

; 406  : 	}

	ret	4
?Set_Move_Arrive_Distance@ActionParamsStruct@@QAEXM@Z ENDP ; ActionParamsStruct::Set_Move_Arrive_Distance
_TEXT	ENDS
PUBLIC	??_C@_0M@IIPFJCEO@Spawn_Delay?$AA@		; `string'
PUBLIC	?Created@SUR_Spawn_Delay@@EAEXPAE@Z		; SUR_Spawn_Delay::Created
EXTRN	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z:PROC ; ScriptImpClass::Get_Float_Parameter
EXTRN	?Commands@@3PAUScriptCommands@@A:DWORD		; Commands
;	COMDAT ??_C@_0M@IIPFJCEO@Spawn_Delay?$AA@
; File d:\source code\stgm\survival.cpp
CONST	SEGMENT
??_C@_0M@IIPFJCEO@Spawn_Delay?$AA@ DB 'Spawn_Delay', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@SUR_Spawn_Delay@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@SUR_Spawn_Delay@@EAEXPAE@Z PROC		; SUR_Spawn_Delay::Created, COMDAT
; _this$ = ecx

; 17   : {

	push	esi
	push	edi

; 18   : 	Commands->Start_Timer(obj,this,Get_Float_Parameter("Spawn_Delay"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	OFFSET ??_C@_0M@IIPFJCEO@Spawn_Delay?$AA@
	mov	esi, ecx
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	eax, DWORD PTR _obj$[esp+8]
	push	ecx
	mov	ecx, DWORD PTR [edi]
	fstp	DWORD PTR [esp]
	push	esi
	push	eax
	call	ecx
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi

; 19   : }

	ret	4
?Created@SUR_Spawn_Delay@@EAEXPAE@Z ENDP		; SUR_Spawn_Delay::Created
_TEXT	ENDS
PUBLIC	??_C@_0L@NOEIONE@Spawn_Path?$AA@		; `string'
PUBLIC	__real@42c80000
PUBLIC	??_C@_07PCHJBECB@Do_Path?$AA@			; `string'
PUBLIC	??_C@_09BEPAMFKP@Spawn_Obj?$AA@			; `string'
PUBLIC	??_C@_09IPFCLICN@Spawn_Pos?$AA@			; `string'
PUBLIC	?Timer_Expired@SUR_Spawn_Delay@@EAEXPAEH@Z	; SUR_Spawn_Delay::Timer_Expired
EXTRN	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z:PROC ; ScriptImpClass::Get_Int_Parameter
EXTRN	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z:PROC	; ScriptImpClass::Get_Parameter
EXTRN	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z:PROC ; ScriptImpClass::Get_Vector3_Parameter
;	COMDAT ??_C@_0L@NOEIONE@Spawn_Path?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0L@NOEIONE@Spawn_Path?$AA@ DB 'Spawn_Path', 00H	; `string'
CONST	ENDS
;	COMDAT __real@42c80000
CONST	SEGMENT
__real@42c80000 DD 042c80000r			; 100
CONST	ENDS
;	COMDAT ??_C@_07PCHJBECB@Do_Path?$AA@
CONST	SEGMENT
??_C@_07PCHJBECB@Do_Path?$AA@ DB 'Do_Path', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_09BEPAMFKP@Spawn_Obj?$AA@
CONST	SEGMENT
??_C@_09BEPAMFKP@Spawn_Obj?$AA@ DB 'Spawn_Obj', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09IPFCLICN@Spawn_Pos?$AA@
CONST	SEGMENT
??_C@_09IPFCLICN@Spawn_Pos?$AA@ DB 'Spawn_Pos', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ?Timer_Expired@SUR_Spawn_Delay@@EAEXPAEH@Z
_TEXT	SEGMENT
_position$ = -232					; size = 12
_spawnpos$ = -220					; size = 12
$T24970 = -208						; size = 12
$T24969 = -208						; size = 12
$T24968 = -208						; size = 12
$T24967 = -208						; size = 12
_aps$ = -196						; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@SUR_Spawn_Delay@@EAEXPAEH@Z PROC		; SUR_Spawn_Delay::Timer_Expired, COMDAT
; _this$ = ecx

; 22   : {

	sub	esp, 232				; 000000e8H

; 23   : 	Vector3 spawnpos;

	fldz
	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 _spawnpos$[esp+252]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 24   : 	Vector3 position;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _position$[esp+252]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 25   : 	GameObject *res;
; 26   : 	ActionParamsStruct aps;

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

; 27   : 	position = Get_Vector3_Parameter("Spawn_Pos");

	push	OFFSET ??_C@_09IPFCLICN@Spawn_Pos?$AA@
	lea	eax, DWORD PTR $T24967[esp+244]
	push	eax
	mov	ecx, esi
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter
	mov	ecx, DWORD PTR [eax]

; 28   : 	spawnpos.X = Commands->Get_Position(obj).X + position.X;

	mov	edi, DWORD PTR _obj$[esp+236]
	mov	DWORD PTR _position$[esp+240], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _position$[esp+244], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T24968[esp+240]
	mov	DWORD PTR _position$[esp+248], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	fld	DWORD PTR [eax]
	fadd	DWORD PTR _position$[esp+248]

; 29   : 	spawnpos.Y = Commands->Get_Position(obj).Y + position.Y;

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T24969[esp+248]
	push	edi
	fstp	DWORD PTR _spawnpos$[esp+252]
	mov	eax, DWORD PTR [edx+64]
	push	ecx
	call	eax
	fld	DWORD PTR [eax+4]
	fadd	DWORD PTR _position$[esp+260]

; 30   : 	spawnpos.Z = Commands->Get_Position(obj).Z + position.Z;

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T24970[esp+256]
	push	edi
	fstp	DWORD PTR _spawnpos$[esp+264]
	mov	eax, DWORD PTR [edx+64]
	push	ecx
	call	eax
	fld	DWORD PTR [eax+8]
	fadd	DWORD PTR _position$[esp+272]

; 31   : 	switch (number)

	mov	eax, DWORD PTR _number$[esp+260]
	add	esp, 24					; 00000018H
	sub	eax, 1
	fstp	DWORD PTR _spawnpos$[esp+248]
	jne	$LN1@Timer_Expi

; 32   : 	{
; 33   : 	case 1:
; 34   : 		res = Commands->Create_Object(Get_Parameter("Spawn_Obj"),spawnpos);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _spawnpos$[esp+240]
	push	ecx
	push	OFFSET ??_C@_09BEPAMFKP@Spawn_Obj?$AA@
	mov	ecx, esi
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [edi]
	push	eax
	call	edx
	add	esp, 8

; 35   : 		if (Get_Int_Parameter("Do_Path") == 1)

	push	OFFSET ??_C@_07PCHJBECB@Do_Path?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	cmp	eax, 1
	jne	SHORT $LN1@Timer_Expi

; 36   : 		{
; 37   : 			aps.Set_Basic(this,100,1);

	mov	eax, DWORD PTR [esi+4]

; 38   : 			aps.Set_Move_Arrive_Distance(100);

	fld	DWORD PTR __real@42c80000

; 39   : 			aps.Set_Goto_Waypath(Get_Int_Parameter("Spawn_Path"),true,false,false);

	push	OFFSET ??_C@_0L@NOEIONE@Spawn_Path?$AA@
	fstp	DWORD PTR _aps$[esp+308]
	mov	ecx, esi
	mov	DWORD PTR _aps$[esp+244], 100		; 00000064H
	mov	DWORD PTR _aps$[esp+248], eax
	mov	DWORD PTR _aps$[esp+412], -1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 40   : 			Commands->Action_Goto(res,aps);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _aps$[esp+376], eax
	xor	al, al
	lea	ecx, DWORD PTR _aps$[esp+240]
	push	ecx
	mov	BYTE PTR _aps$[esp+392], 1
	mov	BYTE PTR _aps$[esp+353], al
	mov	BYTE PTR _aps$[esp+352], al
	mov	eax, DWORD PTR [edx+16]
	push	edi
	call	eax
	add	esp, 8
$LN1@Timer_Expi:
	pop	edi
	pop	esi

; 41   : 		}
; 42   : 		break;
; 43   : 	}
; 44   : }

	add	esp, 232				; 000000e8H
	ret	8
?Timer_Expired@SUR_Spawn_Delay@@EAEXPAEH@Z ENDP		; SUR_Spawn_Delay::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0BE@DHDDJGEO@Emitter_Preset_Good?$AA@	; `string'
PUBLIC	??_C@_0L@JCFEAFCJ@Time_Delay?$AA@		; `string'
PUBLIC	??_C@_0M@LGLODOFO@Emitter_Pos?$AA@		; `string'
PUBLIC	?Created@SUR_Generator_Zone@@EAEXPAE@Z		; SUR_Generator_Zone::Created
;	COMDAT ??_C@_0BE@DHDDJGEO@Emitter_Preset_Good?$AA@
CONST	SEGMENT
??_C@_0BE@DHDDJGEO@Emitter_Preset_Good?$AA@ DB 'Emitter_Preset_Good', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@JCFEAFCJ@Time_Delay?$AA@
CONST	SEGMENT
??_C@_0L@JCFEAFCJ@Time_Delay?$AA@ DB 'Time_Delay', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@LGLODOFO@Emitter_Pos?$AA@
CONST	SEGMENT
??_C@_0M@LGLODOFO@Emitter_Pos?$AA@ DB 'Emitter_Pos', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@SUR_Generator_Zone@@EAEXPAE@Z
_TEXT	SEGMENT
_pos$ = -24						; size = 12
$T24993 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@SUR_Generator_Zone@@EAEXPAE@Z PROC		; SUR_Generator_Zone::Created, COMDAT
; _this$ = ecx

; 50   : {

	sub	esp, 24					; 00000018H

; 51   : 	Vector3 pos;

	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 _pos$[esp+48]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 52   : 	pos = Get_Vector3_Parameter("Emitter_Pos");

	push	OFFSET ??_C@_0M@LGLODOFO@Emitter_Pos?$AA@
	lea	eax, DWORD PTR $T24993[esp+40]
	push	eax
	mov	ecx, esi
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter
	mov	ecx, DWORD PTR [eax]

; 53   : 	Commands->Start_Timer(obj,this,Get_Float_Parameter("Time_Delay"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _pos$[esp+36], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+40], edx
	mov	eax, DWORD PTR [eax+8]
	push	1
	push	OFFSET ??_C@_0L@JCFEAFCJ@Time_Delay?$AA@
	mov	ecx, esi
	mov	DWORD PTR _pos$[esp+52], eax
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	edx, DWORD PTR [edi]
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+40]
	fstp	DWORD PTR [esp]
	push	esi
	push	ecx
	call	edx

; 54   : 	curEmitter = Commands->Get_ID(Commands->Create_Object(Get_Parameter("Emitter_Preset_Good"),pos));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 16					; 00000010H
	lea	edi, DWORD PTR [eax+108]
	lea	ebx, DWORD PTR [eax+100]
	lea	eax, DWORD PTR _pos$[esp+36]
	push	eax
	push	OFFSET ??_C@_0BE@DHDDJGEO@Emitter_Preset_Good?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebx]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [edi]
	push	eax
	call	edx
	add	esp, 12					; 0000000cH
	pop	edi
	mov	DWORD PTR [esi+32], eax
	pop	esi
	pop	ebx

; 55   : }

	add	esp, 24					; 00000018H
	ret	4
?Created@SUR_Generator_Zone@@EAEXPAE@Z ENDP		; SUR_Generator_Zone::Created
_TEXT	ENDS
PUBLIC	??_C@_0M@IPKOBAPD@BlamoKiller?$AA@		; `string'
PUBLIC	??_C@_09IGNDJJLI@Explosive?$AA@			; `string'
PUBLIC	__real@461c4000
PUBLIC	?Timer_Expired@SUR_Generator_Zone@@EAEXPAEH@Z	; SUR_Generator_Zone::Timer_Expired
EXTRN	?Get_Parameter@ScriptImpClass@@QAEPBDH@Z:PROC	; ScriptImpClass::Get_Parameter
EXTRN	?Get_Int_Parameter@ScriptImpClass@@QAEHH@Z:PROC	; ScriptImpClass::Get_Int_Parameter
;	COMDAT ??_C@_0M@IPKOBAPD@BlamoKiller?$AA@
CONST	SEGMENT
??_C@_0M@IPKOBAPD@BlamoKiller?$AA@ DB 'BlamoKiller', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09IGNDJJLI@Explosive?$AA@
CONST	SEGMENT
??_C@_09IGNDJJLI@Explosive?$AA@ DB 'Explosive', 00H	; `string'
CONST	ENDS
;	COMDAT __real@461c4000
CONST	SEGMENT
__real@461c4000 DD 0461c4000r			; 10000
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Timer_Expired@SUR_Generator_Zone@@EAEXPAEH@Z
_TEXT	SEGMENT
_pos$ = -24						; size = 12
$T24997 = -12						; size = 12
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@SUR_Generator_Zone@@EAEXPAEH@Z PROC	; SUR_Generator_Zone::Timer_Expired, COMDAT
; _this$ = ecx

; 58   : {

	sub	esp, 24					; 00000018H

; 59   : 	Vector3 pos;

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

; 60   : 	pos = Get_Vector3_Parameter("Emitter_Pos");

	push	OFFSET ??_C@_0M@LGLODOFO@Emitter_Pos?$AA@
	lea	eax, DWORD PTR $T24997[esp+32]
	push	eax
	mov	ecx, esi
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+28], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+32], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos$[esp+36], eax

; 61   : 	GameObject *tmpObj;
; 62   : 	switch (number)

	mov	eax, DWORD PTR _number$[esp+24]
	sub	eax, 1
	jne	$LN1@Timer_Expi@2

; 63   : 	{
; 64   : 	case 1:
; 65   : 		energy--;

	add	DWORD PTR [esi+28], -1
	mov	eax, DWORD PTR [esi+28]

; 66   : 		if (energy <= 0)

	test	eax, eax
	push	ebx
	push	edi
	jg	SHORT $LN5@Timer_Expi@2

; 67   : 		{
; 68   : 			for (int i=1; i <= 3; i++)

	mov	edi, 1
$LL4@Timer_Expi@2:

; 69   : 			{
; 70   : 				tmpObj = Commands->Find_Object(Get_Int_Parameter(5 + i));				//start getting all the Building ID's and Destorying them for game over.

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR [edi+5]
	push	ecx
	mov	ecx, esi
	add	ebx, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHH@Z ; ScriptImpClass::Get_Int_Parameter
	mov	edx, DWORD PTR [ebx]
	push	eax
	call	edx

; 71   : //				maxHealth = Commands->Get_Max_Health(tmpObj);					//get buildings max health
; 72   : 				Commands->Apply_Damage(tmpObj,10000,"Explosive",0);			//Apply_Damage (only one that don't crash game)

	fld	DWORD PTR __real@461c4000
	add	esp, 4
	push	0
	push	OFFSET ??_C@_09IGNDJJLI@Explosive?$AA@
	push	ecx
	fstp	DWORD PTR [esp]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+616]
	call	ecx
	add	edi, 1
	add	esp, 16					; 00000010H
	cmp	edi, 3
	jle	SHORT $LL4@Timer_Expi@2
	pop	edi
	pop	ebx
	pop	esi

; 80   : 		}
; 81   : 		break;
; 82   : 	}
; 83   : }

	add	esp, 24					; 00000018H
	ret	8
$LN5@Timer_Expi@2:

; 73   : 			}
; 74   : 		}
; 75   : 		else
; 76   : 		{
; 77   : 			Commands->Apply_Damage(Commands->Find_Object(curEmitter),10000,"BlamoKiller",0);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fld	DWORD PTR __real@461c4000
	mov	edx, DWORD PTR [esi+32]
	push	0
	push	OFFSET ??_C@_0M@IPKOBAPD@BlamoKiller?$AA@
	push	ecx
	lea	edi, DWORD PTR [eax+616]
	fstp	DWORD PTR [esp]
	mov	eax, DWORD PTR [eax+96]
	push	edx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx

; 78   : 			curEmitter = Commands->Get_ID(Commands->Create_Object(Get_Parameter(6 - energy),pos));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edi, DWORD PTR [eax+108]
	lea	ebx, DWORD PTR [eax+100]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR _pos$[esp+36]
	mov	eax, 6
	sub	eax, DWORD PTR [esi+28]
	push	edx
	push	eax
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDH@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebx]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [edi]
	push	eax
	call	edx
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [esi+32], eax

; 79   : 			Commands->Start_Timer(obj,this,Get_Float_Parameter("Time_Delay"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	OFFSET ??_C@_0L@JCFEAFCJ@Time_Delay?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	eax, DWORD PTR _obj$[esp+36]
	push	ecx
	mov	ecx, DWORD PTR [edi]
	fstp	DWORD PTR [esp]
	push	esi
	push	eax
	call	ecx
	add	esp, 16					; 00000010H
	pop	edi
	pop	ebx
$LN1@Timer_Expi@2:
	pop	esi

; 80   : 		}
; 81   : 		break;
; 82   : 	}
; 83   : }

	add	esp, 24					; 00000018H
	ret	8
?Timer_Expired@SUR_Generator_Zone@@EAEXPAEH@Z ENDP	; SUR_Generator_Zone::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0BE@FAAIECIN@Supply_Truck_Preset?$AA@	; `string'
PUBLIC	?Entered@SUR_Generator_Zone@@EAEXPAE0@Z		; SUR_Generator_Zone::Entered
EXTRN	__stricmp:PROC
;	COMDAT ??_C@_0BE@FAAIECIN@Supply_Truck_Preset?$AA@
CONST	SEGMENT
??_C@_0BE@FAAIECIN@Supply_Truck_Preset?$AA@ DB 'Supply_Truck_Preset', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Entered@SUR_Generator_Zone@@EAEXPAE0@Z
_TEXT	SEGMENT
_pos$ = -24						; size = 12
$T25007 = -12						; size = 12
_obj$ = 8						; size = 4
_enter$ = 12						; size = 4
?Entered@SUR_Generator_Zone@@EAEXPAE0@Z PROC		; SUR_Generator_Zone::Entered, COMDAT
; _this$ = ecx

; 86   : {

	sub	esp, 24					; 00000018H

; 87   : 	Vector3 pos;

	fldz
	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 _pos$[esp+44]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 88   : 	const char *pname;
; 89   : 	pos = Get_Vector3_Parameter("Emitter_Pos");

	push	OFFSET ??_C@_0M@LGLODOFO@Emitter_Pos?$AA@
	lea	eax, DWORD PTR $T25007[esp+36]
	push	eax
	mov	ecx, esi
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+32], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+36], edx
	mov	eax, DWORD PTR [eax+8]

; 90   : 	pname = Get_Parameter("Supply_Truck_Preset");

	push	OFFSET ??_C@_0BE@FAAIECIN@Supply_Truck_Preset?$AA@
	mov	ecx, esi
	mov	DWORD PTR _pos$[esp+44], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 91   : 	if (!_stricmp(Commands->Get_Preset_Name(enter),pname))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edi, DWORD PTR _enter$[esp+28]
	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
	jne	$LN1@Entered

; 92   : 	{
; 93   : 		energy++;

	add	DWORD PTR [esi+28], 1

; 94   : 		Commands->Apply_Damage(enter,10000,"Explosive",0);

	fld	DWORD PTR __real@461c4000
	push	ebx
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_09IGNDJJLI@Explosive?$AA@
	push	ecx
	mov	ecx, DWORD PTR [eax+616]
	fstp	DWORD PTR [esp]
	push	edi
	call	ecx

; 95   : 		Commands->Apply_Damage(Commands->Find_Object(curEmitter),10000,"BlamoKiller",0);

	fld	DWORD PTR __real@461c4000
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [esi+32]
	add	esp, 16					; 00000010H
	push	0
	push	OFFSET ??_C@_0M@IPKOBAPD@BlamoKiller?$AA@
	push	ecx
	lea	edi, DWORD PTR [eax+616]
	fstp	DWORD PTR [esp]
	mov	eax, DWORD PTR [eax+96]
	push	edx
	call	eax
	mov	ecx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	call	ecx

; 96   : 		curEmitter = Commands->Get_ID(Commands->Create_Object(Get_Parameter(6 - energy),pos));

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edi, DWORD PTR [eax+108]
	lea	ebx, DWORD PTR [eax+100]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR _pos$[esp+36]
	mov	eax, 6
	sub	eax, DWORD PTR [esi+28]
	push	edx
	push	eax
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDH@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [ebx]
	push	eax
	call	ecx
	mov	edx, DWORD PTR [edi]
	push	eax
	call	edx
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [esi+32], eax
	pop	ebx
$LN1@Entered:
	pop	edi
	pop	esi

; 97   : 	}
; 98   : }

	add	esp, 24					; 00000018H
	ret	8
?Entered@SUR_Generator_Zone@@EAEXPAE0@Z ENDP		; SUR_Generator_Zone::Entered
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@SUR_Generator_Zone@@EAEXXZ ; SUR_Generator_Zone::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@SUR_Generator_Zone@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@SUR_Generator_Zone@@EAEXXZ PROC ; SUR_Generator_Zone::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 101  : {

	push	esi
	mov	esi, ecx

; 102  : 	Auto_Save_Variable(1,4,&energy);

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

; 103  : 	Auto_Save_Variable(1,4,&curEmitter);

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

; 104  : }

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

; 109  : {

	push	esi
	push	edi

; 110  : 	Commands->Start_Timer(obj,this,Get_Float_Parameter("Time_Delay"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	OFFSET ??_C@_0L@JCFEAFCJ@Time_Delay?$AA@
	mov	esi, ecx
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	eax, DWORD PTR _obj$[esp+8]
	push	ecx
	mov	ecx, DWORD PTR [edi]
	fstp	DWORD PTR [esp]
	push	esi
	push	eax
	call	ecx
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi

; 111  : }

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

; 115  : 	switch (number)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	eax, 1
	jne	SHORT $LN2@Timer_Expi@3

; 116  : 	{
; 117  : 	case 1:
; 118  : 		Commands->Apply_Damage(obj,10000,"Explosive",0);

	fld	DWORD PTR __real@461c4000
	push	eax
	mov	eax, DWORD PTR _obj$[esp]
	push	OFFSET ??_C@_09IGNDJJLI@Explosive?$AA@
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+616]
	push	eax
	call	edx
	add	esp, 16					; 00000010H
$LN2@Timer_Expi@3:

; 119  : 		break;
; 120  : 	}
; 121  : }

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

; 124  : {

	push	ebx
	push	esi
	push	edi
	mov	ebx, ecx

; 125  : 	GameObject *tmpObj;
; 126  : 	for (int i=1; i <= 4; i++)

	mov	esi, 1
	npad	6
$LL3@Killed:

; 127  : 	{
; 128  : 		tmpObj = Commands->Find_Object(Get_Int_Parameter(i));				//start getting all the Building ID's and Destorying them for game over.

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	ecx, ebx
	add	edi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHH@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 129  : 		Commands->Apply_Damage(tmpObj,1,"BlamoKiller",0);			//Apply_Damage (only one that don't crash game)

	fld1
	add	esp, 4
	push	0
	push	OFFSET ??_C@_0M@IPKOBAPD@BlamoKiller?$AA@
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+616]
	push	eax
	call	edx
	add	esi, 1
	add	esp, 16					; 00000010H
	cmp	esi, 4
	jle	SHORT $LL3@Killed
	pop	edi
	pop	esi
	pop	ebx

; 130  : 	}
; 131  : }

	ret	8
?Killed@SUR_MiniGen@@EAEXPAE0@Z ENDP			; SUR_MiniGen::Killed
_TEXT	ENDS
PUBLIC	?Created@SUR_NHB@@EAEXPAE@Z			; SUR_NHB::Created
; Function compile flags: /Ogtpy
;	COMDAT ?Created@SUR_NHB@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@SUR_NHB@@EAEXPAE@Z PROC			; SUR_NHB::Created, COMDAT
; _this$ = ecx

; 137  : 	GDIGenAttackers = 0;

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

; 138  : 	vpadAttackers = 0;

	mov	DWORD PTR [ecx+28], eax

; 139  : 	heliAttackers = 0;

	mov	DWORD PTR [ecx+40], eax

; 140  : 	NodGenAttackers = 0;

	mov	DWORD PTR [ecx+36], eax

; 141  : 	jobRequests = 0;

	mov	DWORD PTR [ecx+44], eax

; 142  : }

	ret	4
?Created@SUR_NHB@@EAEXPAE@Z ENDP			; SUR_NHB::Created
_TEXT	ENDS
PUBLIC	??_C@_07EBLDPGHF@Nod_Gen?$AA@			; `string'
PUBLIC	??_C@_0BH@KNCKPPOI@Orca?5Strike?5Controller?$AA@ ; `string'
PUBLIC	??_C@_0O@BHFGBELH@Strike_Preset?$AA@		; `string'
PUBLIC	??_C@_0N@MEOOIIPD@Orca_Warning?$AA@		; `string'
PUBLIC	??_C@_06CCOCEKKI@Taunt2?$AA@			; `string'
PUBLIC	??_C@_06JMPBJGL@Taunt1?$AA@			; `string'
PUBLIC	??_C@_0BI@EAMKNCIN@Sending?5Load?5Count?3?5?$CFd?5?$AA@ ; `string'
PUBLIC	??_C@_07CIHEJGNA@GDI_Gen?$AA@			; `string'
PUBLIC	?Custom@SUR_NHB@@EAEXPAEHH0@Z			; SUR_NHB::Custom
;	COMDAT ??_C@_07EBLDPGHF@Nod_Gen?$AA@
CONST	SEGMENT
??_C@_07EBLDPGHF@Nod_Gen?$AA@ DB 'Nod_Gen', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@KNCKPPOI@Orca?5Strike?5Controller?$AA@
CONST	SEGMENT
??_C@_0BH@KNCKPPOI@Orca?5Strike?5Controller?$AA@ DB 'Orca Strike Controll'
	DB	'er', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@BHFGBELH@Strike_Preset?$AA@
CONST	SEGMENT
??_C@_0O@BHFGBELH@Strike_Preset?$AA@ DB 'Strike_Preset', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@MEOOIIPD@Orca_Warning?$AA@
CONST	SEGMENT
??_C@_0N@MEOOIIPD@Orca_Warning?$AA@ DB 'Orca_Warning', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_06CCOCEKKI@Taunt2?$AA@
CONST	SEGMENT
??_C@_06CCOCEKKI@Taunt2?$AA@ DB 'Taunt2', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_06JMPBJGL@Taunt1?$AA@
CONST	SEGMENT
??_C@_06JMPBJGL@Taunt1?$AA@ DB 'Taunt1', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@EAMKNCIN@Sending?5Load?5Count?3?5?$CFd?5?$AA@
CONST	SEGMENT
??_C@_0BI@EAMKNCIN@Sending?5Load?5Count?3?5?$CFd?5?$AA@ DB 'Sending Load '
	DB	'Count: %d ', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_07CIHEJGNA@GDI_Gen?$AA@
CONST	SEGMENT
??_C@_07CIHEJGNA@GDI_Gen?$AA@ DB 'GDI_Gen', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Custom@SUR_NHB@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_rpos$ = -36						; size = 12
_gpos$ = -24						; size = 12
$T25028 = -12						; size = 12
_obj$ = 8						; size = 4
_NodGenHP$20398 = 12					; size = 4
_message$ = 12						; size = 4
_GDIGenHP$20397 = 16					; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@SUR_NHB@@EAEXPAEHH0@Z PROC			; SUR_NHB::Custom, COMDAT
; _this$ = ecx

; 145  : {

	sub	esp, 36					; 00000024H

; 146  : 	int msg;
; 147  : 	int prm = 0;
; 148  : 	GameObject *res;
; 149  : 	Vector3 rpos;

	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 _rpos$[esp+60]
	fstp	DWORD PTR [esp]
	xor	edi, edi
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 150  : 	Vector3 gpos;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _gpos$[esp+60]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 151  : 	rpos.X = 0;

	fldz

; 152  : 	rpos.Y = 0;
; 153  : 	rpos.Z = 100;
; 154  : 	if ((message != 503030) && (message != 504030))

	mov	eax, DWORD PTR _message$[esp+44]
	fst	DWORD PTR _rpos$[esp+48]
	cmp	eax, 503030				; 0007acf6H
	fst	DWORD PTR _rpos$[esp+52]
	fld	DWORD PTR __real@42c80000
	lea	ebx, DWORD PTR [edi+1]
	fstp	DWORD PTR _rpos$[esp+56]
	je	SHORT $LN31@Custom
	cmp	eax, 504030				; 0007b0deH
	jne	SHORT $LN76@Custom

; 155  : 		return; // If it's not a message involving a bot,forget it
; 156  : 
; 157  : 	if (message == 504030)
; 158  : 	{
; 159  : 		//If it's something that entered the zone,we need to store it for later
; 160  : 		for (int x = 0; x < 11;x++)

	xor	eax, eax
	lea	ecx, DWORD PTR [esi+48]
$LN33@Custom:

; 161  : 		{
; 162  : 			if ((!Targets[x]) || (x == 10))

	cmp	DWORD PTR [ecx], edi
	je	SHORT $LN53@Custom
	cmp	eax, 10					; 0000000aH
	je	SHORT $LN53@Custom
	add	eax, ebx
	add	ecx, 4
	cmp	eax, 11					; 0000000bH
	jl	SHORT $LN33@Custom
$LN31@Custom:

; 165  : 				return;
; 166  : 			}
; 167  : 		}
; 168  : 	}
; 169  : 
; 170  : 	if (param == 500010)

	mov	eax, DWORD PTR _param$[esp+44]
	cmp	eax, 500010				; 0007a12aH
	jne	SHORT $LN28@Custom

; 171  : 	{
; 172  : 		//I'm dead and was a VPad Attacker
; 173  : 		vpadAttackers--;

	add	DWORD PTR [esi+28], -1
$LN76@Custom:

; 210  : 	}
; 211  : 	if (param == 303030)

	fstp	ST(0)
$LN1@Custom:
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN53@Custom:

; 163  : 			{
; 164  : 				Targets[x] = param;

	mov	ecx, DWORD PTR _param$[esp+44]

; 210  : 	}
; 211  : 	if (param == 303030)

	fstp	ST(0)
	pop	edi
	mov	DWORD PTR [esi+eax*4+48], ecx
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN28@Custom:

; 174  : 	}
; 175  : 	if (param == 500011)

	cmp	eax, 500011				; 0007a12bH
	jne	SHORT $LN27@Custom

; 176  : 	{
; 177  : 		//I'm dead and was a heli Attacker
; 178  : 		heliAttackers--;

	add	DWORD PTR [esi+40], -1

; 210  : 	}
; 211  : 	if (param == 303030)

	fstp	ST(0)
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN27@Custom:

; 179  : 	}
; 180  : 	if (param == 500020)

	cmp	eax, 500020				; 0007a134H
	jne	SHORT $LN26@Custom

; 181  : 	{
; 182  : 		//I'm dead and was a Nod Generator Attacker
; 183  : 		NodGenAttackers--;

	add	DWORD PTR [esi+36], -1

; 210  : 	}
; 211  : 	if (param == 303030)

	fstp	ST(0)
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN26@Custom:

; 184  : 	}
; 185  : 	if (param == 500021)

	cmp	eax, 500021				; 0007a135H
	jne	SHORT $LN25@Custom

; 186  : 	{
; 187  : 		//I'm dead and was a GDI Generator Attacker
; 188  : 		GDIGenAttackers--;

	add	DWORD PTR [esi+32], -1

; 210  : 	}
; 211  : 	if (param == 303030)

	fstp	ST(0)
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN25@Custom:

; 189  : 	}
; 190  : 	if (param == 303031)

	cmp	eax, 303031				; 00049fb7H
	jne	SHORT $LN24@Custom

; 191  : 	{
; 192  : 		//Orca requesting job (right now we just send it after the GDI generator)
; 193  : 		msg = 503030;
; 194  : 		prm = Get_Int_Parameter("GDI_Gen");

	push	OFFSET ??_C@_07CIHEJGNA@GDI_Gen?$AA@
	fstp	ST(0)
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 195  : 		Commands->Send_Custom_Event(obj,sender,msg,prm,0);

	fldz
	mov	edx, DWORD PTR _sender$[esp+44]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	push	eax
	mov	eax, DWORD PTR _obj$[esp+52]
	push	503030					; 0007acf6H
	push	edx
	mov	edx, DWORD PTR [ecx+140]
	push	eax
	call	edx
	add	esp, 20					; 00000014H
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN24@Custom:

; 196  : 	}
; 197  : 	if (param == 302031)

	cmp	eax, 302031				; 00049bcfH
	jne	SHORT $LN23@Custom

; 198  : 	{
; 199  : 		//APC stuff. In here,we calculate the job requests and set the bots to be dropped
; 200  : 		//accordingly
; 201  : 		msg = 503040;
; 202  : 		if (jobRequests < 40)

	mov	esi, DWORD PTR [esi+44]
	fstp	ST(0)
	cmp	esi, 40					; 00000028H
	jge	SHORT $LN99@Custom

; 203  : 			prm = 5;

	mov	edi, 5
$LN99@Custom:

; 204  : 		if (jobRequests > 40)

	jle	SHORT $LN21@Custom

; 205  : 			prm = 6;

	mov	edi, 6
$LN21@Custom:

; 206  : 		if (jobRequests > 50)

	cmp	esi, 50					; 00000032H
	jle	SHORT $LN20@Custom

; 207  : 			prm = 8;

	mov	edi, 8
$LN20@Custom:

; 208  : 		Commands->Display_Int(prm,"Sending Load Count: %d ");

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+316]
	push	OFFSET ??_C@_0BI@EAMKNCIN@Sending?5Load?5Count?3?5?$CFd?5?$AA@
	push	edi
	call	ecx

; 209  : 		Commands->Send_Custom_Event(obj,sender,msg,prm,0);

	fldz
	mov	edx, DWORD PTR _sender$[esp+52]
	fstp	DWORD PTR [esp+4]
	mov	eax, DWORD PTR _obj$[esp+52]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 4
	push	edi
	push	503040					; 0007ad00H
	push	edx
	mov	edx, DWORD PTR [ecx+140]
	push	eax
	call	edx
	add	esp, 20					; 00000014H
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN23@Custom:

; 210  : 	}
; 211  : 	if (param == 303030)

	cmp	eax, 303030				; 00049fb6H
	jne	$LN76@Custom

; 212  : 	{
; 213  : 		GameObject *gen;
; 214  : 		jobRequests++; //If it's a job request,inc requests and calculate the job

	add	DWORD PTR [esi+44], ebx
	mov	eax, DWORD PTR [esi+44]

; 215  : 		//NHB is somewhat aggressive,so once the GDI/Nod have destroyed 15 bots (we say 30 because
; 216  : 		//bots request a job when they spawn at the begaining of the message) we start realocating
; 217  : 		//troops for Generator attacks
; 218  : 
; 219  : 		if (jobRequests == 30)

	cmp	eax, 30					; 0000001eH
	jne	SHORT $LN18@Custom

; 220  : 		{
; 221  : 			res = Commands->Find_Object(Get_Int_Parameter("Taunt1"));

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	ST(0)
	push	OFFSET ??_C@_06JMPBJGL@Taunt1?$AA@
	mov	ecx, esi
	add	edi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 222  : 			Commands->Apply_Damage(res,1000,"Explosive",0);

	fld	DWORD PTR __real@447a0000
	add	esp, 4
	push	0
	push	OFFSET ??_C@_09IGNDJJLI@Explosive?$AA@
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+616]
	push	eax
	call	edx
	fldz
	add	esp, 16					; 00000010H
$LN18@Custom:

; 223  : 		}
; 224  : 		if (jobRequests == 40)

	cmp	DWORD PTR [esi+44], 40			; 00000028H
	jne	SHORT $LN17@Custom

; 225  : 		{
; 226  : 			res = Commands->Find_Object(Get_Int_Parameter("Taunt2"));

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	ST(0)
	push	OFFSET ??_C@_06CCOCEKKI@Taunt2?$AA@
	mov	ecx, esi
	add	edi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 227  : 			Commands->Apply_Damage(res,1000,"Explosive",0);

	fld	DWORD PTR __real@447a0000
	add	esp, 4
	push	0
	push	OFFSET ??_C@_09IGNDJJLI@Explosive?$AA@
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+616]
	push	eax
	call	edx
	fldz
	add	esp, 16					; 00000010H
$LN17@Custom:

; 228  : 		}
; 229  : 		if (jobRequests == 50)

	cmp	DWORD PTR [esi+44], 50			; 00000032H
	jne	$LN16@Custom

; 230  : 		{
; 231  : 			res = Commands->Find_Object(Get_Int_Parameter("Orca_Warning"));

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	ST(0)
	push	OFFSET ??_C@_0N@MEOOIIPD@Orca_Warning?$AA@
	mov	ecx, esi
	add	edi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 232  : 			Commands->Apply_Damage(res,1000,"Explosive",0);

	fld	DWORD PTR __real@447a0000
	add	esp, 4
	push	0
	push	OFFSET ??_C@_09IGNDJJLI@Explosive?$AA@
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+616]
	push	eax
	call	edx

; 233  : 
; 234  : 			gen = Commands->Find_Object(Get_Int_Parameter("GDI_Gen"));

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 16					; 00000010H
	push	OFFSET ??_C@_07CIHEJGNA@GDI_Gen?$AA@
	mov	ecx, esi
	add	edi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 235  : 			gpos = Commands->Get_Position(gen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T25028[esp+56]
	push	ecx
	call	eax

; 236  : 			rpos.Z = 100;

	fld	DWORD PTR __real@42c80000
	mov	ecx, DWORD PTR [eax]

; 237  : 
; 238  : 			rpos.X = gpos.X - 20;
; 239  : 			rpos.Y = gpos.Y;
; 240  : 			res = Commands->Create_Object(Get_Parameter("Strike_Preset"),rpos);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _gpos$[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _gpos$[esp+64], edx
	mov	eax, DWORD PTR [eax+8]
	fstp	DWORD PTR _rpos$[esp+68]
	fld	DWORD PTR _gpos$[esp+60]
	add	esp, 12					; 0000000cH
	fsub	DWORD PTR __real@41a00000
	lea	ecx, DWORD PTR _rpos$[esp+48]
	push	ecx
	push	OFFSET ??_C@_0O@BHFGBELH@Strike_Preset?$AA@
	fstp	DWORD PTR _rpos$[esp+56]
	mov	ecx, esi
	fld	DWORD PTR _gpos$[esp+60]
	mov	DWORD PTR _gpos$[esp+64], eax
	fstp	DWORD PTR _rpos$[esp+60]
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [edi]
	push	eax
	call	edx

; 241  : 
; 242  : 			rpos.X = gpos.X + 20;

	fld	DWORD PTR _gpos$[esp+56]
	fadd	DWORD PTR __real@41a00000

; 243  : 			rpos.Y = gpos.Y;
; 244  : 			res = Commands->Create_Object(Get_Parameter("Strike_Preset"),rpos);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 8
	lea	eax, DWORD PTR _rpos$[esp+48]
	fstp	DWORD PTR _rpos$[esp+48]
	push	eax
	fld	DWORD PTR _gpos$[esp+56]
	push	OFFSET ??_C@_0O@BHFGBELH@Strike_Preset?$AA@
	mov	ecx, esi
	fstp	DWORD PTR _rpos$[esp+60]
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [edi]
	push	eax
	call	ecx

; 245  : 
; 246  : 			rpos.Z = 0;

	fldz
	fstp	DWORD PTR _rpos$[esp+64]

; 247  : 			rpos.X = gpos.X - 20;

	fld	DWORD PTR _gpos$[esp+56]
	fsub	DWORD PTR __real@41a00000
	fstp	DWORD PTR _rpos$[esp+56]

; 248  : 			rpos.Y = gpos.Y;

	fld	DWORD PTR _gpos$[esp+60]
	fstp	DWORD PTR _rpos$[esp+60]

; 249  : 			res = Commands->Create_Object("Orca Strike Controller",rpos);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+100]
	lea	edx, DWORD PTR _rpos$[esp+56]
	push	edx
	push	OFFSET ??_C@_0BH@KNCKPPOI@Orca?5Strike?5Controller?$AA@
	call	ecx

; 250  : 
; 251  : 			rpos.X = gpos.X + 20;

	fld	DWORD PTR _gpos$[esp+64]
	fadd	DWORD PTR __real@41a00000

; 252  : 			rpos.Y = gpos.Y;
; 253  : 			res = Commands->Create_Object("Orca Strike Controller",rpos);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _rpos$[esp+64]
	push	edx
	fstp	DWORD PTR _rpos$[esp+68]
	push	OFFSET ??_C@_0BH@KNCKPPOI@Orca?5Strike?5Controller?$AA@
	fld	DWORD PTR _gpos$[esp+76]
	fstp	DWORD PTR _rpos$[esp+76]
	mov	ecx, DWORD PTR [eax+100]
	call	ecx

; 254  : 
; 255  : 			rpos.X = gpos.X - 20;

	fld	DWORD PTR _gpos$[esp+72]
	fld	DWORD PTR __real@41a00000

; 256  : 			rpos.Y = gpos.Y + 20;
; 257  : 			res = Commands->Create_Object("Orca Strike Controller",rpos);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fsub	ST(1), ST(0)
	lea	edx, DWORD PTR _rpos$[esp+72]
	fxch	ST(1)
	push	edx
	push	OFFSET ??_C@_0BH@KNCKPPOI@Orca?5Strike?5Controller?$AA@
	fstp	DWORD PTR _rpos$[esp+80]
	fadd	DWORD PTR _gpos$[esp+84]
	fstp	DWORD PTR _rpos$[esp+84]
	mov	ecx, DWORD PTR [eax+100]
	call	ecx

; 258  : 
; 259  : 			rpos.X = gpos.X + 20;

	fld	DWORD PTR _gpos$[esp+80]
	fld	DWORD PTR __real@41a00000

; 260  : 			rpos.Y = gpos.Y - 20;
; 261  : 			res = Commands->Create_Object("Orca Strike Controller",rpos);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fadd	ST(1), ST(0)
	lea	edx, DWORD PTR _rpos$[esp+80]
	fxch	ST(1)
	push	edx
	push	OFFSET ??_C@_0BH@KNCKPPOI@Orca?5Strike?5Controller?$AA@
	fstp	DWORD PTR _rpos$[esp+88]
	fsubr	DWORD PTR _gpos$[esp+92]
	fstp	DWORD PTR _rpos$[esp+92]
	mov	ecx, DWORD PTR [eax+100]
	call	ecx
	fldz
	add	esp, 40					; 00000028H
$LN16@Custom:

; 262  : 		}
; 263  : 		if (jobRequests < 30)

	cmp	DWORD PTR [esi+44], 30			; 0000001eH
	jge	$LN88@Custom

; 264  : 		{
; 265  : 			if (vpadAttackers < 3)

	cmp	DWORD PTR [esi+28], 3

; 266  : 			{
; 267  : 				msg = 503030; //Signals that this is a bot command
; 268  : 				prm = 500010; //Attack vehicle pad cmd
; 269  : 				Commands->Send_Custom_Event(obj,sender,msg,prm,0);

	push	ecx
	fstp	DWORD PTR [esp]
	jge	SHORT $LN14@Custom
	mov	edx, DWORD PTR _sender$[esp+48]
	mov	eax, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	500010					; 0007a12aH
	push	503030					; 0007acf6H
	push	edx
	mov	edx, DWORD PTR [ecx+140]
	push	eax
	call	edx
	add	esp, 20					; 00000014H

; 270  : 				vpadAttackers++;

	add	DWORD PTR [esi+28], ebx
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN14@Custom:

; 271  : 			}
; 272  : 			//Make sure it's an ELSE IF not IF if you add a command,not everyone makes this mistake but I have sometimes.
; 273  : 			//Why it's key in this case is probally fairly obvious.
; 274  : 			else if (heliAttackers < 2)

	cmp	DWORD PTR [esi+40], 2
	jge	SHORT $LN12@Custom

; 275  : 			{
; 276  : 				msg = 503030;
; 277  : 				prm = 500011; //Attack heli pad cmd
; 278  : 				Commands->Send_Custom_Event(obj,sender,msg,prm,0);

	mov	eax, DWORD PTR _sender$[esp+48]
	mov	ecx, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	500011					; 0007a12bH
	push	503030					; 0007acf6H
	push	eax
	mov	eax, DWORD PTR [edx+140]
	push	ecx
	call	eax
	add	esp, 20					; 00000014H

; 279  : 				heliAttackers++;

	add	DWORD PTR [esi+40], ebx
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN12@Custom:

; 280  : 			}
; 281  : 			//The above 2 commands use 2-3 soldiers as the bots cares more about the generators
; 282  : 			//Those 5 bots just try to keep the enemy from getting a vehicle early on
; 283  : 			else if (NodGenAttackers < 5)

	cmp	DWORD PTR [esi+36], 5
	jge	SHORT $LN10@Custom

; 284  : 			{
; 285  : 				msg = 503030;
; 286  : 				prm = 500020; //Attack Nod's gen cmd
; 287  : 				Commands->Send_Custom_Event(obj,sender,msg,prm,0);

	mov	ecx, DWORD PTR _sender$[esp+48]
	mov	edx, DWORD PTR _obj$[esp+48]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	500020					; 0007a134H
	push	503030					; 0007acf6H
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	edx
	call	ecx
	add	esp, 20					; 00000014H

; 288  : 				NodGenAttackers++;

	add	DWORD PTR [esi+36], ebx
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN10@Custom:

; 289  : 			}
; 290  : 			else
; 291  : 			{
; 292  : 				msg = 503030;
; 293  : 				prm = 500021; //Attack GDI's gen cmd
; 294  : 				Commands->Send_Custom_Event(obj,sender,msg,prm,0);

	mov	edx, DWORD PTR _sender$[esp+48]
	mov	eax, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	500021					; 0007a135H
	push	503030					; 0007acf6H
	push	edx
	mov	edx, DWORD PTR [ecx+140]
	push	eax
	call	edx
	add	esp, 20					; 00000014H

; 295  : 				GDIGenAttackers++;

	add	DWORD PTR [esi+32], ebx
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN88@Custom:

; 296  : 			}
; 297  : 		}
; 298  : 		else
; 299  : 		{
; 300  : 			//Ok,they got 15 kills against us.......time to be a little more aggressive!
; 301  : 			//We send more troops based on which generator has the most damage and how many bots they
; 302  : 			//have killed. As in: If we've "lost" 30 bots,we attack the most damaged generator
; 303  : 			//with every group and the 2 generator attackers.
; 304  : 
; 305  : 			float GDIGenHP;
; 306  : 			float NodGenHP;
; 307  : 			int random;
; 308  : 
; 309  : 			gen = Commands->Find_Object(Get_Int_Parameter("GDI_Gen"));

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	ST(0)
	push	OFFSET ??_C@_07CIHEJGNA@GDI_Gen?$AA@
	mov	ecx, esi
	add	edi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 310  : 			GDIGenHP = Commands->Get_Health(gen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+220]
	push	eax
	call	edx
	fstp	DWORD PTR _GDIGenHP$20397[esp+52]

; 311  : 			gen = Commands->Find_Object(Get_Int_Parameter("Nod_Gen"));

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 8
	push	OFFSET ??_C@_07EBLDPGHF@Nod_Gen?$AA@
	mov	ecx, esi
	add	edi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 312  : 			NodGenHP = Commands->Get_Health(gen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+220]
	push	eax
	call	edx
	fstp	DWORD PTR _NodGenHP$20398[esp+52]
	add	esp, 8

; 313  : 
; 314  : 			if ((vpadAttackers < 3) && (jobRequests < 40))

	cmp	DWORD PTR [esi+28], 3
	jge	SHORT $LN7@Custom
	cmp	DWORD PTR [esi+44], 40			; 00000028H
	jge	SHORT $LN7@Custom

; 315  : 			{
; 316  : 				msg = 503030; //Signals that this is a bot command
; 317  : 				prm = 500010; //Attack vehicle pad cmd
; 318  : 				Commands->Send_Custom_Event(obj,sender,msg,prm,0);

	fldz
	mov	eax, DWORD PTR _sender$[esp+44]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+48]
	fstp	DWORD PTR [esp]
	push	500010					; 0007a12aH
	push	503030					; 0007acf6H
	push	eax
	mov	eax, DWORD PTR [edx+140]
	push	ecx
	call	eax
	add	esp, 20					; 00000014H

; 319  : 				vpadAttackers++;

	add	DWORD PTR [esi+28], ebx
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN7@Custom:

; 320  : 			}
; 321  : 			else
; 322  : 			{
; 323  : 				random = Commands->Get_Random_Int(0,2);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+152]
	push	2
	push	0
	call	edx
	add	esp, 8

; 324  : 				if (!random)

	test	eax, eax
	jne	SHORT $LN3@Custom

; 325  : 				{
; 326  : 					if (NodGenHP < GDIGenHP)

	fld	DWORD PTR _GDIGenHP$20397[esp+44]

; 327  : 					{
; 328  : 						msg = 503030;
; 329  : 						prm = 500020; //Attack Nod's gen cmd
; 330  : 						Commands->Send_Custom_Event(obj,sender,msg,prm,0);

	push	ecx
	fcomp	DWORD PTR _NodGenHP$20398[esp+48]
	fnstsw	ax
	fldz
	test	ah, 65					; 00000041H
	fstp	DWORD PTR [esp]
	jne	SHORT $LN4@Custom
	mov	eax, DWORD PTR _sender$[esp+48]
	mov	ecx, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	500020					; 0007a134H
	push	503030					; 0007acf6H
	push	eax
	mov	eax, DWORD PTR [edx+140]
	push	ecx
	call	eax
	add	esp, 20					; 00000014H

; 331  : 						NodGenAttackers++;

	add	DWORD PTR [esi+36], ebx
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN4@Custom:

; 332  : 					}
; 333  : 					else
; 334  : 					{
; 335  : 						msg = 503030;
; 336  : 						prm = 500021; //Attack GDI's gen cmd
; 337  : 						Commands->Send_Custom_Event(obj,sender,msg,prm,0);

	mov	ecx, DWORD PTR _sender$[esp+48]
	mov	edx, DWORD PTR _obj$[esp+48]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	500021					; 0007a135H
	push	503030					; 0007acf6H
	push	ecx
	mov	ecx, DWORD PTR [eax+140]
	push	edx
	call	ecx
	add	esp, 20					; 00000014H

; 338  : 						GDIGenAttackers++;

	add	DWORD PTR [esi+32], ebx
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN3@Custom:

; 339  : 					}
; 340  : 				}
; 341  : 				if (random == 1)

	cmp	eax, ebx
	jne	SHORT $LN2@Custom

; 342  : 				{
; 343  : 					msg = 503030;
; 344  : 					prm = 500020; //Attack Nod's gen cmd
; 345  : 					Commands->Send_Custom_Event(obj,sender,msg,prm,0);

	fldz
	mov	edx, DWORD PTR _sender$[esp+44]
	mov	eax, DWORD PTR _obj$[esp+44]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	push	500020					; 0007a134H
	push	503030					; 0007acf6H
	push	edx
	mov	edx, DWORD PTR [ecx+140]
	push	eax
	call	edx
	add	esp, 20					; 00000014H

; 346  : 					NodGenAttackers++;

	add	DWORD PTR [esi+36], ebx
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN2@Custom:

; 347  : 				}
; 348  : 				if (random == 2)

	cmp	eax, 2
	jne	$LN1@Custom

; 349  : 				{
; 350  : 					msg = 503030;
; 351  : 					prm = 500021; //Attack GDI's gen cmd
; 352  : 					Commands->Send_Custom_Event(obj,sender,msg,prm,0);

	fldz
	mov	eax, DWORD PTR _sender$[esp+44]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+48]
	fstp	DWORD PTR [esp]
	push	500021					; 0007a135H
	push	503030					; 0007acf6H
	push	eax
	mov	eax, DWORD PTR [edx+140]
	push	ecx
	call	eax
	add	esp, 20					; 00000014H

; 353  : 					GDIGenAttackers++;

	add	DWORD PTR [esi+32], ebx
	pop	edi
	pop	esi
	pop	ebx

; 354  : 				}
; 355  : 			}
; 356  : 		}
; 357  : 	}
; 358  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
?Custom@SUR_NHB@@EAEXPAEHH0@Z ENDP			; SUR_NHB::Custom
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@SUR_NHB@@EAEXXZ	; SUR_NHB::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@SUR_NHB@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@SUR_NHB@@EAEXXZ PROC	; SUR_NHB::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 361  : {

	push	esi
	mov	esi, ecx

; 362  : 	Auto_Save_Variable(1,4,&vpadAttackers);

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

; 363  : 	Auto_Save_Variable(1,4,&heliAttackers);

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

; 364  : 	Auto_Save_Variable(1,4,&NodGenAttackers);

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

; 365  : 	Auto_Save_Variable(1,4,&GDIGenAttackers);

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

; 366  : 	Auto_Save_Variable(1,4,&jobRequests);

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

; 367  : }

	ret	0
?Register_Auto_Save_Variables@SUR_NHB@@EAEXXZ ENDP	; SUR_NHB::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	__real@40a00000
PUBLIC	??_C@_06MPKPIODH@NHB_ID?$AA@			; `string'
PUBLIC	?Created@SUR_NHB_Soldier@@EAEXPAE@Z		; SUR_NHB_Soldier::Created
;	COMDAT __real@40a00000
CONST	SEGMENT
__real@40a00000 DD 040a00000r			; 5
CONST	ENDS
;	COMDAT ??_C@_06MPKPIODH@NHB_ID?$AA@
CONST	SEGMENT
??_C@_06MPKPIODH@NHB_ID?$AA@ DB 'NHB_ID', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@SUR_NHB_Soldier@@EAEXPAE@Z
_TEXT	SEGMENT
$T25097 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@SUR_NHB_Soldier@@EAEXPAE@Z PROC		; SUR_NHB_Soldier::Created, COMDAT
; _this$ = ecx

; 374  : {

	sub	esp, 12					; 0000000cH
	push	esi
	push	edi
	mov	esi, ecx

; 375  : 	GameObject *targ;
; 376  : 	int msg;
; 377  : 	int prm;
; 378  : 	msg = 503030;
; 379  : 	prm = 303030;
; 380  : 	atDes = false;

	mov	BYTE PTR [esi+44], 0

; 381  : 	targ = Commands->Find_Object(Get_Int_Parameter("NHB_ID"));

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_06MPKPIODH@NHB_ID?$AA@
	add	edi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 382  : 	Commands->Send_Custom_Event(obj,targ,msg,prm,0);

	fldz
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edi, DWORD PTR _obj$[esp+20]
	mov	edx, DWORD PTR [ecx+140]
	push	303030					; 00049fb6H
	push	503030					; 0007acf6H
	push	eax
	push	edi
	call	edx

; 383  : 	Commands->Start_Timer(obj,this,5.000,1);

	fld	DWORD PTR __real@40a00000
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 20					; 00000014H
	push	1
	push	ecx
	mov	ecx, DWORD PTR [eax+128]
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	ecx

; 384  : 	oldPos = Commands->Get_Position(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T25097[esp+36]
	push	edi
	push	edx
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR [esi+32], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [esi+36], ecx
	mov	edx, DWORD PTR [eax+8]
	add	esp, 24					; 00000018H
	pop	edi
	mov	DWORD PTR [esi+40], edx
	pop	esi

; 385  : }

	add	esp, 12					; 0000000cH
	ret	4
?Created@SUR_NHB_Soldier@@EAEXPAE@Z ENDP		; SUR_NHB_Soldier::Created
_TEXT	ENDS
PUBLIC	??_C@_0BM@OMFOHCFP@CnC_Weapon_MineTimed_Player?$AA@ ; `string'
PUBLIC	??_C@_0BI@DOGKPAOM@PDS_Test_Follow_Waypath?$AA@	; `string'
PUBLIC	??_C@_08GDAMKODC@?$CFd?0?$CFd?0?$CFd?$AA@	; `string'
PUBLIC	??_C@_0M@IFBDBCON@GDIGen_Path?$AA@		; `string'
PUBLIC	??_C@_0BC@NJMBNIAG@GDIGen_Path_Start?$AA@	; `string'
PUBLIC	??_C@_0BA@JCNLGAFK@GDIGen_Path_End?$AA@		; `string'
PUBLIC	__real@42480000
PUBLIC	??_C@_0M@HKEKIIP@NodGen_Path?$AA@		; `string'
PUBLIC	??_C@_0BC@KEJONPCP@NodGen_Path_Start?$AA@	; `string'
PUBLIC	??_C@_0BA@GDAPPOGH@NodGen_Path_End?$AA@		; `string'
PUBLIC	??_C@_08MCAPOCBM@HeliPath?$AA@			; `string'
PUBLIC	??_C@_0P@CACBDBIF@HeliPath_Start?$AA@		; `string'
PUBLIC	??_C@_0N@BHAKOLCG@HeliPath_End?$AA@		; `string'
PUBLIC	??_C@_09BBICMIP@VPad_Path?$AA@			; `string'
PUBLIC	??_C@_0BA@LDNBEEON@VPad_Path_Start?$AA@		; `string'
PUBLIC	??_C@_0O@CECAAJLK@VPad_Path_End?$AA@		; `string'
PUBLIC	__real@424a0000
PUBLIC	?Custom@SUR_NHB_Soldier@@EAEXPAEHH0@Z		; SUR_NHB_Soldier::Custom
EXTRN	_sprintf:PROC
;	COMDAT ??_C@_0BM@OMFOHCFP@CnC_Weapon_MineTimed_Player?$AA@
CONST	SEGMENT
??_C@_0BM@OMFOHCFP@CnC_Weapon_MineTimed_Player?$AA@ DB 'CnC_Weapon_MineTi'
	DB	'med_Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@DOGKPAOM@PDS_Test_Follow_Waypath?$AA@
CONST	SEGMENT
??_C@_0BI@DOGKPAOM@PDS_Test_Follow_Waypath?$AA@ DB 'PDS_Test_Follow_Waypa'
	DB	'th', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_08GDAMKODC@?$CFd?0?$CFd?0?$CFd?$AA@
CONST	SEGMENT
??_C@_08GDAMKODC@?$CFd?0?$CFd?0?$CFd?$AA@ DB '%d,%d,%d', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@IFBDBCON@GDIGen_Path?$AA@
CONST	SEGMENT
??_C@_0M@IFBDBCON@GDIGen_Path?$AA@ DB 'GDIGen_Path', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@NJMBNIAG@GDIGen_Path_Start?$AA@
CONST	SEGMENT
??_C@_0BC@NJMBNIAG@GDIGen_Path_Start?$AA@ DB 'GDIGen_Path_Start', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@JCNLGAFK@GDIGen_Path_End?$AA@
CONST	SEGMENT
??_C@_0BA@JCNLGAFK@GDIGen_Path_End?$AA@ DB 'GDIGen_Path_End', 00H ; `string'
CONST	ENDS
;	COMDAT __real@42480000
CONST	SEGMENT
__real@42480000 DD 042480000r			; 50
CONST	ENDS
;	COMDAT ??_C@_0M@HKEKIIP@NodGen_Path?$AA@
CONST	SEGMENT
??_C@_0M@HKEKIIP@NodGen_Path?$AA@ DB 'NodGen_Path', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@KEJONPCP@NodGen_Path_Start?$AA@
CONST	SEGMENT
??_C@_0BC@KEJONPCP@NodGen_Path_Start?$AA@ DB 'NodGen_Path_Start', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@GDAPPOGH@NodGen_Path_End?$AA@
CONST	SEGMENT
??_C@_0BA@GDAPPOGH@NodGen_Path_End?$AA@ DB 'NodGen_Path_End', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_08MCAPOCBM@HeliPath?$AA@
CONST	SEGMENT
??_C@_08MCAPOCBM@HeliPath?$AA@ DB 'HeliPath', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@CACBDBIF@HeliPath_Start?$AA@
CONST	SEGMENT
??_C@_0P@CACBDBIF@HeliPath_Start?$AA@ DB 'HeliPath_Start', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@BHAKOLCG@HeliPath_End?$AA@
CONST	SEGMENT
??_C@_0N@BHAKOLCG@HeliPath_End?$AA@ DB 'HeliPath_End', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09BBICMIP@VPad_Path?$AA@
CONST	SEGMENT
??_C@_09BBICMIP@VPad_Path?$AA@ DB 'VPad_Path', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@LDNBEEON@VPad_Path_Start?$AA@
CONST	SEGMENT
??_C@_0BA@LDNBEEON@VPad_Path_Start?$AA@ DB 'VPad_Path_Start', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@CECAAJLK@VPad_Path_End?$AA@
CONST	SEGMENT
??_C@_0O@CECAAJLK@VPad_Path_End?$AA@ DB 'VPad_Path_End', 00H ; `string'
CONST	ENDS
;	COMDAT __real@424a0000
CONST	SEGMENT
__real@424a0000 DD 0424a0000r			; 50.5
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Custom@SUR_NHB_Soldier@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_sparam$ = -100						; size = 100
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@SUR_NHB_Soldier@@EAEXPAEHH0@Z PROC		; SUR_NHB_Soldier::Custom, COMDAT
; _this$ = ecx

; 388  : {

	sub	esp, 100				; 00000064H

; 389  : 	GameObject *targ;
; 390  : 	char sparam[100];
; 391  : 	if (message != 503030)

	cmp	DWORD PTR _message$[esp+96], 503030	; 0007acf6H
	push	esi
	mov	esi, ecx
	jne	$LN3@Custom@2

; 392  : 		return; //Like above,if it's not a bot message then forget it...
; 393  : 	command = param; //Need to store the command so we know the parameter when we die,so NHB

	mov	eax, DWORD PTR _param$[esp+100]

; 394  : 	//can calculate correctly...
; 395  : 
; 396  : 	//Rest is attack stuff. Params are just like the ones above that NHB sends.
; 397  : 	//Bots just set their aggressiveness and head to their waypoints.
; 398  : 	if (param == 500010)

	cmp	eax, 500010				; 0007a12aH
	push	edi
	mov	DWORD PTR [esi+28], eax
	jne	SHORT $LN7@Custom@2

; 399  : 	{
; 400  : 		Commands->Set_Innate_Aggressiveness(obj,50.500);

	fld	DWORD PTR __real@424a0000
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edi, DWORD PTR _obj$[esp+104]
	push	ecx
	mov	ecx, DWORD PTR [eax+468]
	fstp	DWORD PTR [esp]
	push	edi
	call	ecx
	add	esp, 8

; 401  : 		sprintf(sparam,"%d,%d,%d",Get_Int_Parameter("VPad_Path"),Get_Int_Parameter("VPad_Path_Start"),Get_Int_Parameter("VPad_Path_End"));

	push	OFFSET ??_C@_0O@CECAAJLK@VPad_Path_End?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@LDNBEEON@VPad_Path_Start?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_09BBICMIP@VPad_Path?$AA@

; 402  : 		Commands->Attach_Script(obj,"PDS_Test_Follow_Waypath",sparam);
; 403  : 	}
; 404  : 	if (param == 500011)

	jmp	$LN12@Custom@2
$LN7@Custom@2:
	cmp	eax, 500011				; 0007a12bH
	jne	SHORT $LN6@Custom@2

; 405  : 	{
; 406  : 		Commands->Set_Innate_Aggressiveness(obj,50.500);

	fld	DWORD PTR __real@424a0000
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edi, DWORD PTR _obj$[esp+104]
	push	ecx
	mov	ecx, DWORD PTR [eax+468]
	fstp	DWORD PTR [esp]
	push	edi
	call	ecx
	add	esp, 8

; 407  : 		sprintf(sparam,"%d,%d,%d",Get_Int_Parameter("HeliPath"),Get_Int_Parameter("HeliPath_Start"),Get_Int_Parameter("HeliPath_End"));

	push	OFFSET ??_C@_0N@BHAKOLCG@HeliPath_End?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0P@CACBDBIF@HeliPath_Start?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_08MCAPOCBM@HeliPath?$AA@

; 408  : 		Commands->Attach_Script(obj,"PDS_Test_Follow_Waypath",sparam);
; 409  : 	}
; 410  : 	if (param == 500020)

	jmp	$LN12@Custom@2
$LN6@Custom@2:
	cmp	eax, 500020				; 0007a134H
	jne	SHORT $LN5@Custom@2

; 411  : 	{
; 412  : 		Commands->Set_Innate_Aggressiveness(obj,50.500);

	fld	DWORD PTR __real@424a0000
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edi, DWORD PTR _obj$[esp+104]
	push	ecx
	mov	ecx, DWORD PTR [eax+468]
	fstp	DWORD PTR [esp]
	push	edi
	call	ecx
	add	esp, 8

; 413  : 		sprintf(sparam,"%d,%d,%d",Get_Int_Parameter("NodGen_Path"),Get_Int_Parameter("NodGen_Path_Start"),Get_Int_Parameter("NodGen_Path_End"));

	push	OFFSET ??_C@_0BA@GDAPPOGH@NodGen_Path_End?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0BC@KEJONPCP@NodGen_Path_Start?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0M@HKEKIIP@NodGen_Path?$AA@

; 414  : 		Commands->Attach_Script(obj,"PDS_Test_Follow_Waypath",sparam);
; 415  : 	}
; 416  : 	if (param == 500021)

	jmp	SHORT $LN12@Custom@2
$LN5@Custom@2:
	cmp	eax, 500021				; 0007a135H
	jne	SHORT $LN4@Custom@2

; 417  : 	{
; 418  : 		Commands->Set_Innate_Aggressiveness(obj,50.000);

	fld	DWORD PTR __real@42480000
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edi, DWORD PTR _obj$[esp+104]
	push	ecx
	mov	ecx, DWORD PTR [eax+468]
	fstp	DWORD PTR [esp]
	push	edi
	call	ecx
	add	esp, 8

; 419  : 		sprintf(sparam,"%d,%d,%d",Get_Int_Parameter("GDIGen_Path"),Get_Int_Parameter("GDIGen_Path_Start"),Get_Int_Parameter("GDIGen_Path_End"));

	push	OFFSET ??_C@_0BA@JCNLGAFK@GDIGen_Path_End?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0BC@NJMBNIAG@GDIGen_Path_Start?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0M@IFBDBCON@GDIGen_Path?$AA@
$LN12@Custom@2:
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	lea	edx, DWORD PTR _sparam$[esp+120]
	push	OFFSET ??_C@_08GDAMKODC@?$CFd?0?$CFd?0?$CFd?$AA@
	push	edx
	call	_sprintf

; 420  : 		Commands->Attach_Script(obj,"PDS_Test_Follow_Waypath",sparam);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+120]
	lea	eax, DWORD PTR _sparam$[esp+128]
	push	eax
	push	OFFSET ??_C@_0BI@DOGKPAOM@PDS_Test_Follow_Waypath?$AA@
	push	edi
	call	edx
	add	esp, 32					; 00000020H
	pop	edi
	pop	esi

; 430  : 	}
; 431  : }

	add	esp, 100				; 00000064H
	ret	16					; 00000010H
$LN4@Custom@2:

; 421  : 	}
; 422  : 	if ((param == 501120) && (!atDes))

	cmp	eax, 501120				; 0007a580H
	jne	SHORT $LN11@Custom@2
	cmp	BYTE PTR [esi+44], 0
	jne	SHORT $LN11@Custom@2

; 423  : 	{
; 424  : 		if (command == 500020)
; 425  : 			targ = Commands->Find_Object(Get_Int_Parameter("NodGen_ID"));
; 426  : 		if (command == 500021)
; 427  : 			targ = Commands->Find_Object(Get_Int_Parameter("GDIGen_ID"));
; 428  : 		Commands->Select_Weapon(obj,"CnC_Weapon_MineTimed_Player");

	mov	eax, DWORD PTR _obj$[esp+104]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+136]
	push	OFFSET ??_C@_0BM@OMFOHCFP@CnC_Weapon_MineTimed_Player?$AA@
	push	eax
	call	edx
	add	esp, 8

; 429  : 		atDes = true;

	mov	BYTE PTR [esi+44], 1
$LN11@Custom@2:
	pop	edi
$LN3@Custom@2:
	pop	esi

; 430  : 	}
; 431  : }

	add	esp, 100				; 00000064H
	ret	16					; 00000010H
?Custom@SUR_NHB_Soldier@@EAEXPAEHH0@Z ENDP		; SUR_NHB_Soldier::Custom
_TEXT	ENDS
PUBLIC	__real@41200000
PUBLIC	?Timer_Expired@SUR_NHB_Soldier@@EAEXPAEH@Z	; SUR_NHB_Soldier::Timer_Expired
;	COMDAT __real@41200000
CONST	SEGMENT
__real@41200000 DD 041200000r			; 10
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Timer_Expired@SUR_NHB_Soldier@@EAEXPAEH@Z
_TEXT	SEGMENT
_apos$ = -124						; size = 12
$T25113 = -112						; size = 12
$T25112 = -112						; size = 12
_sparam$ = -100						; size = 100
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@SUR_NHB_Soldier@@EAEXPAEH@Z PROC		; SUR_NHB_Soldier::Timer_Expired, COMDAT
; _this$ = ecx

; 434  : {

	sub	esp, 124				; 0000007cH

; 435  : 	Vector3 apos;

	fldz
	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 _apos$[esp+144]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 436  : 	char sparam[100];
; 437  : 	
; 438  : 	apos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+128]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T25112[esp+132]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _apos$[esp+140], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _apos$[esp+144], edx
	mov	eax, DWORD PTR [eax+8]
	add	esp, 8

; 439  : 
; 440  : 	if (atDes)

	cmp	BYTE PTR [esi+44], 0
	mov	DWORD PTR _apos$[esp+140], eax
	jne	$LN8@Timer_Expi@4

; 441  : 		return;
; 442  : 	if ((oldPos.X != apos.X) || (oldPos.Y != apos.Y) || (oldPos.Z != apos.Z))

	fld	DWORD PTR _apos$[esp+132]
	fcomp	DWORD PTR [esi+32]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	$LN5@Timer_Expi@4
	fld	DWORD PTR _apos$[esp+136]
	fcomp	DWORD PTR [esi+36]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	$LN5@Timer_Expi@4
	fld	DWORD PTR _apos$[esp+140]
	fcomp	DWORD PTR [esi+40]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	$LN5@Timer_Expi@4

; 446  : 		return;
; 447  : 	}
; 448  : 	if (command == 500010)

	cmp	DWORD PTR [esi+28], 500010		; 0007a12aH
	jne	SHORT $LN4@Timer_Expi@4

; 449  : 	{
; 450  : 		Commands->Set_Innate_Aggressiveness(obj,50.500);

	fld	DWORD PTR __real@424a0000
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+468]
	push	edi
	call	edx
	add	esp, 8

; 451  : 		sprintf(sparam,"%d,%d,%d",Get_Int_Parameter("VPad_Path"),Get_Int_Parameter("VPad_Path_Start"),Get_Int_Parameter("VPad_Path_End"));

	push	OFFSET ??_C@_0O@CECAAJLK@VPad_Path_End?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0BA@LDNBEEON@VPad_Path_Start?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_09BBICMIP@VPad_Path?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	lea	eax, DWORD PTR _sparam$[esp+144]
	push	OFFSET ??_C@_08GDAMKODC@?$CFd?0?$CFd?0?$CFd?$AA@
	push	eax
	call	_sprintf

; 452  : 		Commands->Attach_Script(obj,"PDS_Test_Follow_Waypath",sparam);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+120]
	lea	ecx, DWORD PTR _sparam$[esp+152]
	push	ecx
	push	OFFSET ??_C@_0BI@DOGKPAOM@PDS_Test_Follow_Waypath?$AA@
	push	edi
	call	eax
	add	esp, 32					; 00000020H
$LN4@Timer_Expi@4:

; 453  : 	}
; 454  : 	if (command == 500011)

	cmp	DWORD PTR [esi+28], 500011		; 0007a12bH
	jne	SHORT $LN3@Timer_Expi@4

; 455  : 	{
; 456  : 		Commands->Set_Innate_Aggressiveness(obj,50.500);

	fld	DWORD PTR __real@424a0000
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+468]
	push	edi
	call	edx
	add	esp, 8

; 457  : 		sprintf(sparam,"%d,%d,%d",Get_Int_Parameter("HeliPath"),Get_Int_Parameter("HeliPath_Start"),Get_Int_Parameter("HeliPath_End"));

	push	OFFSET ??_C@_0N@BHAKOLCG@HeliPath_End?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0P@CACBDBIF@HeliPath_Start?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_08MCAPOCBM@HeliPath?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	lea	eax, DWORD PTR _sparam$[esp+144]
	push	OFFSET ??_C@_08GDAMKODC@?$CFd?0?$CFd?0?$CFd?$AA@
	push	eax
	call	_sprintf

; 458  : 		Commands->Attach_Script(obj,"PDS_Test_Follow_Waypath",sparam);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+120]
	lea	ecx, DWORD PTR _sparam$[esp+152]
	push	ecx
	push	OFFSET ??_C@_0BI@DOGKPAOM@PDS_Test_Follow_Waypath?$AA@
	push	edi
	call	eax
	add	esp, 32					; 00000020H
$LN3@Timer_Expi@4:

; 459  : 	}
; 460  : 	if (command == 500020)

	cmp	DWORD PTR [esi+28], 500020		; 0007a134H
	jne	SHORT $LN2@Timer_Expi@4

; 461  : 	{
; 462  : 		Commands->Set_Innate_Aggressiveness(obj,50.500);

	fld	DWORD PTR __real@424a0000
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+468]
	push	edi
	call	edx
	add	esp, 8

; 463  : 		sprintf(sparam,"%d,%d,%d",Get_Int_Parameter("NodGen_Path"),Get_Int_Parameter("NodGen_Path_Start"),Get_Int_Parameter("NodGen_Path_End"));

	push	OFFSET ??_C@_0BA@GDAPPOGH@NodGen_Path_End?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0BC@KEJONPCP@NodGen_Path_Start?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0M@HKEKIIP@NodGen_Path?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	lea	eax, DWORD PTR _sparam$[esp+144]
	push	OFFSET ??_C@_08GDAMKODC@?$CFd?0?$CFd?0?$CFd?$AA@
	push	eax
	call	_sprintf

; 464  : 		Commands->Attach_Script(obj,"PDS_Test_Follow_Waypath",sparam);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+120]
	lea	ecx, DWORD PTR _sparam$[esp+152]
	push	ecx
	push	OFFSET ??_C@_0BI@DOGKPAOM@PDS_Test_Follow_Waypath?$AA@
	push	edi
	call	eax
	add	esp, 32					; 00000020H
$LN2@Timer_Expi@4:

; 465  : 	}
; 466  : 	if (command == 500021)

	cmp	DWORD PTR [esi+28], 500021		; 0007a135H
	jne	SHORT $LN1@Timer_Expi@4

; 467  : 	{
; 468  : 		Commands->Set_Innate_Aggressiveness(obj,50.000);

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

; 469  : 		sprintf(sparam,"%d,%d,%d",Get_Int_Parameter("GDIGen_Path"),Get_Int_Parameter("GDIGen_Path_Start"),Get_Int_Parameter("GDIGen_Path_End"));

	push	OFFSET ??_C@_0BA@JCNLGAFK@GDIGen_Path_End?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0BC@NJMBNIAG@GDIGen_Path_Start?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_0M@IFBDBCON@GDIGen_Path?$AA@
	mov	ecx, esi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	lea	eax, DWORD PTR _sparam$[esp+144]
	push	OFFSET ??_C@_08GDAMKODC@?$CFd?0?$CFd?0?$CFd?$AA@
	push	eax
	call	_sprintf

; 470  : 		Commands->Attach_Script(obj,"PDS_Test_Follow_Waypath",sparam);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+120]
	lea	ecx, DWORD PTR _sparam$[esp+152]
	push	ecx
	push	OFFSET ??_C@_0BI@DOGKPAOM@PDS_Test_Follow_Waypath?$AA@
	push	edi
	call	eax
	add	esp, 32					; 00000020H
$LN1@Timer_Expi@4:

; 471  : 	}
; 472  : //	oldPos = Commands->Get_Position(obj);
; 473  : 	Commands->Start_Timer(obj,this,5.000,1);

	fld	DWORD PTR __real@40a00000
	jmp	SHORT $LN10@Timer_Expi@4
$LN5@Timer_Expi@4:

; 443  : 	{
; 444  : 		oldPos = Commands->Get_Position(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T25113[esp+132]
	push	edi
	push	eax
	call	edx

; 445  : 		Commands->Start_Timer(obj,this,10.000,1);

	fld	DWORD PTR __real@41200000
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR [esi+32], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR [esi+36], edx
	mov	eax, DWORD PTR [eax+8]
	add	esp, 8
	mov	DWORD PTR [esi+40], eax
$LN10@Timer_Expi@4:
	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	edi
	call	edx
	add	esp, 16					; 00000010H
$LN8@Timer_Expi@4:
	pop	edi
	pop	esi

; 474  : }

	add	esp, 124				; 0000007cH
	ret	8
?Timer_Expired@SUR_NHB_Soldier@@EAEXPAEH@Z ENDP		; SUR_NHB_Soldier::Timer_Expired
_TEXT	ENDS
PUBLIC	?Killed@SUR_NHB_Soldier@@EAEXPAE0@Z		; SUR_NHB_Soldier::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@SUR_NHB_Soldier@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@SUR_NHB_Soldier@@EAEXPAE0@Z PROC		; SUR_NHB_Soldier::Killed, COMDAT
; _this$ = ecx

; 477  : {

	push	esi
	push	edi

; 478  : 	GameObject *targ;
; 479  : 	int msg;
; 480  : 	msg = 503030;
; 481  : 	targ = Commands->Find_Object(Get_Int_Parameter("NHB_ID"));

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_06MPKPIODH@NHB_ID?$AA@
	mov	esi, ecx
	add	edi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [edi]
	call	eax

; 482  : 	Commands->Send_Custom_Event(obj,targ,msg,command,0);

	fldz
	mov	ecx, DWORD PTR [esi+28]
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR _obj$[esp+8]
	push	ecx
	push	503030					; 0007acf6H
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+140]
	push	edx
	call	ecx
	add	esp, 20					; 00000014H
	pop	edi
	pop	esi

; 483  : }

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

; 486  : {

	push	esi
	mov	esi, ecx

; 487  : 	Auto_Save_Variable(1,4,&command);

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

; 488  : 	Auto_Save_Variable(1,4,&oldPos);

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

; 489  : 	Auto_Save_Variable(1,4,&atDes);

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

; 490  : }

	ret	0
?Register_Auto_Save_Variables@SUR_NHB_Soldier@@EAEXXZ ENDP ; SUR_NHB_Soldier::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	__real@461c3c00
PUBLIC	??_C@_02OLOABKKD@ID?$AA@			; `string'
PUBLIC	?Death@SUR_Obj_Destroyer@@AAEXPAE0@Z		; SUR_Obj_Destroyer::Death
;	COMDAT __real@461c3c00
CONST	SEGMENT
__real@461c3c00 DD 0461c3c00r			; 9999
CONST	ENDS
;	COMDAT ??_C@_02OLOABKKD@ID?$AA@
CONST	SEGMENT
??_C@_02OLOABKKD@ID?$AA@ DB 'ID', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Death@SUR_Obj_Destroyer@@AAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Death@SUR_Obj_Destroyer@@AAEXPAE0@Z PROC		; SUR_Obj_Destroyer::Death, COMDAT
; _this$ = ecx

; 496  : {

	push	esi

; 497  : 	GameObject *tmpObj;
; 498  : 	tmpObj = Commands->Find_Object(Get_Int_Parameter("ID"));

	mov	esi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_02OLOABKKD@ID?$AA@
	add	esi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [esi]
	call	eax

; 499  : 	Commands->Apply_Damage(tmpObj,9999,"Explosive",0);

	fld	DWORD PTR __real@461c3c00
	add	esp, 4
	push	0
	push	OFFSET ??_C@_09IGNDJJLI@Explosive?$AA@
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+616]
	push	eax
	call	edx
	add	esp, 16					; 00000010H
	pop	esi

; 500  : }

	ret	8
?Death@SUR_Obj_Destroyer@@AAEXPAE0@Z ENDP		; SUR_Obj_Destroyer::Death
_TEXT	ENDS
PUBLIC	??_C@_0L@NMEBDFKG@SUR_New_PT?$AA@		; `string'
PUBLIC	??_C@_05KABNCBHK@?$CFd?0?$CFd?$AA@		; `string'
PUBLIC	??_C@_09PIPGAOHA@Marker_ID?$AA@			; `string'
PUBLIC	??_C@_07BEIHKDLJ@Message?$AA@			; `string'
PUBLIC	?Custom@SUR_New_PT@@EAEXPAEHH0@Z		; SUR_New_PT::Custom
;	COMDAT ??_C@_0L@NMEBDFKG@SUR_New_PT?$AA@
CONST	SEGMENT
??_C@_0L@NMEBDFKG@SUR_New_PT?$AA@ DB 'SUR_New_PT', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_05KABNCBHK@?$CFd?0?$CFd?$AA@
CONST	SEGMENT
??_C@_05KABNCBHK@?$CFd?0?$CFd?$AA@ DB '%d,%d', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09PIPGAOHA@Marker_ID?$AA@
CONST	SEGMENT
??_C@_09PIPGAOHA@Marker_ID?$AA@ DB 'Marker_ID', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_07BEIHKDLJ@Message?$AA@
CONST	SEGMENT
??_C@_07BEIHKDLJ@Message?$AA@ DB 'Message', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Custom@SUR_New_PT@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_rot$ = -128						; size = 4
_pos$ = -124						; size = 12
$T25131 = -112						; size = 12
_sparam$ = -100						; size = 100
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@SUR_New_PT@@EAEXPAEHH0@Z PROC			; SUR_New_PT::Custom, COMDAT
; _this$ = ecx

; 506  : 	Vector3 pos;

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

; 507  : 	GameObject *res;
; 508  : 	int msg;
; 509  : 	int prm;
; 510  : 	const char *name;
; 511  : 	char sparam[100];
; 512  : 	float rot;
; 513  : 	msg = Get_Int_Parameter("Message");

	push	OFFSET ??_C@_07BEIHKDLJ@Message?$AA@
	mov	ecx, edi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 514  : 	prm = 0;
; 515  : 	res = Commands->Find_Object(Get_Int_Parameter("Marker_ID"));

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_09PIPGAOHA@Marker_ID?$AA@
	mov	ecx, edi
	mov	esi, eax
	add	ebx, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [ebx]
	call	eax
	add	esp, 4

; 516  : 	if (message == CUSTOM_EVENT_VEHICLE_ENTER)

	cmp	DWORD PTR _message$[esp+136], 1000000028 ; 3b9aca1cH
	jne	$LN1@Custom@3

; 517  : 	{
; 518  : 		Commands->Send_Custom_Event(obj,res,msg,prm,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	esi
	mov	esi, DWORD PTR _obj$[esp+148]
	push	eax
	push	esi
	call	edx

; 519  : 
; 520  : 		rot = Commands->Get_Facing(obj); //Get the terminal's rotation

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+72]
	push	esi
	call	ecx
	fstp	DWORD PTR _rot$[esp+164]

; 521  : 		pos = Commands->Get_Position(obj); //Get the terminal's position

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T25131[esp+164]
	push	esi
	push	edx
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+172], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+176], ecx
	mov	edx, DWORD PTR [eax+8]

; 522  : 		name = Commands->Get_Preset_Name(obj); //Get the terminal's preset name

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _pos$[esp+180], edx
	mov	ecx, DWORD PTR [eax+116]
	push	esi
	call	ecx
	add	esp, 36					; 00000024H

; 523  : 		sprintf(sparam,"%d,%d",Get_Int_Parameter("Marker_ID"),Get_Int_Parameter("Message")); //Get the parameter

	push	OFFSET ??_C@_07BEIHKDLJ@Message?$AA@
	mov	ecx, edi
	mov	ebx, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	push	OFFSET ??_C@_09PIPGAOHA@Marker_ID?$AA@
	mov	ecx, edi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	lea	edx, DWORD PTR _sparam$[esp+148]
	push	OFFSET ??_C@_05KABNCBHK@?$CFd?0?$CFd?$AA@
	push	edx
	call	_sprintf

; 524  : 
; 525  : 		Commands->Apply_Damage(obj,9999,"BlamoKiller",0); //Kill the terminal

	fld	DWORD PTR __real@461c3c00
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 16					; 00000010H
	push	0
	push	OFFSET ??_C@_0M@IPKOBAPD@BlamoKiller?$AA@
	push	ecx
	mov	ecx, DWORD PTR [eax+616]
	fstp	DWORD PTR [esp]
	push	esi
	call	ecx

; 526  : 
; 527  : 		res = Commands->Create_Object(name,pos);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+100]
	lea	edx, DWORD PTR _pos$[esp+156]
	push	edx
	push	ebx
	call	ecx

; 528  : 		Commands->Set_Facing(res,rot);

	fld	DWORD PTR _rot$[esp+164]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp+20]
	mov	esi, eax
	mov	eax, DWORD PTR [edx+76]
	add	esp, 20					; 00000014H
	push	esi
	call	eax

; 529  : 		Commands->Attach_Script(res,"SUR_New_PT",sparam);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+120]
	lea	ecx, DWORD PTR _sparam$[esp+148]
	push	ecx
	push	OFFSET ??_C@_0L@NMEBDFKG@SUR_New_PT?$AA@
	push	esi
	call	eax
	add	esp, 20					; 00000014H
$LN1@Custom@3:
	pop	edi
	pop	esi
	pop	ebx

; 530  : 	}
; 531  : }

	add	esp, 128				; 00000080H
	ret	16					; 00000010H
?Custom@SUR_New_PT@@EAEXPAEHH0@Z ENDP			; SUR_New_PT::Custom
_TEXT	ENDS
PUBLIC	??_C@_0M@KBNHOJJA@Preset_Name?$AA@		; `string'
PUBLIC	?Custom@SUR_New_PT_Reciever@@EAEXPAEHH0@Z	; SUR_New_PT_Reciever::Custom
;	COMDAT ??_C@_0M@KBNHOJJA@Preset_Name?$AA@
CONST	SEGMENT
??_C@_0M@KBNHOJJA@Preset_Name?$AA@ DB 'Preset_Name', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Custom@SUR_New_PT_Reciever@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_pos$ = -24						; size = 12
$T25135 = -12						; size = 12
_obj$ = 8						; size = 4
_rot$ = 12						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@SUR_New_PT_Reciever@@EAEXPAEHH0@Z PROC		; SUR_New_PT_Reciever::Custom, COMDAT
; _this$ = ecx

; 535  : 	Vector3 pos;

	fldz
	sub	esp, 24					; 00000018H
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	edi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _pos$[esp+40]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 536  : 	GameObject *res;
; 537  : 	float rot;
; 538  : 	int e;
; 539  : 	e = Get_Int_Parameter("Message");

	push	OFFSET ??_C@_07BEIHKDLJ@Message?$AA@
	mov	ecx, edi
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 540  : 	if (message == e)

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

; 541  : 	{
; 542  : 		rot = Commands->Get_Facing(obj); //Get our rotation

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+72]
	push	esi
	mov	esi, DWORD PTR _obj$[esp+28]
	push	esi
	call	ecx
	fstp	DWORD PTR _rot$[esp+32]

; 543  : 		pos = Commands->Get_Position(obj); //Get our position

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T25135[esp+36]
	push	esi
	push	edx
	call	ecx
	mov	edx, DWORD PTR [eax]

; 544  : 
; 545  : 		res = Commands->Create_Object(Get_Parameter("Preset_Name"),pos);

	mov	esi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _pos$[esp+44], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+48], ecx
	mov	edx, DWORD PTR [eax+8]
	add	esp, 12					; 0000000cH
	lea	eax, DWORD PTR _pos$[esp+32]
	push	eax
	push	OFFSET ??_C@_0M@KBNHOJJA@Preset_Name?$AA@
	mov	ecx, edi
	mov	DWORD PTR _pos$[esp+48], edx
	add	esi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi]
	push	eax
	call	ecx

; 546  : 		Commands->Set_Facing(res,rot);

	fld	DWORD PTR _rot$[esp+36]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp+4]
	add	esp, 4
	push	eax
	mov	eax, DWORD PTR [edx+76]
	call	eax
	add	esp, 8
	pop	esi
$LN1@Custom@4:
	pop	edi

; 547  : 	}
; 548  : }

	add	esp, 24					; 00000018H
	ret	16					; 00000010H
?Custom@SUR_New_PT_Reciever@@EAEXPAEHH0@Z ENDP		; SUR_New_PT_Reciever::Custom
_TEXT	ENDS
PUBLIC	?Created@SUR_APC_AI@@EAEXPAE@Z			; SUR_APC_AI::Created
; Function compile flags: /Ogtpy
;	COMDAT ?Created@SUR_APC_AI@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@SUR_APC_AI@@EAEXPAE@Z PROC			; SUR_APC_AI::Created, COMDAT
; _this$ = ecx

; 554  : {

	push	esi

; 555  : 	GameObject *tmpObj;
; 556  : 	int msg;
; 557  : 	int prm;
; 558  : 	msg = 503030; //Bot msg
; 559  : 	prm = 302031; //APC requesting job instead of soldier
; 560  : 	tmpObj = Commands->Find_Object(Get_Int_Parameter("NHB_ID"));

	mov	esi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_06MPKPIODH@NHB_ID?$AA@
	add	esi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [esi]
	call	eax

; 561  : 	Commands->Send_Custom_Event(obj,tmpObj,msg,prm,0);

	fldz
	mov	ecx, DWORD PTR _obj$[esp+4]
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	302031					; 00049bcfH
	push	503030					; 0007acf6H
	push	eax
	mov	eax, DWORD PTR [edx+140]
	push	ecx
	call	eax
	add	esp, 20					; 00000014H
	pop	esi

; 562  : }

	ret	4
?Created@SUR_APC_AI@@EAEXPAE@Z ENDP			; SUR_APC_AI::Created
_TEXT	ENDS
PUBLIC	??_C@_0BB@LNLDLMKA@JFW_Base_Defense?$AA@	; `string'
PUBLIC	??_C@_08LFMFPFKM@0?0300?010?$AA@		; `string'
PUBLIC	??_C@_0BB@JLAIOFF@Preset_To_Create?$AA@		; `string'
PUBLIC	?Custom@SUR_APC_AI@@EAEXPAEHH0@Z		; SUR_APC_AI::Custom
;	COMDAT ??_C@_0BB@LNLDLMKA@JFW_Base_Defense?$AA@
CONST	SEGMENT
??_C@_0BB@LNLDLMKA@JFW_Base_Defense?$AA@ DB 'JFW_Base_Defense', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_08LFMFPFKM@0?0300?010?$AA@
CONST	SEGMENT
??_C@_08LFMFPFKM@0?0300?010?$AA@ DB '0,300,10', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@JLAIOFF@Preset_To_Create?$AA@
CONST	SEGMENT
??_C@_0BB@JLAIOFF@Preset_To_Create?$AA@ DB 'Preset_To_Create', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Custom@SUR_APC_AI@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_posM$ = -36						; size = 12
_rpos$ = -24						; size = 12
$T25142 = -12						; size = 12
_obj$ = 8						; size = 4
tv206 = 12						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@SUR_APC_AI@@EAEXPAEHH0@Z PROC			; SUR_APC_AI::Custom, COMDAT
; _this$ = ecx

; 566  : 	Vector3 posM;

	fldz
	sub	esp, 36					; 00000024H
	push	esi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	mov	esi, ecx
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _posM$[esp+52]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 567  : 	Vector3 rpos;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _rpos$[esp+52]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 568  : 	if (message != 503040)

	cmp	DWORD PTR _message$[esp+36], 503040	; 0007ad00H
	jne	$LN1@Custom@5

; 569  : 		return;
; 570  : 	if (param == 202020)

	mov	eax, DWORD PTR _param$[esp+36]
	cmp	eax, 202020				; 00031524H
	jne	$LN5@Custom@5

; 571  : 	{
; 572  : 		//Drop the bots.
; 573  : 		posM = Commands->Get_Position(obj); //Get our position

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	push	ebp
	mov	ebp, DWORD PTR _obj$[esp+40]
	push	edi
	lea	eax, DWORD PTR $T25142[esp+48]
	push	ebp
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _posM$[esp+56], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _posM$[esp+60], edx
	mov	eax, DWORD PTR [eax+8]

; 574  : 		for (int i=1; i <= aiCount; i++)

	mov	edi, 1
	add	esp, 8
	cmp	DWORD PTR [esi+28], edi
	mov	DWORD PTR _posM$[esp+56], eax
	jl	SHORT $LN2@Custom@5
	mov	DWORD PTR tv206[esp+44], 5
	push	ebx
	npad	10
$LL11@Custom@5:

; 575  : 		{
; 576  : 			rpos.X = posM.X + (5*i);

	fild	DWORD PTR tv206[esp+48]

; 577  : 			rpos.Y = posM.Y + 10;
; 578  : 			rpos.Z = posM.Z + 2;
; 579  : 			Commands->Create_Object(Get_Parameter("Preset_To_Create"),rpos);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _rpos$[esp+52]
	push	ecx
	fadd	DWORD PTR _posM$[esp+56]
	push	OFFSET ??_C@_0BB@JLAIOFF@Preset_To_Create?$AA@
	mov	ecx, esi
	add	ebx, 100				; 00000064H
	fstp	DWORD PTR _rpos$[esp+60]
	fld	DWORD PTR _posM$[esp+64]
	fadd	DWORD PTR __real@41200000
	fstp	DWORD PTR _rpos$[esp+64]
	fld	DWORD PTR _posM$[esp+68]
	fadd	DWORD PTR __real@40000000
	fstp	DWORD PTR _rpos$[esp+68]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [ebx]
	push	eax
	call	edx
	add	DWORD PTR tv206[esp+56], 5
	add	edi, 1
	add	esp, 8
	cmp	edi, DWORD PTR [esi+28]
	jle	SHORT $LL11@Custom@5
	pop	ebx
$LN2@Custom@5:

; 580  : 		}
; 581  : 		Commands->Attach_Script(obj,"JFW_Base_Defense","0,300,10");

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+120]
	push	OFFSET ??_C@_08LFMFPFKM@0?0300?010?$AA@
	push	OFFSET ??_C@_0BB@LNLDLMKA@JFW_Base_Defense?$AA@
	push	ebp
	call	ecx
	add	esp, 12					; 0000000cH
	pop	edi
	pop	ebp
	pop	esi

; 587  : 	}
; 588  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
$LN5@Custom@5:

; 582  : 	}
; 583  : 	else
; 584  : 	{
; 585  : //		Commands->Send_Console_Message_Int(param,"Recieved Load Count: %d ");
; 586  : 		aiCount = param;

	mov	DWORD PTR [esi+28], eax
$LN1@Custom@5:
	pop	esi

; 587  : 	}
; 588  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
?Custom@SUR_APC_AI@@EAEXPAEHH0@Z ENDP			; SUR_APC_AI::Custom
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@SUR_APC_AI@@EAEXXZ ; SUR_APC_AI::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@SUR_APC_AI@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@SUR_APC_AI@@EAEXXZ PROC	; SUR_APC_AI::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 592  : 	Auto_Save_Variable(1,4,&aiCount);

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

; 593  : }

	ret	0
?Register_Auto_Save_Variables@SUR_APC_AI@@EAEXXZ ENDP	; SUR_APC_AI::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	__real@41f00000
PUBLIC	??_C@_0O@FABAOFMP@Attack_Offset?$AA@		; `string'
PUBLIC	?Custom@SUR_Orca_AI@@EAEXPAEHH0@Z		; SUR_Orca_AI::Custom
;	COMDAT __real@41f00000
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
__real@41f00000 DD 041f00000r			; 30
CONST	ENDS
;	COMDAT ??_C@_0O@FABAOFMP@Attack_Offset?$AA@
CONST	SEGMENT
??_C@_0O@FABAOFMP@Attack_Offset?$AA@ DB 'Attack_Offset', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ?Custom@SUR_Orca_AI@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_targPos$ = -232					; size = 12
_offset$ = -220						; size = 12
$T25153 = -208						; size = 12
$T25152 = -208						; size = 12
_action$ = -196						; size = 196
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@SUR_Orca_AI@@EAEXPAEHH0@Z PROC			; SUR_Orca_AI::Custom, COMDAT
; _this$ = ecx

; 598  : {

	sub	esp, 232				; 000000e8H

; 599  : 	if (message != 503030)

	cmp	DWORD PTR _message$[esp+228], 503030	; 0007acf6H
	push	esi
	mov	esi, ecx
	jne	$LN2@Custom@6

; 600  : 		return;
; 601  : 	
; 602  : 	ActionParamsStruct action;

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

; 603  : 	GameObject *targ;
; 604  : 	Vector3 offset;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _offset$[esp+248]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 605  : 	Vector3 targPos;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _targPos$[esp+248]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 606  : 
; 607  : 	offset = Get_Vector3_Parameter("Attack_Offset");

	push	OFFSET ??_C@_0O@FABAOFMP@Attack_Offset?$AA@
	lea	eax, DWORD PTR $T25152[esp+240]
	push	eax
	mov	ecx, esi
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _offset$[esp+236], ecx
	mov	edx, DWORD PTR [eax+4]

; 608  : 	action.Set_Basic(this,100,10); //Set the basic stuff

	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR _offset$[esp+240], edx
	mov	eax, DWORD PTR [eax+8]

; 609  : 	targ = Commands->Find_Object(param); //Find the target

	mov	edx, DWORD PTR _param$[esp+232]
	mov	DWORD PTR _offset$[esp+244], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _action$[esp+236], 100	; 00000064H
	mov	DWORD PTR _action$[esp+240], ecx
	mov	DWORD PTR _action$[esp+404], -1
	mov	ecx, DWORD PTR [eax+96]
	push	edx
	call	ecx
	mov	esi, eax

; 610  : 	targPos = Commands->Get_Position(targ);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T25153[esp+240]
	push	esi
	push	edx
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _targPos$[esp+248], edx

; 611  : 	targPos.X+=offset.X;

	fld	DWORD PTR _targPos$[esp+248]
	mov	ecx, DWORD PTR [eax+4]
	fadd	DWORD PTR _offset$[esp+248]
	mov	DWORD PTR _targPos$[esp+252], ecx
	mov	edx, DWORD PTR [eax+8]
	fst	DWORD PTR _targPos$[esp+248]

; 612  : 	targPos.Y+=offset.Y;
; 613  : 	targPos.Z+=offset.Z;
; 614  : 	
; 615  : 	action.Set_Move_Arrive_Distance(100);
; 616  : 	action.Set_Goto_Location(targPos,5,30,false);
; 617  : 	action.Set_Attack(targ,30,0,true); //Set the attack stuff
; 618  : 	Commands->Action_Attack(obj,action); //Attack!

	mov	ecx, DWORD PTR _obj$[esp+244]
	fld	DWORD PTR _targPos$[esp+252]
	mov	DWORD PTR _targPos$[esp+256], edx
	fadd	DWORD PTR _offset$[esp+252]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _action$[esp+248]
	push	eax
	fst	DWORD PTR _targPos$[esp+256]
	mov	BYTE PTR _action$[esp+322], 0
	fld	DWORD PTR _targPos$[esp+260]
	mov	DWORD PTR _action$[esp+340], esi
	fadd	DWORD PTR _offset$[esp+260]
	mov	BYTE PTR _action$[esp+344], 1
	push	ecx
	fst	DWORD PTR _targPos$[esp+264]
	fstp	DWORD PTR _action$[esp+296]
	fxch	ST(1)
	fstp	DWORD PTR _action$[esp+288]
	fstp	DWORD PTR _action$[esp+292]
	fld	DWORD PTR __real@40a00000
	fstp	DWORD PTR _action$[esp+316]
	fld	DWORD PTR __real@41f00000
	fst	DWORD PTR _action$[esp+320]
	fstp	DWORD PTR _action$[esp+332]
	fldz
	fstp	DWORD PTR _action$[esp+336]
	mov	eax, DWORD PTR [edx+20]
	call	eax
	add	esp, 20					; 00000014H
$LN2@Custom@6:
	pop	esi

; 619  : //	Commands->Send_Console_Message_Int(param,"Target Recieved: %d \n");
; 620  : }

	add	esp, 232				; 000000e8H
	ret	16					; 00000010H
?Custom@SUR_Orca_AI@@EAEXPAEHH0@Z ENDP			; SUR_Orca_AI::Custom
_TEXT	ENDS
PUBLIC	?Created@SUR_Orca_AI@@EAEXPAE@Z			; SUR_Orca_AI::Created
; Function compile flags: /Ogtpy
;	COMDAT ?Created@SUR_Orca_AI@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@SUR_Orca_AI@@EAEXPAE@Z PROC			; SUR_Orca_AI::Created, COMDAT
; _this$ = ecx

; 623  : {

	push	esi

; 624  : 	GameObject *tmpObj;
; 625  : 	int msg;
; 626  : 	int prm;
; 627  : 	msg = 503030; //Bot msg
; 628  : 	prm = 303031; //Orca requesting job instead of soldier
; 629  : 	tmpObj = Commands->Find_Object(Get_Int_Parameter("NHB_ID"));

	mov	esi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_06MPKPIODH@NHB_ID?$AA@
	add	esi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [esi]
	call	eax

; 630  : 	Commands->Send_Custom_Event(obj,tmpObj,msg,prm,0);

	fldz
	mov	ecx, DWORD PTR _obj$[esp+4]
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	303031					; 00049fb7H
	push	503030					; 0007acf6H
	push	eax
	mov	eax, DWORD PTR [edx+140]
	push	ecx
	call	eax
	add	esp, 20					; 00000014H
	pop	esi

; 631  : }

	ret	4
?Created@SUR_Orca_AI@@EAEXPAE@Z ENDP			; SUR_Orca_AI::Created
_TEXT	ENDS
PUBLIC	?Death@SUR_Orca_AI@@AAEXPAE0@Z			; SUR_Orca_AI::Death
; Function compile flags: /Ogtpy
;	COMDAT ?Death@SUR_Orca_AI@@AAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Death@SUR_Orca_AI@@AAEXPAE0@Z PROC			; SUR_Orca_AI::Death, COMDAT
; _this$ = ecx

; 634  : {

	push	esi

; 635  : 	GameObject *tmpObj;
; 636  : 	int msg;
; 637  : 	int prm;
; 638  : 	msg = 503030; //Bot msg
; 639  : 	prm = 502001; //Orca death
; 640  : 	tmpObj = Commands->Find_Object(Get_Int_Parameter("NHB_ID"));

	mov	esi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_06MPKPIODH@NHB_ID?$AA@
	add	esi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [esi]
	call	eax

; 641  : 	Commands->Send_Custom_Event(obj,tmpObj,msg,prm,0);

	fldz
	mov	ecx, DWORD PTR _obj$[esp+4]
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	502001					; 0007a8f1H
	push	503030					; 0007acf6H
	push	eax
	mov	eax, DWORD PTR [edx+140]
	push	ecx
	call	eax
	add	esp, 20					; 00000014H
	pop	esi

; 642  : }

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

; 646  : 	if (action != 20)

	cmp	DWORD PTR _action$[esp-4], 20		; 00000014H
	jne	SHORT $LN2@Action_Com
	push	esi

; 647  : 		return;
; 648  : 
; 649  : 	GameObject *tmpObj;
; 650  : 	int msg;
; 651  : 	int prm;
; 652  : 	msg = 503030; //Bot msg
; 653  : 	prm = 303031; //Orca requesting job instead of soldier
; 654  : 	tmpObj = Commands->Find_Object(Get_Int_Parameter("NHB_ID"));

	mov	esi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET ??_C@_06MPKPIODH@NHB_ID?$AA@
	add	esi, 96					; 00000060H
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	push	eax
	mov	eax, DWORD PTR [esi]
	call	eax

; 655  : 	Commands->Send_Custom_Event(obj,tmpObj,msg,prm,0);

	fldz
	mov	ecx, DWORD PTR _obj$[esp+4]
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	303031					; 00049fb7H
	push	503030					; 0007acf6H
	push	eax
	mov	eax, DWORD PTR [edx+140]
	push	ecx
	call	eax
	add	esp, 20					; 00000014H
	pop	esi
$LN2@Action_Com:

; 656  : }

	ret	12					; 0000000cH
?Action_Complete@SUR_Orca_AI@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; SUR_Orca_AI::Action_Complete
_TEXT	ENDS
PUBLIC	??_C@_0BA@OAAEJLHO@Position_Offset?$AA@		; `string'
PUBLIC	?Custom@SUR_Chinook_AI@@EAEXPAEHH0@Z		; SUR_Chinook_AI::Custom
;	COMDAT ??_C@_0BA@OAAEJLHO@Position_Offset?$AA@
CONST	SEGMENT
??_C@_0BA@OAAEJLHO@Position_Offset?$AA@ DB 'Position_Offset', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Custom@SUR_Chinook_AI@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_targPos$ = -36						; size = 12
_offset$ = -24						; size = 12
$T25188 = -12						; size = 12
$T25187 = -12						; size = 12
_obj$ = 8						; size = 4
_rot$ = 12						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@SUR_Chinook_AI@@EAEXPAEHH0@Z PROC		; SUR_Chinook_AI::Custom, COMDAT
; _this$ = ecx

; 662  : {

	sub	esp, 36					; 00000024H

; 663  : 	if (message != 503030)

	cmp	DWORD PTR _message$[esp+32], 503030	; 0007acf6H
	push	esi
	mov	esi, ecx
	jne	$LN2@Custom@7

; 664  : 		return;
; 665  : 	
; 666  : 	Vector3 offset;

	fldz
	push	edi
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _offset$[esp+56]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 667  : 	Vector3 targPos;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _targPos$[esp+56]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 668  : 	GameObject *res;
; 669  : 	float rot;
; 670  : 
; 671  : 	offset = Get_Vector3_Parameter("Position_Offset");

	push	OFFSET ??_C@_0BA@OAAEJLHO@Position_Offset?$AA@
	lea	eax, DWORD PTR $T25187[esp+48]
	push	eax
	mov	ecx, esi
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter
	mov	ecx, DWORD PTR [eax]

; 672  : 	targPos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+40]
	mov	DWORD PTR _offset$[esp+44], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _offset$[esp+48], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T25188[esp+44]
	mov	DWORD PTR _offset$[esp+52], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _targPos$[esp+52], ecx

; 673  : 	targPos.X+=offset.X;

	fld	DWORD PTR _targPos$[esp+52]
	mov	edx, DWORD PTR [eax+4]
	fadd	DWORD PTR _offset$[esp+52]

; 674  : 	targPos.Y+=offset.Y;
; 675  : 	targPos.Z+=offset.Z;
; 676  : 	rot = Commands->Get_Facing(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR _targPos$[esp+56], edx
	mov	eax, DWORD PTR [eax+8]
	fstp	DWORD PTR _targPos$[esp+52]
	fld	DWORD PTR _targPos$[esp+56]
	mov	DWORD PTR _targPos$[esp+60], eax
	fadd	DWORD PTR _offset$[esp+56]
	push	edi
	fstp	DWORD PTR _targPos$[esp+60]
	fld	DWORD PTR _targPos$[esp+64]
	fadd	DWORD PTR _offset$[esp+64]
	fstp	DWORD PTR _targPos$[esp+64]
	mov	edx, DWORD PTR [ecx+72]
	call	edx
	fstp	DWORD PTR _rot$[esp+52]

; 677  : 	res = Commands->Create_Object(Get_Parameter("Preset_Name"),targPos);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	lea	eax, DWORD PTR _targPos$[esp+44]
	push	eax
	push	OFFSET ??_C@_0M@KBNHOJJA@Preset_Name?$AA@
	mov	ecx, esi
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [edi]
	push	eax
	call	ecx

; 678  : 	Commands->Set_Facing(res,rot);

	fld	DWORD PTR _rot$[esp+48]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp+4]
	add	esp, 4
	push	eax
	mov	eax, DWORD PTR [edx+76]
	call	eax
	add	esp, 8
	pop	edi
$LN2@Custom@7:
	pop	esi

; 679  : }

	add	esp, 36					; 00000024H
	ret	16					; 00000010H
?Custom@SUR_Chinook_AI@@EAEXPAEHH0@Z ENDP		; SUR_Chinook_AI::Custom
_TEXT	ENDS
PUBLIC	??_C@_0BB@NHJNEILC@Invisible_Object?$AA@	; `string'
PUBLIC	?Created@SUR_Dep_Turret@@EAEXPAE@Z		; SUR_Dep_Turret::Created
;	COMDAT ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
CONST	SEGMENT
??_C@_0BB@NHJNEILC@Invisible_Object?$AA@ DB 'Invisible_Object', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@SUR_Dep_Turret@@EAEXPAE@Z
_TEXT	SEGMENT
_pos$ = -60						; size = 12
_pos1$ = -48						; size = 12
_pos2$ = -36						; size = 12
_pos3$ = -24						; size = 12
$T25192 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@SUR_Dep_Turret@@EAEXPAE@Z PROC			; SUR_Dep_Turret::Created, COMDAT
; _this$ = ecx

; 684  : {

	sub	esp, 60					; 0000003cH

; 685  : 	Vector3 pos,pos1,pos2,pos3;

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

; 686  : 	GameObject *object;
; 687  : 	objtype = Commands->Get_Player_Type(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, DWORD PTR _obj$[esp+64]
	mov	ecx, DWORD PTR [eax+248]
	push	esi
	call	ecx
	mov	DWORD PTR [edi+40], eax

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

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

; 689  : 	Commands->Innate_Enable(obj);

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

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

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

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T25192[esp+92]
	push	esi
	push	edx
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+100], edx

; 692  : 	pos1.X = pos.X - 10;

	fld	DWORD PTR _pos$[esp+100]
	mov	ecx, DWORD PTR [eax+4]
	fld	ST(0)
	fld	DWORD PTR __real@41200000
	mov	DWORD PTR _pos$[esp+104], ecx
	mov	edx, DWORD PTR [eax+8]
	fsub	ST(1), ST(0)
	fxch	ST(1)
	mov	DWORD PTR _pos$[esp+108], edx
	fstp	DWORD PTR _pos1$[esp+100]

; 693  : 	pos1.Y = pos.Y - 10;

	fld	DWORD PTR _pos$[esp+104]
	fld	ST(0)
	fsub	ST(0), ST(2)
	fst	DWORD PTR _pos1$[esp+104]

; 694  : 	pos1.Z = pos.Z + 2;

	fld	DWORD PTR _pos$[esp+108]
	fadd	DWORD PTR __real@40000000
	fst	DWORD PTR _pos1$[esp+108]

; 695  : 	pos2.X = pos.X + 10;

	fxch	ST(4)
	faddp	ST(3), ST(0)
	fxch	ST(2)
	fst	DWORD PTR _pos2$[esp+100]

; 696  : 	pos2.Y = pos.Y;
; 697  : 	pos2.Z = pos.Z + 2;
; 698  : 	pos3.X = pos.X + 10;

	fstp	DWORD PTR _pos3$[esp+100]

; 699  : 	pos3.Y = pos.Y - 10;
; 700  : 	pos3.Z = pos.Z + 2;
; 701  : 	object = Commands->Create_Object("Invisible_Object",pos1);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _pos2$[esp+104]
	fxch	ST(1)
	lea	eax, DWORD PTR _pos1$[esp+100]
	fst	DWORD PTR _pos2$[esp+108]
	push	eax
	fstp	DWORD PTR _pos3$[esp+112]
	push	OFFSET ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
	fstp	DWORD PTR _pos3$[esp+112]
	mov	edx, DWORD PTR [ecx+100]
	call	edx
	add	esp, 40					; 00000028H

; 702  : 	if (object)

	test	eax, eax
	je	SHORT $LN3@Created

; 703  : 		id1 = Commands->Get_ID(object);

	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	call	ecx
	add	esp, 4
	mov	DWORD PTR [edi+28], eax
$LN3@Created:

; 704  : 	object = Commands->Create_Object("Invisible_Object",pos2);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+100]
	lea	edx, DWORD PTR _pos2$[esp+68]
	push	edx
	push	OFFSET ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
	call	ecx
	add	esp, 8

; 705  : 	if (object)

	test	eax, eax
	je	SHORT $LN2@Created

; 706  : 		id2 = Commands->Get_ID(object);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+108]
	call	eax
	add	esp, 4
	mov	DWORD PTR [edi+32], eax
$LN2@Created:

; 707  : 	object = Commands->Create_Object("Invisible_Object",pos3);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+100]
	lea	ecx, DWORD PTR _pos3$[esp+68]
	push	ecx
	push	OFFSET ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
	call	eax
	add	esp, 8

; 708  : 	if (object)

	test	eax, eax
	je	SHORT $LN1@Created

; 709  : 		id3 = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+108]
	push	eax
	call	edx
	add	esp, 4
	mov	DWORD PTR [edi+36], eax
$LN1@Created:

; 710  : 	Commands->Start_Timer(obj,this,10,1);

	fld	DWORD PTR __real@41200000
	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	edi
	pop	esi

; 711  : }

	add	esp, 60					; 0000003cH
	ret	4
?Created@SUR_Dep_Turret@@EAEXPAE@Z ENDP			; SUR_Dep_Turret::Created
_TEXT	ENDS
PUBLIC	??_C@_0M@JLBMIOIA@AttackTimer?$AA@		; `string'
PUBLIC	??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@	; `string'
PUBLIC	??_C@_0BC@FPEDNKGK@MinAttackDistance?$AA@	; `string'
PUBLIC	?EnemySeen@SUR_Dep_Turret@@AAEXPAE0@Z		; SUR_Dep_Turret::EnemySeen
EXTRN	?CheckPlayerType@ScriptImpClass@@QAEHPAEH@Z:PROC ; ScriptImpClass::CheckPlayerType
;	COMDAT ??_C@_0M@JLBMIOIA@AttackTimer?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0M@JLBMIOIA@AttackTimer?$AA@ DB 'AttackTimer', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@
CONST	SEGMENT
??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@ DB 'MaxAttackDistance', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@FPEDNKGK@MinAttackDistance?$AA@
CONST	SEGMENT
??_C@_0BC@FPEDNKGK@MinAttackDistance?$AA@ DB 'MinAttackDistance', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ?EnemySeen@SUR_Dep_Turret@@AAEXPAE0@Z
_TEXT	SEGMENT
_distance$ = -236					; size = 4
_pos2$ = -232						; size = 12
_pos$ = -220						; size = 12
$T25197 = -208						; size = 12
$T25196 = -208						; size = 12
_params$ = -196						; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?EnemySeen@SUR_Dep_Turret@@AAEXPAE0@Z PROC		; SUR_Dep_Turret::EnemySeen, COMDAT
; _this$ = ecx

; 714  : {

	sub	esp, 236				; 000000ecH
	push	ebx
	push	esi
	mov	esi, ecx
	push	edi

; 715  : 	ActionParamsStruct params;

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

; 716  : 	Vector3 pos,pos2;

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

; 717  : 	float distance;
; 718  : 	float minattack,maxattack;
; 719  : 	float attacktimer;
; 720  : 	pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+244]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T25196[esp+248]
	push	ebx
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]

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

	mov	edi, DWORD PTR _seen$[esp+252]
	mov	DWORD PTR _pos$[esp+256], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+260], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T25197[esp+256]
	mov	DWORD PTR _pos$[esp+264], eax
	mov	eax, DWORD PTR [edx+64]
	push	edi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+268], edx
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _pos2$[esp+272], eax

; 722  : 	distance = Commands->Get_Distance(pos2,pos);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos$[esp+264]
	push	ecx
	mov	ecx, DWORD PTR [eax+256]
	lea	edx, DWORD PTR _pos2$[esp+268]
	push	edx
	call	ecx
	fstp	DWORD PTR _distance$[esp+272]
	add	esp, 24					; 00000018H

; 723  : 	minattack = Get_Float_Parameter("MinAttackDistance");

	push	OFFSET ??_C@_0BC@FPEDNKGK@MinAttackDistance?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter

; 724  : 	if ((distance >= minattack) && (CheckPlayerType(seen,0) > 0) && (CheckPlayerType(seen,1) > 0))

	fcomp	DWORD PTR _distance$[esp+248]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	$LN1@EnemySeen
	push	0
	push	edi
	mov	ecx, esi
	call	?CheckPlayerType@ScriptImpClass@@QAEHPAEH@Z ; ScriptImpClass::CheckPlayerType
	test	eax, eax
	jle	$LN1@EnemySeen
	push	1
	push	edi
	mov	ecx, esi
	call	?CheckPlayerType@ScriptImpClass@@QAEHPAEH@Z ; ScriptImpClass::CheckPlayerType
	test	eax, eax
	jle	$LN1@EnemySeen

; 725  : 	{
; 726  : 		maxattack = Get_Float_Parameter("MaxAttackDistance");

	push	OFFSET ??_C@_0BC@MOFMCIO@MaxAttackDistance?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter

; 727  : 		params.Set_Basic(this,100,2);
; 728  : 		params.Set_Attack_Hold(seen,maxattack,0.0,true,false);

	fstp	DWORD PTR _params$[esp+324]
	mov	edx, DWORD PTR [esi+4]
	fldz

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

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _params$[esp+328]
	lea	eax, DWORD PTR _params$[esp+248]
	push	eax
	mov	DWORD PTR _params$[esp+252], 100	; 00000064H
	mov	DWORD PTR _params$[esp+256], edx
	mov	DWORD PTR _params$[esp+420], -1
	mov	DWORD PTR _params$[esp+340], edi
	mov	BYTE PTR _params$[esp+344], 1
	mov	BYTE PTR _params$[esp+360], 0
	mov	edx, DWORD PTR [ecx+20]
	push	ebx
	call	edx
	add	esp, 8

; 730  : 		attacktimer = Get_Float_Parameter("AttackTimer");

	push	OFFSET ??_C@_0M@JLBMIOIA@AttackTimer?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter

; 731  : 		Commands->Start_Timer(obj,this,attacktimer,2);

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

; 732  : 	}
; 733  : }

	add	esp, 236				; 000000ecH
	ret	8
?EnemySeen@SUR_Dep_Turret@@AAEXPAE0@Z ENDP		; SUR_Dep_Turret::EnemySeen
_TEXT	ENDS
PUBLIC	?Action_Complete@SUR_Dep_Turret@@EAEXPAEHW4ActionCompleteReason@@@Z ; SUR_Dep_Turret::Action_Complete
; Function compile flags: /Ogtpy
;	COMDAT ?Action_Complete@SUR_Dep_Turret@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@SUR_Dep_Turret@@EAEXPAEHW4ActionCompleteReason@@@Z PROC ; SUR_Dep_Turret::Action_Complete, COMDAT
; _this$ = ecx

; 737  : 	if (action == 2)

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

; 738  : 	{
; 739  : 		Commands->Action_Reset(obj,100);

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

; 740  : 	}
; 741  : }

	ret	12					; 0000000cH
?Action_Complete@SUR_Dep_Turret@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; SUR_Dep_Turret::Action_Complete
_TEXT	ENDS
PUBLIC	__real@403ffe5d
PUBLIC	?Timer_Expired@SUR_Dep_Turret@@EAEXPAEH@Z	; SUR_Dep_Turret::Timer_Expired
EXTRN	__ftol2_sse:PROC
;	COMDAT __real@403ffe5d
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
__real@403ffe5d DD 0403ffe5dr			; 2.9999
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ?Timer_Expired@SUR_Dep_Turret@@EAEXPAEH@Z
_TEXT	SEGMENT
_var$ = -196						; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@SUR_Dep_Turret@@EAEXPAEH@Z PROC		; SUR_Dep_Turret::Timer_Expired, COMDAT
; _this$ = ecx

; 744  : {

	sub	esp, 196				; 000000c4H
	push	esi
	mov	esi, ecx

; 745  : 	ActionParamsStruct var;

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

; 746  : 	GameObject *object;
; 747  : 	float f;
; 748  : 	switch (number)

	mov	eax, DWORD PTR _number$[esp+196]
	sub	eax, 1
	je	SHORT $LN10@Timer_Expi@5
	sub	eax, 1
	jne	$LN11@Timer_Expi@5

; 782  : 	break;
; 783  : 	case 2:
; 784  : 		Commands->Action_Reset(obj,100);

	fld	DWORD PTR __real@42c80000
	mov	eax, DWORD PTR _obj$[esp+196]
	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
	pop	esi

; 785  : 		break;
; 786  : 	}
; 787  : }

	add	esp, 196				; 000000c4H
	ret	8
$LN10@Timer_Expi@5:

; 749  : 	{
; 750  : 	case 1:
; 751  : 		f = Commands->Get_Random(0.0f,2.9999f);

	fld	DWORD PTR __real@403ffe5d
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+148]
	sub	esp, 8
	fstp	DWORD PTR [esp+4]
	fldz
	fstp	DWORD PTR [esp]
	call	ecx
	add	esp, 8

; 752  : 		switch (__min(int(f),2))

	call	__ftol2_sse
	cmp	eax, 2
	jl	SHORT $LN16@Timer_Expi@5
	mov	eax, 2
$LN16@Timer_Expi@5:
	sub	eax, 0
	push	edi
	mov	edi, DWORD PTR _obj$[esp+200]
	je	SHORT $LN7@Timer_Expi@5
	sub	eax, 1
	je	SHORT $LN5@Timer_Expi@5

; 772  : 		default:
; 773  : 			object = Commands->Find_Object(id3);

	mov	edx, DWORD PTR [esi+36]

; 774  : 			if (object)
; 775  : 			{
; 776  : 				var.Set_Basic(this,70,1);
; 777  : 				var.Set_Attack(object,0,0,true);
; 778  : 				Commands->Action_Attack(obj,var);

	jmp	SHORT $LN36@Timer_Expi@5
$LN5@Timer_Expi@5:

; 761  : 			}
; 762  : 			break;
; 763  : 		case 1:
; 764  : 			object = Commands->Find_Object(id2);

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

; 765  : 			if (object)

	test	eax, eax
	je	$LN6@Timer_Expi@5

; 766  : 			{
; 767  : 				var.Set_Basic(this,70,1);
; 768  : 				var.Set_Attack(object,0,0,true);

	fldz
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR _var$[esp+292], eax
	fst	DWORD PTR _var$[esp+280]

; 769  : 				Commands->Action_Attack(obj,var);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _var$[esp+284]
	lea	edx, DWORD PTR _var$[esp+204]
	push	edx
	mov	DWORD PTR _var$[esp+208], 70		; 00000046H
	mov	DWORD PTR _var$[esp+212], ecx
	mov	DWORD PTR _var$[esp+376], -1
	mov	BYTE PTR _var$[esp+300], 1
	mov	ecx, DWORD PTR [eax+20]
	push	edi
	call	ecx

; 770  : 			}
; 771  : 			break;

	jmp	SHORT $LN37@Timer_Expi@5
$LN7@Timer_Expi@5:

; 753  : 		{
; 754  : 		case 0:
; 755  : 			object = Commands->Find_Object(id1);

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

; 756  : 			if (object)

	test	eax, eax
	je	SHORT $LN6@Timer_Expi@5

; 757  : 			{
; 758  : 				var.Set_Basic(this,70,1);
; 759  : 				var.Set_Attack(object,0,0,true);

	fldz
	mov	edx, DWORD PTR [esi+4]

; 760  : 				Commands->Action_Attack(obj,var);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fst	DWORD PTR _var$[esp+280]
	mov	DWORD PTR _var$[esp+292], eax
	fstp	DWORD PTR _var$[esp+284]
	lea	eax, DWORD PTR _var$[esp+204]
	push	eax
	mov	DWORD PTR _var$[esp+208], 70		; 00000046H
	mov	DWORD PTR _var$[esp+212], edx
	mov	DWORD PTR _var$[esp+376], -1
	mov	BYTE PTR _var$[esp+300], 1
	mov	edx, DWORD PTR [ecx+20]
	push	edi
	call	edx
$LN37@Timer_Expi@5:
	add	esp, 8
$LN6@Timer_Expi@5:

; 779  : 			}
; 780  : 		}
; 781  : 	Commands->Start_Timer(obj,this,10,1);

	fld	DWORD PTR __real@41200000
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	ecx
	mov	ecx, DWORD PTR [eax+128]
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
	pop	edi
$LN11@Timer_Expi@5:
	pop	esi

; 785  : 		break;
; 786  : 	}
; 787  : }

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

; 790  : {

	push	esi
	mov	esi, ecx

; 791  : 	Auto_Save_Variable(1,4,&id1);

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

; 792  : 	Auto_Save_Variable(2,4,&id2);

	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

; 793  : 	Auto_Save_Variable(3,4,&id3);

	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

; 794  : 	Auto_Save_Variable(4,4,&objtype);

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

; 795  : }

	ret	0
?Register_Auto_Save_Variables@SUR_Dep_Turret@@EAEXXZ ENDP ; SUR_Dep_Turret::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	??_C@_05ENDOMFAI@Delay?$AA@			; `string'
PUBLIC	?Created@SUR_Timed_Death@@EAEXPAE@Z		; SUR_Timed_Death::Created
;	COMDAT ??_C@_05ENDOMFAI@Delay?$AA@
CONST	SEGMENT
??_C@_05ENDOMFAI@Delay?$AA@ DB 'Delay', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@SUR_Timed_Death@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@SUR_Timed_Death@@EAEXPAE@Z PROC		; SUR_Timed_Death::Created, COMDAT
; _this$ = ecx

; 798  : {

	push	esi
	push	edi

; 799  : 	Commands->Start_Timer(obj,this,Get_Float_Parameter("Delay"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	OFFSET ??_C@_05ENDOMFAI@Delay?$AA@
	mov	esi, ecx
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	eax, DWORD PTR _obj$[esp+8]
	push	ecx
	mov	ecx, DWORD PTR [edi]
	fstp	DWORD PTR [esp]
	push	esi
	push	eax
	call	ecx
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi

; 800  : }

	ret	4
?Created@SUR_Timed_Death@@EAEXPAE@Z ENDP		; SUR_Timed_Death::Created
_TEXT	ENDS
PUBLIC	??_C@_0O@DDNFGLDM@Damage_Amount?$AA@		; `string'
PUBLIC	??_C@_0M@CALDOHKN@Damage_Type?$AA@		; `string'
PUBLIC	?Timer_Expired@SUR_Timed_Death@@EAEXPAEH@Z	; SUR_Timed_Death::Timer_Expired
;	COMDAT ??_C@_0O@DDNFGLDM@Damage_Amount?$AA@
CONST	SEGMENT
??_C@_0O@DDNFGLDM@Damage_Amount?$AA@ DB 'Damage_Amount', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@CALDOHKN@Damage_Type?$AA@
CONST	SEGMENT
??_C@_0M@CALDOHKN@Damage_Type?$AA@ DB 'Damage_Type', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Timer_Expired@SUR_Timed_Death@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@SUR_Timed_Death@@EAEXPAEH@Z PROC		; SUR_Timed_Death::Timer_Expired, COMDAT
; _this$ = ecx

; 803  : {

	push	esi
	push	edi

; 804  : 	Commands->Apply_Damage(obj,Get_Float_Parameter("Damage_Amount"),Get_Parameter("Damage_Type"),0);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET ??_C@_0M@CALDOHKN@Damage_Type?$AA@
	mov	esi, ecx
	add	edi, 616				; 00000268H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET ??_C@_0O@DDNFGLDM@Damage_Amount?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	mov	eax, DWORD PTR _obj$[esp+12]
	push	ecx
	mov	ecx, DWORD PTR [edi]
	fstp	DWORD PTR [esp]
	push	eax
	call	ecx
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi

; 805  : }

	ret	8
?Timer_Expired@SUR_Timed_Death@@EAEXPAEH@Z ENDP		; SUR_Timed_Death::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_07EJMDJBEC@Powerup?$AA@			; `string'
PUBLIC	??_C@_03EBKHDLCO@Any?$AA@			; `string'
PUBLIC	??_C@_06CKLLCHIK@Preset?$AA@			; `string'
PUBLIC	?Entered@SUR_GrantPowerup_OnEntry@@EAEXPAE0@Z	; SUR_GrantPowerup_OnEntry::Entered
;	COMDAT ??_C@_07EJMDJBEC@Powerup?$AA@
CONST	SEGMENT
??_C@_07EJMDJBEC@Powerup?$AA@ DB 'Powerup', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03EBKHDLCO@Any?$AA@
CONST	SEGMENT
??_C@_03EBKHDLCO@Any?$AA@ DB 'Any', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_06CKLLCHIK@Preset?$AA@
CONST	SEGMENT
??_C@_06CKLLCHIK@Preset?$AA@ DB 'Preset', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Entered@SUR_GrantPowerup_OnEntry@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_enter$ = 12						; size = 4
?Entered@SUR_GrantPowerup_OnEntry@@EAEXPAE0@Z PROC	; SUR_GrantPowerup_OnEntry::Entered, COMDAT
; _this$ = ecx

; 808  : {

	push	ebx
	push	esi

; 809  : 	if ((!_stricmp(Commands->Get_Preset_Name(enter),Get_Parameter("Preset"))) || (!_stricmp(Get_Parameter("Preset"),"Any")))

	push	OFFSET ??_C@_06CKLLCHIK@Preset?$AA@
	mov	esi, ecx
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ebx, DWORD PTR _enter$[esp+4]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+116]
	push	ebx
	call	ecx
	add	esp, 4
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN1@Entered@2
	push	OFFSET ??_C@_03EBKHDLCO@Any?$AA@
	push	OFFSET ??_C@_06CKLLCHIK@Preset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	__stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN2@Entered@2
$LN1@Entered@2:
	push	edi

; 810  : 	{
; 811  : 		Commands->Give_Powerup(enter,Get_Parameter("Powerup"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	OFFSET ??_C@_07EJMDJBEC@Powerup?$AA@
	mov	ecx, esi
	add	edi, 432				; 000001b0H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [edi]
	push	eax
	push	ebx
	call	edx
	add	esp, 12					; 0000000cH
	pop	edi
$LN2@Entered@2:
	pop	esi
	pop	ebx

; 812  : 	}
; 813  : }

	ret	8
?Entered@SUR_GrantPowerup_OnEntry@@EAEXPAE0@Z ENDP	; SUR_GrantPowerup_OnEntry::Entered
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAE@XZ ; ScriptRegistrant<SUR_Spawn_Delay>::~ScriptRegistrant<SUR_Spawn_Delay>
EXTRN	??1ScriptFactory@@UAE@XZ:PROC			; ScriptFactory::~ScriptFactory
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAE@XZ PROC	; ScriptRegistrant<SUR_Spawn_Delay>::~ScriptRegistrant<SUR_Spawn_Delay>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAE@XZ ENDP	; ScriptRegistrant<SUR_Spawn_Delay>::~ScriptRegistrant<SUR_Spawn_Delay>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAE@XZ ; ScriptRegistrant<SUR_Generator_Zone>::~ScriptRegistrant<SUR_Generator_Zone>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAE@XZ PROC ; ScriptRegistrant<SUR_Generator_Zone>::~ScriptRegistrant<SUR_Generator_Zone>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAE@XZ ENDP ; ScriptRegistrant<SUR_Generator_Zone>::~ScriptRegistrant<SUR_Generator_Zone>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_MiniGen@@@@UAE@XZ	; ScriptRegistrant<SUR_MiniGen>::~ScriptRegistrant<SUR_MiniGen>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_MiniGen@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_MiniGen@@@@UAE@XZ PROC	; ScriptRegistrant<SUR_MiniGen>::~ScriptRegistrant<SUR_MiniGen>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_MiniGen@@@@UAE@XZ ENDP	; ScriptRegistrant<SUR_MiniGen>::~ScriptRegistrant<SUR_MiniGen>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_NHB@@@@UAE@XZ	; ScriptRegistrant<SUR_NHB>::~ScriptRegistrant<SUR_NHB>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_NHB@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_NHB@@@@UAE@XZ PROC		; ScriptRegistrant<SUR_NHB>::~ScriptRegistrant<SUR_NHB>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_NHB@@@@UAE@XZ ENDP		; ScriptRegistrant<SUR_NHB>::~ScriptRegistrant<SUR_NHB>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAE@XZ ; ScriptRegistrant<SUR_NHB_Soldier>::~ScriptRegistrant<SUR_NHB_Soldier>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAE@XZ PROC	; ScriptRegistrant<SUR_NHB_Soldier>::~ScriptRegistrant<SUR_NHB_Soldier>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAE@XZ ENDP	; ScriptRegistrant<SUR_NHB_Soldier>::~ScriptRegistrant<SUR_NHB_Soldier>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAE@XZ ; ScriptRegistrant<SUR_Obj_Destroyer>::~ScriptRegistrant<SUR_Obj_Destroyer>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAE@XZ PROC	; ScriptRegistrant<SUR_Obj_Destroyer>::~ScriptRegistrant<SUR_Obj_Destroyer>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAE@XZ ENDP	; ScriptRegistrant<SUR_Obj_Destroyer>::~ScriptRegistrant<SUR_Obj_Destroyer>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_New_PT@@@@UAE@XZ	; ScriptRegistrant<SUR_New_PT>::~ScriptRegistrant<SUR_New_PT>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_New_PT@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_New_PT@@@@UAE@XZ PROC	; ScriptRegistrant<SUR_New_PT>::~ScriptRegistrant<SUR_New_PT>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_New_PT@@@@UAE@XZ ENDP	; ScriptRegistrant<SUR_New_PT>::~ScriptRegistrant<SUR_New_PT>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAE@XZ ; ScriptRegistrant<SUR_New_PT_Reciever>::~ScriptRegistrant<SUR_New_PT_Reciever>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAE@XZ PROC ; ScriptRegistrant<SUR_New_PT_Reciever>::~ScriptRegistrant<SUR_New_PT_Reciever>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAE@XZ ENDP ; ScriptRegistrant<SUR_New_PT_Reciever>::~ScriptRegistrant<SUR_New_PT_Reciever>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_APC_AI@@@@UAE@XZ	; ScriptRegistrant<SUR_APC_AI>::~ScriptRegistrant<SUR_APC_AI>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_APC_AI@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_APC_AI@@@@UAE@XZ PROC	; ScriptRegistrant<SUR_APC_AI>::~ScriptRegistrant<SUR_APC_AI>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_APC_AI@@@@UAE@XZ ENDP	; ScriptRegistrant<SUR_APC_AI>::~ScriptRegistrant<SUR_APC_AI>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_Orca_AI@@@@UAE@XZ	; ScriptRegistrant<SUR_Orca_AI>::~ScriptRegistrant<SUR_Orca_AI>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_Orca_AI@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_Orca_AI@@@@UAE@XZ PROC	; ScriptRegistrant<SUR_Orca_AI>::~ScriptRegistrant<SUR_Orca_AI>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_Orca_AI@@@@UAE@XZ ENDP	; ScriptRegistrant<SUR_Orca_AI>::~ScriptRegistrant<SUR_Orca_AI>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAE@XZ	; ScriptRegistrant<SUR_Chinook_AI>::~ScriptRegistrant<SUR_Chinook_AI>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAE@XZ PROC	; ScriptRegistrant<SUR_Chinook_AI>::~ScriptRegistrant<SUR_Chinook_AI>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAE@XZ ENDP	; ScriptRegistrant<SUR_Chinook_AI>::~ScriptRegistrant<SUR_Chinook_AI>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAE@XZ	; ScriptRegistrant<SUR_Dep_Turret>::~ScriptRegistrant<SUR_Dep_Turret>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAE@XZ PROC	; ScriptRegistrant<SUR_Dep_Turret>::~ScriptRegistrant<SUR_Dep_Turret>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAE@XZ ENDP	; ScriptRegistrant<SUR_Dep_Turret>::~ScriptRegistrant<SUR_Dep_Turret>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_Timed_Death@@@@UAE@XZ ; ScriptRegistrant<SUR_Timed_Death>::~ScriptRegistrant<SUR_Timed_Death>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_Timed_Death@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_Timed_Death@@@@UAE@XZ PROC	; ScriptRegistrant<SUR_Timed_Death>::~ScriptRegistrant<SUR_Timed_Death>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_Timed_Death@@@@UAE@XZ ENDP	; ScriptRegistrant<SUR_Timed_Death>::~ScriptRegistrant<SUR_Timed_Death>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAE@XZ ; ScriptRegistrant<SUR_GrantPowerup_OnEntry>::~ScriptRegistrant<SUR_GrantPowerup_OnEntry>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAE@XZ PROC ; ScriptRegistrant<SUR_GrantPowerup_OnEntry>::~ScriptRegistrant<SUR_GrantPowerup_OnEntry>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAE@XZ ENDP ; ScriptRegistrant<SUR_GrantPowerup_OnEntry>::~ScriptRegistrant<SUR_GrantPowerup_OnEntry>
_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
$T25349 = -12						; size = 12
_this$ = 8						; size = 4
$T25355 = 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 $T25355[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T25349[esp+20]
	mov	DWORD PTR $T25355[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T25349[esp+20]
	push	ecx
	mov	DWORD PTR $T25349[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
$T25361 = -12						; size = 12
$T25366 = 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 $T25366[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T25361[esp+20]
	mov	DWORD PTR $T25366[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T25361[esp+20]
	push	ecx
	mov	DWORD PTR $T25361[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@VSUR_Spawn_Delay@@@@6B@	; ScriptRegistrant<SUR_Spawn_Delay>::`vftable'
PUBLIC	??0?$ScriptRegistrant@VSUR_Spawn_Delay@@@@QAE@PAD0@Z ; ScriptRegistrant<SUR_Spawn_Delay>::ScriptRegistrant<SUR_Spawn_Delay>
PUBLIC	??_R4?$ScriptRegistrant@VSUR_Spawn_Delay@@@@6B@	; ScriptRegistrant<SUR_Spawn_Delay>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$ScriptRegistrant@VSUR_Spawn_Delay@@@@@8 ; ScriptRegistrant<SUR_Spawn_Delay> `RTTI Type Descriptor'
PUBLIC	??_R3?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8	; ScriptRegistrant<SUR_Spawn_Delay>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8	; ScriptRegistrant<SUR_Spawn_Delay>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8 ; ScriptRegistrant<SUR_Spawn_Delay>::`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@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<SUR_Spawn_Delay>::Create
EXTRN	??0ScriptFactory@@QAE@PAD0@Z:PROC		; ScriptFactory::ScriptFactory
EXTRN	??_E?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAXI@Z:PROC ; ScriptRegistrant<SUR_Spawn_Delay>::`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@VSUR_Spawn_Delay@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8 DD FLAT:??_R0?AV?$ScriptRegistrant@VSUR_Spawn_Delay@@@@@8 ; ScriptRegistrant<SUR_Spawn_Delay>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8
rdata$r	SEGMENT
??_R2?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8 DD FLAT:??_R1A@?0A@EA@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8 ; ScriptRegistrant<SUR_Spawn_Delay>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8
rdata$r	SEGMENT
??_R3?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8 DD 00H	; ScriptRegistrant<SUR_Spawn_Delay>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$ScriptRegistrant@VSUR_Spawn_Delay@@@@@8
_DATA	SEGMENT
??_R0?AV?$ScriptRegistrant@VSUR_Spawn_Delay@@@@@8 DD FLAT:??_7type_info@@6B@ ; ScriptRegistrant<SUR_Spawn_Delay> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$ScriptRegistrant@VSUR_Spawn_Delay@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$ScriptRegistrant@VSUR_Spawn_Delay@@@@6B@
rdata$r	SEGMENT
??_R4?$ScriptRegistrant@VSUR_Spawn_Delay@@@@6B@ DD 00H	; ScriptRegistrant<SUR_Spawn_Delay>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$ScriptRegistrant@VSUR_Spawn_Delay@@@@@8
	DD	FLAT:??_R3?$ScriptRegistrant@VSUR_Spawn_Delay@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VSUR_Spawn_Delay@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VSUR_Spawn_Delay@@@@6B@ DD FLAT:??_R4?$ScriptRegistrant@VSUR_Spawn_Delay@@@@6B@ ; ScriptRegistrant<SUR_Spawn_Delay>::`vftable'
	DD	FLAT:??_E?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VSUR_Spawn_Delay@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VSUR_Spawn_Delay@@@@QAE@PAD0@Z PROC ; ScriptRegistrant<SUR_Spawn_Delay>::ScriptRegistrant<SUR_Spawn_Delay>, 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@VSUR_Spawn_Delay@@@@6B@

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

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

; 482  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<SUR_GrantPowerup_OnEntry>::ScriptRegistrant<SUR_GrantPowerup_OnEntry>
; 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@VSUR_Spawn_Delay@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SUR_Spawn_Delay>::`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@VSUR_Spawn_Delay@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SUR_Spawn_Delay>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SUR_Generator_Zone>::`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@VSUR_Generator_Zone@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SUR_Generator_Zone>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_MiniGen@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_MiniGen@@@@UAEPAXI@Z PROC	; ScriptRegistrant<SUR_MiniGen>::`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@VSUR_MiniGen@@@@UAEPAXI@Z ENDP	; ScriptRegistrant<SUR_MiniGen>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_NHB@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_NHB@@@@UAEPAXI@Z PROC	; ScriptRegistrant<SUR_NHB>::`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@VSUR_NHB@@@@UAEPAXI@Z ENDP	; ScriptRegistrant<SUR_NHB>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SUR_NHB_Soldier>::`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@VSUR_NHB_Soldier@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SUR_NHB_Soldier>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SUR_Obj_Destroyer>::`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@VSUR_Obj_Destroyer@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SUR_Obj_Destroyer>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_New_PT@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_New_PT@@@@UAEPAXI@Z PROC	; ScriptRegistrant<SUR_New_PT>::`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@VSUR_New_PT@@@@UAEPAXI@Z ENDP	; ScriptRegistrant<SUR_New_PT>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SUR_New_PT_Reciever>::`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@VSUR_New_PT_Reciever@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SUR_New_PT_Reciever>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_APC_AI@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_APC_AI@@@@UAEPAXI@Z PROC	; ScriptRegistrant<SUR_APC_AI>::`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@VSUR_APC_AI@@@@UAEPAXI@Z ENDP	; ScriptRegistrant<SUR_APC_AI>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_Orca_AI@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_Orca_AI@@@@UAEPAXI@Z PROC	; ScriptRegistrant<SUR_Orca_AI>::`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@VSUR_Orca_AI@@@@UAEPAXI@Z ENDP	; ScriptRegistrant<SUR_Orca_AI>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SUR_Chinook_AI>::`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@VSUR_Chinook_AI@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SUR_Chinook_AI>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SUR_Dep_Turret>::`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@VSUR_Dep_Turret@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SUR_Dep_Turret>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_Timed_Death@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_Timed_Death@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SUR_Timed_Death>::`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@VSUR_Timed_Death@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SUR_Timed_Death>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAEPAXI@Z PROC ; ScriptRegistrant<SUR_GrantPowerup_OnEntry>::`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@VSUR_GrantPowerup_OnEntry@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<SUR_GrantPowerup_OnEntry>::`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	??_7SUR_Spawn_Delay@@6B@			; SUR_Spawn_Delay::`vftable'
PUBLIC	??0SUR_Spawn_Delay@@QAE@XZ			; SUR_Spawn_Delay::SUR_Spawn_Delay
PUBLIC	??_R4SUR_Spawn_Delay@@6B@			; SUR_Spawn_Delay::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_Spawn_Delay@@@8			; SUR_Spawn_Delay `RTTI Type Descriptor'
PUBLIC	??_R3SUR_Spawn_Delay@@8				; SUR_Spawn_Delay::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_Spawn_Delay@@8				; SUR_Spawn_Delay::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_Spawn_Delay@@8		; SUR_Spawn_Delay::`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	??_ESUR_Spawn_Delay@@UAEPAXI@Z:PROC		; SUR_Spawn_Delay::`vector deleting destructor'
EXTRN	?Get_Name@ScriptImpClass@@UAEPADXZ:PROC		; ScriptImpClass::Get_Name
EXTRN	?Attach@ScriptImpClass@@UAEXPAE@Z:PROC		; ScriptImpClass::Attach
EXTRN	?Detach@ScriptImpClass@@UAEXPAE@Z:PROC		; ScriptImpClass::Detach
EXTRN	?Destroyed@ScriptImpClass@@UAEXPAE@Z:PROC	; ScriptImpClass::Destroyed
EXTRN	?Killed@ScriptImpClass@@UAEXPAE0@Z:PROC		; ScriptImpClass::Killed
EXTRN	?Damaged@ScriptImpClass@@UAEXPAE0M@Z:PROC	; ScriptImpClass::Damaged
EXTRN	?Custom@ScriptImpClass@@UAEXPAEHH0@Z:PROC	; ScriptImpClass::Custom
EXTRN	?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z:PROC ; ScriptImpClass::Sound_Heard
EXTRN	?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z:PROC	; ScriptImpClass::Enemy_Seen
EXTRN	?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z:PROC ; ScriptImpClass::Action_Complete
EXTRN	?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z:PROC ; ScriptImpClass::Animation_Complete
EXTRN	?Poked@ScriptImpClass@@UAEXPAE0@Z:PROC		; ScriptImpClass::Poked
EXTRN	?Entered@ScriptImpClass@@UAEXPAE0@Z:PROC	; ScriptImpClass::Entered
EXTRN	?Exited@ScriptImpClass@@UAEXPAE0@Z:PROC		; ScriptImpClass::Exited
EXTRN	?Owner@ScriptImpClass@@UAEPAEXZ:PROC		; ScriptImpClass::Owner
EXTRN	?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ:PROC	; ScriptImpClass::Get_Owner_Ptr
EXTRN	?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z:PROC ; ScriptImpClass::Set_Parameters_String
EXTRN	?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z:PROC ; ScriptImpClass::Get_Parameters_String
EXTRN	?Save@ScriptImpClass@@UAEXAAE@Z:PROC		; ScriptImpClass::Save
EXTRN	?Load@ScriptImpClass@@UAEXAAE@Z:PROC		; ScriptImpClass::Load
EXTRN	?Save_Data@ScriptImpClass@@UAEXAAE@Z:PROC	; ScriptImpClass::Save_Data
EXTRN	?Load_Data@ScriptImpClass@@UAEXAAE@Z:PROC	; ScriptImpClass::Load_Data
EXTRN	?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ:PROC ; ScriptImpClass::Register_Auto_Save_Variables
;	COMDAT ??_R2GameObjObserverClass@@8
rdata$r	SEGMENT
??_R2GameObjObserverClass@@8 DD FLAT:??_R1A@?0A@EA@GameObjObserverClass@@8 ; GameObjObserverClass::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3GameObjObserverClass@@8
rdata$r	SEGMENT
??_R3GameObjObserverClass@@8 DD 00H			; GameObjObserverClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVGameObjObserverClass@@@8
_DATA	SEGMENT
??_R0?AVGameObjObserverClass@@@8 DD FLAT:??_7type_info@@6B@ ; GameObjObserverClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVGameObjObserverClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@GameObjObserverClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@GameObjObserverClass@@8 DD FLAT:??_R0?AVGameObjObserverClass@@@8 ; GameObjObserverClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R2ScriptClass@@8
rdata$r	SEGMENT
??_R2ScriptClass@@8 DD FLAT:??_R1A@?0A@EA@ScriptClass@@8 ; ScriptClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3ScriptClass@@8
rdata$r	SEGMENT
??_R3ScriptClass@@8 DD 00H				; ScriptClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2ScriptClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVScriptClass@@@8
_DATA	SEGMENT
??_R0?AVScriptClass@@@8 DD FLAT:??_7type_info@@6B@	; ScriptClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVScriptClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@ScriptClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ScriptClass@@8 DD FLAT:??_R0?AVScriptClass@@@8 ; ScriptClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ScriptClass@@8
rdata$r	ENDS
;	COMDAT ??_R2ScriptImpClass@@8
rdata$r	SEGMENT
??_R2ScriptImpClass@@8 DD FLAT:??_R1A@?0A@EA@ScriptImpClass@@8 ; ScriptImpClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3ScriptImpClass@@8
rdata$r	SEGMENT
??_R3ScriptImpClass@@8 DD 00H				; ScriptImpClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2ScriptImpClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVScriptImpClass@@@8
_DATA	SEGMENT
??_R0?AVScriptImpClass@@@8 DD FLAT:??_7type_info@@6B@	; ScriptImpClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVScriptImpClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@ScriptImpClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ScriptImpClass@@8 DD FLAT:??_R0?AVScriptImpClass@@@8 ; ScriptImpClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ScriptImpClass@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@SUR_Spawn_Delay@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_Spawn_Delay@@8 DD FLAT:??_R0?AVSUR_Spawn_Delay@@@8 ; SUR_Spawn_Delay::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_Spawn_Delay@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_Spawn_Delay@@8
rdata$r	SEGMENT
??_R2SUR_Spawn_Delay@@8 DD FLAT:??_R1A@?0A@EA@SUR_Spawn_Delay@@8 ; SUR_Spawn_Delay::`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 ??_R3SUR_Spawn_Delay@@8
rdata$r	SEGMENT
??_R3SUR_Spawn_Delay@@8 DD 00H				; SUR_Spawn_Delay::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_Spawn_Delay@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_Spawn_Delay@@@8
_DATA	SEGMENT
??_R0?AVSUR_Spawn_Delay@@@8 DD FLAT:??_7type_info@@6B@	; SUR_Spawn_Delay `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_Spawn_Delay@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_Spawn_Delay@@6B@
rdata$r	SEGMENT
??_R4SUR_Spawn_Delay@@6B@ DD 00H			; SUR_Spawn_Delay::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_Spawn_Delay@@@8
	DD	FLAT:??_R3SUR_Spawn_Delay@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_Spawn_Delay@@6B@
CONST	SEGMENT
??_7SUR_Spawn_Delay@@6B@ DD FLAT:??_R4SUR_Spawn_Delay@@6B@ ; SUR_Spawn_Delay::`vftable'
	DD	FLAT:??_ESUR_Spawn_Delay@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SUR_Spawn_Delay@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@SUR_Spawn_Delay@@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 ??0SUR_Spawn_Delay@@QAE@XZ
_TEXT	SEGMENT
??0SUR_Spawn_Delay@@QAE@XZ PROC				; SUR_Spawn_Delay::SUR_Spawn_Delay, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_Spawn_Delay@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_Spawn_Delay@@QAE@XZ ENDP				; SUR_Spawn_Delay::SUR_Spawn_Delay
_TEXT	ENDS
PUBLIC	??_7SUR_Generator_Zone@@6B@			; SUR_Generator_Zone::`vftable'
PUBLIC	??0SUR_Generator_Zone@@QAE@XZ			; SUR_Generator_Zone::SUR_Generator_Zone
PUBLIC	??_R4SUR_Generator_Zone@@6B@			; SUR_Generator_Zone::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_Generator_Zone@@@8			; SUR_Generator_Zone `RTTI Type Descriptor'
PUBLIC	??_R3SUR_Generator_Zone@@8			; SUR_Generator_Zone::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_Generator_Zone@@8			; SUR_Generator_Zone::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_Generator_Zone@@8		; SUR_Generator_Zone::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_Generator_Zone@@UAEPAXI@Z:PROC		; SUR_Generator_Zone::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SUR_Generator_Zone@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_Generator_Zone@@8 DD FLAT:??_R0?AVSUR_Generator_Zone@@@8 ; SUR_Generator_Zone::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_Generator_Zone@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_Generator_Zone@@8
rdata$r	SEGMENT
??_R2SUR_Generator_Zone@@8 DD FLAT:??_R1A@?0A@EA@SUR_Generator_Zone@@8 ; SUR_Generator_Zone::`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 ??_R3SUR_Generator_Zone@@8
rdata$r	SEGMENT
??_R3SUR_Generator_Zone@@8 DD 00H			; SUR_Generator_Zone::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_Generator_Zone@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_Generator_Zone@@@8
_DATA	SEGMENT
??_R0?AVSUR_Generator_Zone@@@8 DD FLAT:??_7type_info@@6B@ ; SUR_Generator_Zone `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_Generator_Zone@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_Generator_Zone@@6B@
rdata$r	SEGMENT
??_R4SUR_Generator_Zone@@6B@ DD 00H			; SUR_Generator_Zone::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_Generator_Zone@@@8
	DD	FLAT:??_R3SUR_Generator_Zone@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_Generator_Zone@@6B@
CONST	SEGMENT
??_7SUR_Generator_Zone@@6B@ DD FLAT:??_R4SUR_Generator_Zone@@6B@ ; SUR_Generator_Zone::`vftable'
	DD	FLAT:??_ESUR_Generator_Zone@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SUR_Generator_Zone@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@SUR_Generator_Zone@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@SUR_Generator_Zone@@EAEXPAE0@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@SUR_Generator_Zone@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SUR_Generator_Zone@@QAE@XZ
_TEXT	SEGMENT
??0SUR_Generator_Zone@@QAE@XZ PROC			; SUR_Generator_Zone::SUR_Generator_Zone, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_Generator_Zone@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_Generator_Zone@@QAE@XZ ENDP			; SUR_Generator_Zone::SUR_Generator_Zone
_TEXT	ENDS
PUBLIC	??_7SUR_MiniGen@@6B@				; SUR_MiniGen::`vftable'
PUBLIC	??0SUR_MiniGen@@QAE@XZ				; SUR_MiniGen::SUR_MiniGen
PUBLIC	??_R4SUR_MiniGen@@6B@				; SUR_MiniGen::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_MiniGen@@@8				; SUR_MiniGen `RTTI Type Descriptor'
PUBLIC	??_R3SUR_MiniGen@@8				; SUR_MiniGen::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_MiniGen@@8				; SUR_MiniGen::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_MiniGen@@8			; SUR_MiniGen::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_MiniGen@@UAEPAXI@Z:PROC			; SUR_MiniGen::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SUR_MiniGen@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_MiniGen@@8 DD FLAT:??_R0?AVSUR_MiniGen@@@8 ; SUR_MiniGen::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_MiniGen@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_MiniGen@@8
rdata$r	SEGMENT
??_R2SUR_MiniGen@@8 DD FLAT:??_R1A@?0A@EA@SUR_MiniGen@@8 ; SUR_MiniGen::`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 ??_R3SUR_MiniGen@@8
rdata$r	SEGMENT
??_R3SUR_MiniGen@@8 DD 00H				; SUR_MiniGen::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_MiniGen@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_MiniGen@@@8
_DATA	SEGMENT
??_R0?AVSUR_MiniGen@@@8 DD FLAT:??_7type_info@@6B@	; SUR_MiniGen `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_MiniGen@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_MiniGen@@6B@
rdata$r	SEGMENT
??_R4SUR_MiniGen@@6B@ DD 00H				; SUR_MiniGen::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_MiniGen@@@8
	DD	FLAT:??_R3SUR_MiniGen@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_MiniGen@@6B@
CONST	SEGMENT
??_7SUR_MiniGen@@6B@ DD FLAT:??_R4SUR_MiniGen@@6B@	; SUR_MiniGen::`vftable'
	DD	FLAT:??_ESUR_MiniGen@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SUR_MiniGen@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@SUR_MiniGen@@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@SUR_MiniGen@@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 ??0SUR_MiniGen@@QAE@XZ
_TEXT	SEGMENT
??0SUR_MiniGen@@QAE@XZ PROC				; SUR_MiniGen::SUR_MiniGen, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_MiniGen@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_MiniGen@@QAE@XZ ENDP				; SUR_MiniGen::SUR_MiniGen
_TEXT	ENDS
PUBLIC	??_7SUR_NHB@@6B@				; SUR_NHB::`vftable'
PUBLIC	??0SUR_NHB@@QAE@XZ				; SUR_NHB::SUR_NHB
PUBLIC	??_R4SUR_NHB@@6B@				; SUR_NHB::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_NHB@@@8				; SUR_NHB `RTTI Type Descriptor'
PUBLIC	??_R3SUR_NHB@@8					; SUR_NHB::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_NHB@@8					; SUR_NHB::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_NHB@@8			; SUR_NHB::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_NHB@@UAEPAXI@Z:PROC			; SUR_NHB::`vector deleting destructor'
EXTRN	?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z:PROC	; ScriptImpClass::Timer_Expired
;	COMDAT ??_R1A@?0A@EA@SUR_NHB@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_NHB@@8 DD FLAT:??_R0?AVSUR_NHB@@@8	; SUR_NHB::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_NHB@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_NHB@@8
rdata$r	SEGMENT
??_R2SUR_NHB@@8 DD FLAT:??_R1A@?0A@EA@SUR_NHB@@8	; SUR_NHB::`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 ??_R3SUR_NHB@@8
rdata$r	SEGMENT
??_R3SUR_NHB@@8 DD 00H					; SUR_NHB::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_NHB@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_NHB@@@8
_DATA	SEGMENT
??_R0?AVSUR_NHB@@@8 DD FLAT:??_7type_info@@6B@		; SUR_NHB `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_NHB@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_NHB@@6B@
rdata$r	SEGMENT
??_R4SUR_NHB@@6B@ DD 00H				; SUR_NHB::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_NHB@@@8
	DD	FLAT:??_R3SUR_NHB@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_NHB@@6B@
CONST	SEGMENT
??_7SUR_NHB@@6B@ DD FLAT:??_R4SUR_NHB@@6B@		; SUR_NHB::`vftable'
	DD	FLAT:??_ESUR_NHB@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SUR_NHB@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@SUR_NHB@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@SUR_NHB@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SUR_NHB@@QAE@XZ
_TEXT	SEGMENT
??0SUR_NHB@@QAE@XZ PROC					; SUR_NHB::SUR_NHB, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_NHB@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_NHB@@QAE@XZ ENDP					; SUR_NHB::SUR_NHB
_TEXT	ENDS
PUBLIC	??_7SUR_NHB_Soldier@@6B@			; SUR_NHB_Soldier::`vftable'
PUBLIC	??0SUR_NHB_Soldier@@QAE@XZ			; SUR_NHB_Soldier::SUR_NHB_Soldier
PUBLIC	??_R4SUR_NHB_Soldier@@6B@			; SUR_NHB_Soldier::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_NHB_Soldier@@@8			; SUR_NHB_Soldier `RTTI Type Descriptor'
PUBLIC	??_R3SUR_NHB_Soldier@@8				; SUR_NHB_Soldier::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_NHB_Soldier@@8				; SUR_NHB_Soldier::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_NHB_Soldier@@8		; SUR_NHB_Soldier::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??1ScriptImpClass@@UAE@XZ:PROC			; ScriptImpClass::~ScriptImpClass
EXTRN	___CxxFrameHandler3:PROC
EXTRN	??_ESUR_NHB_Soldier@@UAEPAXI@Z:PROC		; SUR_NHB_Soldier::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SUR_NHB_Soldier@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_NHB_Soldier@@8 DD FLAT:??_R0?AVSUR_NHB_Soldier@@@8 ; SUR_NHB_Soldier::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_NHB_Soldier@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_NHB_Soldier@@8
rdata$r	SEGMENT
??_R2SUR_NHB_Soldier@@8 DD FLAT:??_R1A@?0A@EA@SUR_NHB_Soldier@@8 ; SUR_NHB_Soldier::`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 ??_R3SUR_NHB_Soldier@@8
rdata$r	SEGMENT
??_R3SUR_NHB_Soldier@@8 DD 00H				; SUR_NHB_Soldier::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_NHB_Soldier@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_NHB_Soldier@@@8
_DATA	SEGMENT
??_R0?AVSUR_NHB_Soldier@@@8 DD FLAT:??_7type_info@@6B@	; SUR_NHB_Soldier `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_NHB_Soldier@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_NHB_Soldier@@6B@
rdata$r	SEGMENT
??_R4SUR_NHB_Soldier@@6B@ DD 00H			; SUR_NHB_Soldier::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_NHB_Soldier@@@8
	DD	FLAT:??_R3SUR_NHB_Soldier@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_NHB_Soldier@@6B@
CONST	SEGMENT
??_7SUR_NHB_Soldier@@6B@ DD FLAT:??_R4SUR_NHB_Soldier@@6B@ ; SUR_NHB_Soldier::`vftable'
	DD	FLAT:??_ESUR_NHB_Soldier@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SUR_NHB_Soldier@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@SUR_NHB_Soldier@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@SUR_NHB_Soldier@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@SUR_NHB_Soldier@@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@SUR_NHB_Soldier@@EAEXXZ
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0SUR_NHB_Soldier@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0SUR_NHB_Soldier@@QAE@XZ$0
__ehfuncinfo$??0SUR_NHB_Soldier@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0SUR_NHB_Soldier@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0SUR_NHB_Soldier@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0SUR_NHB_Soldier@@QAE@XZ PROC				; SUR_NHB_Soldier::SUR_NHB_Soldier, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0SUR_NHB_Soldier@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR [esi+32]
	fstp	DWORD PTR [esp]
	mov	DWORD PTR __$EHRec$[esp+40], 0
	mov	DWORD PTR [esi], OFFSET ??_7SUR_NHB_Soldier@@6B@
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	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$??0SUR_NHB_Soldier@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
__ehhandler$??0SUR_NHB_Soldier@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0SUR_NHB_Soldier@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0SUR_NHB_Soldier@@QAE@XZ ENDP				; SUR_NHB_Soldier::SUR_NHB_Soldier
PUBLIC	??_7SUR_Obj_Destroyer@@6B@			; SUR_Obj_Destroyer::`vftable'
PUBLIC	??0SUR_Obj_Destroyer@@QAE@XZ			; SUR_Obj_Destroyer::SUR_Obj_Destroyer
PUBLIC	??_R4SUR_Obj_Destroyer@@6B@			; SUR_Obj_Destroyer::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_Obj_Destroyer@@@8			; SUR_Obj_Destroyer `RTTI Type Descriptor'
PUBLIC	??_R3SUR_Obj_Destroyer@@8			; SUR_Obj_Destroyer::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_Obj_Destroyer@@8			; SUR_Obj_Destroyer::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_Obj_Destroyer@@8		; SUR_Obj_Destroyer::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_Obj_Destroyer@@UAEPAXI@Z:PROC		; SUR_Obj_Destroyer::`vector deleting destructor'
EXTRN	?Created@ScriptImpClass@@UAEXPAE@Z:PROC		; ScriptImpClass::Created
;	COMDAT ??_R1A@?0A@EA@SUR_Obj_Destroyer@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_Obj_Destroyer@@8 DD FLAT:??_R0?AVSUR_Obj_Destroyer@@@8 ; SUR_Obj_Destroyer::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_Obj_Destroyer@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_Obj_Destroyer@@8
rdata$r	SEGMENT
??_R2SUR_Obj_Destroyer@@8 DD FLAT:??_R1A@?0A@EA@SUR_Obj_Destroyer@@8 ; SUR_Obj_Destroyer::`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 ??_R3SUR_Obj_Destroyer@@8
rdata$r	SEGMENT
??_R3SUR_Obj_Destroyer@@8 DD 00H			; SUR_Obj_Destroyer::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_Obj_Destroyer@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_Obj_Destroyer@@@8
_DATA	SEGMENT
??_R0?AVSUR_Obj_Destroyer@@@8 DD FLAT:??_7type_info@@6B@ ; SUR_Obj_Destroyer `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_Obj_Destroyer@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_Obj_Destroyer@@6B@
rdata$r	SEGMENT
??_R4SUR_Obj_Destroyer@@6B@ DD 00H			; SUR_Obj_Destroyer::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_Obj_Destroyer@@@8
	DD	FLAT:??_R3SUR_Obj_Destroyer@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_Obj_Destroyer@@6B@
CONST	SEGMENT
??_7SUR_Obj_Destroyer@@6B@ DD FLAT:??_R4SUR_Obj_Destroyer@@6B@ ; SUR_Obj_Destroyer::`vftable'
	DD	FLAT:??_ESUR_Obj_Destroyer@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SUR_Obj_Destroyer@@QAE@XZ
_TEXT	SEGMENT
??0SUR_Obj_Destroyer@@QAE@XZ PROC			; SUR_Obj_Destroyer::SUR_Obj_Destroyer, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_Obj_Destroyer@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_Obj_Destroyer@@QAE@XZ ENDP			; SUR_Obj_Destroyer::SUR_Obj_Destroyer
_TEXT	ENDS
PUBLIC	??_7SUR_New_PT@@6B@				; SUR_New_PT::`vftable'
PUBLIC	??0SUR_New_PT@@QAE@XZ				; SUR_New_PT::SUR_New_PT
PUBLIC	??_R4SUR_New_PT@@6B@				; SUR_New_PT::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_New_PT@@@8				; SUR_New_PT `RTTI Type Descriptor'
PUBLIC	??_R3SUR_New_PT@@8				; SUR_New_PT::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_New_PT@@8				; SUR_New_PT::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_New_PT@@8			; SUR_New_PT::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_New_PT@@UAEPAXI@Z:PROC			; SUR_New_PT::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SUR_New_PT@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_New_PT@@8 DD FLAT:??_R0?AVSUR_New_PT@@@8 ; SUR_New_PT::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_New_PT@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_New_PT@@8
rdata$r	SEGMENT
??_R2SUR_New_PT@@8 DD FLAT:??_R1A@?0A@EA@SUR_New_PT@@8	; SUR_New_PT::`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 ??_R3SUR_New_PT@@8
rdata$r	SEGMENT
??_R3SUR_New_PT@@8 DD 00H				; SUR_New_PT::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_New_PT@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_New_PT@@@8
_DATA	SEGMENT
??_R0?AVSUR_New_PT@@@8 DD FLAT:??_7type_info@@6B@	; SUR_New_PT `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_New_PT@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_New_PT@@6B@
rdata$r	SEGMENT
??_R4SUR_New_PT@@6B@ DD 00H				; SUR_New_PT::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_New_PT@@@8
	DD	FLAT:??_R3SUR_New_PT@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_New_PT@@6B@
CONST	SEGMENT
??_7SUR_New_PT@@6B@ DD FLAT:??_R4SUR_New_PT@@6B@	; SUR_New_PT::`vftable'
	DD	FLAT:??_ESUR_New_PT@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@SUR_New_PT@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SUR_New_PT@@QAE@XZ
_TEXT	SEGMENT
??0SUR_New_PT@@QAE@XZ PROC				; SUR_New_PT::SUR_New_PT, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_New_PT@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_New_PT@@QAE@XZ ENDP				; SUR_New_PT::SUR_New_PT
_TEXT	ENDS
PUBLIC	??_7SUR_New_PT_Reciever@@6B@			; SUR_New_PT_Reciever::`vftable'
PUBLIC	??0SUR_New_PT_Reciever@@QAE@XZ			; SUR_New_PT_Reciever::SUR_New_PT_Reciever
PUBLIC	??_R4SUR_New_PT_Reciever@@6B@			; SUR_New_PT_Reciever::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_New_PT_Reciever@@@8			; SUR_New_PT_Reciever `RTTI Type Descriptor'
PUBLIC	??_R3SUR_New_PT_Reciever@@8			; SUR_New_PT_Reciever::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_New_PT_Reciever@@8			; SUR_New_PT_Reciever::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_New_PT_Reciever@@8		; SUR_New_PT_Reciever::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_New_PT_Reciever@@UAEPAXI@Z:PROC		; SUR_New_PT_Reciever::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SUR_New_PT_Reciever@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_New_PT_Reciever@@8 DD FLAT:??_R0?AVSUR_New_PT_Reciever@@@8 ; SUR_New_PT_Reciever::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_New_PT_Reciever@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_New_PT_Reciever@@8
rdata$r	SEGMENT
??_R2SUR_New_PT_Reciever@@8 DD FLAT:??_R1A@?0A@EA@SUR_New_PT_Reciever@@8 ; SUR_New_PT_Reciever::`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 ??_R3SUR_New_PT_Reciever@@8
rdata$r	SEGMENT
??_R3SUR_New_PT_Reciever@@8 DD 00H			; SUR_New_PT_Reciever::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_New_PT_Reciever@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_New_PT_Reciever@@@8
_DATA	SEGMENT
??_R0?AVSUR_New_PT_Reciever@@@8 DD FLAT:??_7type_info@@6B@ ; SUR_New_PT_Reciever `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_New_PT_Reciever@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_New_PT_Reciever@@6B@
rdata$r	SEGMENT
??_R4SUR_New_PT_Reciever@@6B@ DD 00H			; SUR_New_PT_Reciever::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_New_PT_Reciever@@@8
	DD	FLAT:??_R3SUR_New_PT_Reciever@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_New_PT_Reciever@@6B@
CONST	SEGMENT
??_7SUR_New_PT_Reciever@@6B@ DD FLAT:??_R4SUR_New_PT_Reciever@@6B@ ; SUR_New_PT_Reciever::`vftable'
	DD	FLAT:??_ESUR_New_PT_Reciever@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@SUR_New_PT_Reciever@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SUR_New_PT_Reciever@@QAE@XZ
_TEXT	SEGMENT
??0SUR_New_PT_Reciever@@QAE@XZ PROC			; SUR_New_PT_Reciever::SUR_New_PT_Reciever, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_New_PT_Reciever@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_New_PT_Reciever@@QAE@XZ ENDP			; SUR_New_PT_Reciever::SUR_New_PT_Reciever
_TEXT	ENDS
PUBLIC	??_7SUR_APC_AI@@6B@				; SUR_APC_AI::`vftable'
PUBLIC	??0SUR_APC_AI@@QAE@XZ				; SUR_APC_AI::SUR_APC_AI
PUBLIC	??_R4SUR_APC_AI@@6B@				; SUR_APC_AI::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_APC_AI@@@8				; SUR_APC_AI `RTTI Type Descriptor'
PUBLIC	??_R3SUR_APC_AI@@8				; SUR_APC_AI::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_APC_AI@@8				; SUR_APC_AI::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_APC_AI@@8			; SUR_APC_AI::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_APC_AI@@UAEPAXI@Z:PROC			; SUR_APC_AI::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SUR_APC_AI@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_APC_AI@@8 DD FLAT:??_R0?AVSUR_APC_AI@@@8 ; SUR_APC_AI::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_APC_AI@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_APC_AI@@8
rdata$r	SEGMENT
??_R2SUR_APC_AI@@8 DD FLAT:??_R1A@?0A@EA@SUR_APC_AI@@8	; SUR_APC_AI::`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 ??_R3SUR_APC_AI@@8
rdata$r	SEGMENT
??_R3SUR_APC_AI@@8 DD 00H				; SUR_APC_AI::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_APC_AI@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_APC_AI@@@8
_DATA	SEGMENT
??_R0?AVSUR_APC_AI@@@8 DD FLAT:??_7type_info@@6B@	; SUR_APC_AI `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_APC_AI@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_APC_AI@@6B@
rdata$r	SEGMENT
??_R4SUR_APC_AI@@6B@ DD 00H				; SUR_APC_AI::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_APC_AI@@@8
	DD	FLAT:??_R3SUR_APC_AI@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_APC_AI@@6B@
CONST	SEGMENT
??_7SUR_APC_AI@@6B@ DD FLAT:??_R4SUR_APC_AI@@6B@	; SUR_APC_AI::`vftable'
	DD	FLAT:??_ESUR_APC_AI@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SUR_APC_AI@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@SUR_APC_AI@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@SUR_APC_AI@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SUR_APC_AI@@QAE@XZ
_TEXT	SEGMENT
??0SUR_APC_AI@@QAE@XZ PROC				; SUR_APC_AI::SUR_APC_AI, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_APC_AI@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_APC_AI@@QAE@XZ ENDP				; SUR_APC_AI::SUR_APC_AI
_TEXT	ENDS
PUBLIC	??_7SUR_Orca_AI@@6B@				; SUR_Orca_AI::`vftable'
PUBLIC	??0SUR_Orca_AI@@QAE@XZ				; SUR_Orca_AI::SUR_Orca_AI
PUBLIC	??_R4SUR_Orca_AI@@6B@				; SUR_Orca_AI::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_Orca_AI@@@8				; SUR_Orca_AI `RTTI Type Descriptor'
PUBLIC	??_R3SUR_Orca_AI@@8				; SUR_Orca_AI::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_Orca_AI@@8				; SUR_Orca_AI::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_Orca_AI@@8			; SUR_Orca_AI::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_Orca_AI@@UAEPAXI@Z:PROC			; SUR_Orca_AI::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SUR_Orca_AI@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_Orca_AI@@8 DD FLAT:??_R0?AVSUR_Orca_AI@@@8 ; SUR_Orca_AI::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_Orca_AI@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_Orca_AI@@8
rdata$r	SEGMENT
??_R2SUR_Orca_AI@@8 DD FLAT:??_R1A@?0A@EA@SUR_Orca_AI@@8 ; SUR_Orca_AI::`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 ??_R3SUR_Orca_AI@@8
rdata$r	SEGMENT
??_R3SUR_Orca_AI@@8 DD 00H				; SUR_Orca_AI::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_Orca_AI@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_Orca_AI@@@8
_DATA	SEGMENT
??_R0?AVSUR_Orca_AI@@@8 DD FLAT:??_7type_info@@6B@	; SUR_Orca_AI `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_Orca_AI@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_Orca_AI@@6B@
rdata$r	SEGMENT
??_R4SUR_Orca_AI@@6B@ DD 00H				; SUR_Orca_AI::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_Orca_AI@@@8
	DD	FLAT:??_R3SUR_Orca_AI@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_Orca_AI@@6B@
CONST	SEGMENT
??_7SUR_Orca_AI@@6B@ DD FLAT:??_R4SUR_Orca_AI@@6B@	; SUR_Orca_AI::`vftable'
	DD	FLAT:??_ESUR_Orca_AI@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SUR_Orca_AI@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@SUR_Orca_AI@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@SUR_Orca_AI@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SUR_Orca_AI@@QAE@XZ
_TEXT	SEGMENT
??0SUR_Orca_AI@@QAE@XZ PROC				; SUR_Orca_AI::SUR_Orca_AI, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_Orca_AI@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_Orca_AI@@QAE@XZ ENDP				; SUR_Orca_AI::SUR_Orca_AI
_TEXT	ENDS
PUBLIC	??_7SUR_Chinook_AI@@6B@				; SUR_Chinook_AI::`vftable'
PUBLIC	??0SUR_Chinook_AI@@QAE@XZ			; SUR_Chinook_AI::SUR_Chinook_AI
PUBLIC	??_R4SUR_Chinook_AI@@6B@			; SUR_Chinook_AI::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_Chinook_AI@@@8			; SUR_Chinook_AI `RTTI Type Descriptor'
PUBLIC	??_R3SUR_Chinook_AI@@8				; SUR_Chinook_AI::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_Chinook_AI@@8				; SUR_Chinook_AI::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_Chinook_AI@@8			; SUR_Chinook_AI::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_Chinook_AI@@UAEPAXI@Z:PROC		; SUR_Chinook_AI::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SUR_Chinook_AI@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_Chinook_AI@@8 DD FLAT:??_R0?AVSUR_Chinook_AI@@@8 ; SUR_Chinook_AI::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_Chinook_AI@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_Chinook_AI@@8
rdata$r	SEGMENT
??_R2SUR_Chinook_AI@@8 DD FLAT:??_R1A@?0A@EA@SUR_Chinook_AI@@8 ; SUR_Chinook_AI::`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 ??_R3SUR_Chinook_AI@@8
rdata$r	SEGMENT
??_R3SUR_Chinook_AI@@8 DD 00H				; SUR_Chinook_AI::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_Chinook_AI@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_Chinook_AI@@@8
_DATA	SEGMENT
??_R0?AVSUR_Chinook_AI@@@8 DD FLAT:??_7type_info@@6B@	; SUR_Chinook_AI `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_Chinook_AI@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_Chinook_AI@@6B@
rdata$r	SEGMENT
??_R4SUR_Chinook_AI@@6B@ DD 00H				; SUR_Chinook_AI::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_Chinook_AI@@@8
	DD	FLAT:??_R3SUR_Chinook_AI@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_Chinook_AI@@6B@
CONST	SEGMENT
??_7SUR_Chinook_AI@@6B@ DD FLAT:??_R4SUR_Chinook_AI@@6B@ ; SUR_Chinook_AI::`vftable'
	DD	FLAT:??_ESUR_Chinook_AI@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@SUR_Chinook_AI@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SUR_Chinook_AI@@QAE@XZ
_TEXT	SEGMENT
??0SUR_Chinook_AI@@QAE@XZ PROC				; SUR_Chinook_AI::SUR_Chinook_AI, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_Chinook_AI@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_Chinook_AI@@QAE@XZ ENDP				; SUR_Chinook_AI::SUR_Chinook_AI
_TEXT	ENDS
PUBLIC	??_7SUR_Dep_Turret@@6B@				; SUR_Dep_Turret::`vftable'
PUBLIC	??0SUR_Dep_Turret@@QAE@XZ			; SUR_Dep_Turret::SUR_Dep_Turret
PUBLIC	??_R4SUR_Dep_Turret@@6B@			; SUR_Dep_Turret::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_Dep_Turret@@@8			; SUR_Dep_Turret `RTTI Type Descriptor'
PUBLIC	??_R3SUR_Dep_Turret@@8				; SUR_Dep_Turret::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_Dep_Turret@@8				; SUR_Dep_Turret::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_Dep_Turret@@8			; SUR_Dep_Turret::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_Dep_Turret@@UAEPAXI@Z:PROC		; SUR_Dep_Turret::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SUR_Dep_Turret@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_Dep_Turret@@8 DD FLAT:??_R0?AVSUR_Dep_Turret@@@8 ; SUR_Dep_Turret::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_Dep_Turret@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_Dep_Turret@@8
rdata$r	SEGMENT
??_R2SUR_Dep_Turret@@8 DD FLAT:??_R1A@?0A@EA@SUR_Dep_Turret@@8 ; SUR_Dep_Turret::`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 ??_R3SUR_Dep_Turret@@8
rdata$r	SEGMENT
??_R3SUR_Dep_Turret@@8 DD 00H				; SUR_Dep_Turret::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_Dep_Turret@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_Dep_Turret@@@8
_DATA	SEGMENT
??_R0?AVSUR_Dep_Turret@@@8 DD FLAT:??_7type_info@@6B@	; SUR_Dep_Turret `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_Dep_Turret@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_Dep_Turret@@6B@
rdata$r	SEGMENT
??_R4SUR_Dep_Turret@@6B@ DD 00H				; SUR_Dep_Turret::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_Dep_Turret@@@8
	DD	FLAT:??_R3SUR_Dep_Turret@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_Dep_Turret@@6B@
CONST	SEGMENT
??_7SUR_Dep_Turret@@6B@ DD FLAT:??_R4SUR_Dep_Turret@@6B@ ; SUR_Dep_Turret::`vftable'
	DD	FLAT:??_ESUR_Dep_Turret@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SUR_Dep_Turret@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@SUR_Dep_Turret@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@SUR_Dep_Turret@@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@SUR_Dep_Turret@@EAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SUR_Dep_Turret@@QAE@XZ
_TEXT	SEGMENT
??0SUR_Dep_Turret@@QAE@XZ PROC				; SUR_Dep_Turret::SUR_Dep_Turret, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_Dep_Turret@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_Dep_Turret@@QAE@XZ ENDP				; SUR_Dep_Turret::SUR_Dep_Turret
_TEXT	ENDS
PUBLIC	??_7SUR_Timed_Death@@6B@			; SUR_Timed_Death::`vftable'
PUBLIC	??0SUR_Timed_Death@@QAE@XZ			; SUR_Timed_Death::SUR_Timed_Death
PUBLIC	??_R4SUR_Timed_Death@@6B@			; SUR_Timed_Death::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_Timed_Death@@@8			; SUR_Timed_Death `RTTI Type Descriptor'
PUBLIC	??_R3SUR_Timed_Death@@8				; SUR_Timed_Death::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_Timed_Death@@8				; SUR_Timed_Death::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_Timed_Death@@8		; SUR_Timed_Death::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_Timed_Death@@UAEPAXI@Z:PROC		; SUR_Timed_Death::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SUR_Timed_Death@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_Timed_Death@@8 DD FLAT:??_R0?AVSUR_Timed_Death@@@8 ; SUR_Timed_Death::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_Timed_Death@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_Timed_Death@@8
rdata$r	SEGMENT
??_R2SUR_Timed_Death@@8 DD FLAT:??_R1A@?0A@EA@SUR_Timed_Death@@8 ; SUR_Timed_Death::`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 ??_R3SUR_Timed_Death@@8
rdata$r	SEGMENT
??_R3SUR_Timed_Death@@8 DD 00H				; SUR_Timed_Death::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_Timed_Death@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_Timed_Death@@@8
_DATA	SEGMENT
??_R0?AVSUR_Timed_Death@@@8 DD FLAT:??_7type_info@@6B@	; SUR_Timed_Death `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_Timed_Death@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_Timed_Death@@6B@
rdata$r	SEGMENT
??_R4SUR_Timed_Death@@6B@ DD 00H			; SUR_Timed_Death::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_Timed_Death@@@8
	DD	FLAT:??_R3SUR_Timed_Death@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_Timed_Death@@6B@
CONST	SEGMENT
??_7SUR_Timed_Death@@6B@ DD FLAT:??_R4SUR_Timed_Death@@6B@ ; SUR_Timed_Death::`vftable'
	DD	FLAT:??_ESUR_Timed_Death@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@SUR_Timed_Death@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@SUR_Timed_Death@@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 ??0SUR_Timed_Death@@QAE@XZ
_TEXT	SEGMENT
??0SUR_Timed_Death@@QAE@XZ PROC				; SUR_Timed_Death::SUR_Timed_Death, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_Timed_Death@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_Timed_Death@@QAE@XZ ENDP				; SUR_Timed_Death::SUR_Timed_Death
_TEXT	ENDS
PUBLIC	??_7SUR_GrantPowerup_OnEntry@@6B@		; SUR_GrantPowerup_OnEntry::`vftable'
PUBLIC	??0SUR_GrantPowerup_OnEntry@@QAE@XZ		; SUR_GrantPowerup_OnEntry::SUR_GrantPowerup_OnEntry
PUBLIC	??_R4SUR_GrantPowerup_OnEntry@@6B@		; SUR_GrantPowerup_OnEntry::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSUR_GrantPowerup_OnEntry@@@8		; SUR_GrantPowerup_OnEntry `RTTI Type Descriptor'
PUBLIC	??_R3SUR_GrantPowerup_OnEntry@@8		; SUR_GrantPowerup_OnEntry::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SUR_GrantPowerup_OnEntry@@8		; SUR_GrantPowerup_OnEntry::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SUR_GrantPowerup_OnEntry@@8	; SUR_GrantPowerup_OnEntry::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ESUR_GrantPowerup_OnEntry@@UAEPAXI@Z:PROC	; SUR_GrantPowerup_OnEntry::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@SUR_GrantPowerup_OnEntry@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SUR_GrantPowerup_OnEntry@@8 DD FLAT:??_R0?AVSUR_GrantPowerup_OnEntry@@@8 ; SUR_GrantPowerup_OnEntry::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SUR_GrantPowerup_OnEntry@@8
rdata$r	ENDS
;	COMDAT ??_R2SUR_GrantPowerup_OnEntry@@8
rdata$r	SEGMENT
??_R2SUR_GrantPowerup_OnEntry@@8 DD FLAT:??_R1A@?0A@EA@SUR_GrantPowerup_OnEntry@@8 ; SUR_GrantPowerup_OnEntry::`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 ??_R3SUR_GrantPowerup_OnEntry@@8
rdata$r	SEGMENT
??_R3SUR_GrantPowerup_OnEntry@@8 DD 00H			; SUR_GrantPowerup_OnEntry::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2SUR_GrantPowerup_OnEntry@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSUR_GrantPowerup_OnEntry@@@8
_DATA	SEGMENT
??_R0?AVSUR_GrantPowerup_OnEntry@@@8 DD FLAT:??_7type_info@@6B@ ; SUR_GrantPowerup_OnEntry `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSUR_GrantPowerup_OnEntry@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SUR_GrantPowerup_OnEntry@@6B@
rdata$r	SEGMENT
??_R4SUR_GrantPowerup_OnEntry@@6B@ DD 00H		; SUR_GrantPowerup_OnEntry::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSUR_GrantPowerup_OnEntry@@@8
	DD	FLAT:??_R3SUR_GrantPowerup_OnEntry@@8
rdata$r	ENDS
;	COMDAT ??_7SUR_GrantPowerup_OnEntry@@6B@
CONST	SEGMENT
??_7SUR_GrantPowerup_OnEntry@@6B@ DD FLAT:??_R4SUR_GrantPowerup_OnEntry@@6B@ ; SUR_GrantPowerup_OnEntry::`vftable'
	DD	FLAT:??_ESUR_GrantPowerup_OnEntry@@UAEPAXI@Z
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@SUR_GrantPowerup_OnEntry@@EAEXPAE0@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 ??0SUR_GrantPowerup_OnEntry@@QAE@XZ
_TEXT	SEGMENT
??0SUR_GrantPowerup_OnEntry@@QAE@XZ PROC		; SUR_GrantPowerup_OnEntry::SUR_GrantPowerup_OnEntry, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7SUR_GrantPowerup_OnEntry@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SUR_GrantPowerup_OnEntry@@QAE@XZ ENDP		; SUR_GrantPowerup_OnEntry::SUR_GrantPowerup_OnEntry
_TEXT	ENDS
PUBLIC	??1SUR_Spawn_Delay@@UAE@XZ			; SUR_Spawn_Delay::~SUR_Spawn_Delay
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_Spawn_Delay@@UAE@XZ
_TEXT	SEGMENT
??1SUR_Spawn_Delay@@UAE@XZ PROC				; SUR_Spawn_Delay::~SUR_Spawn_Delay, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_Spawn_Delay@@UAE@XZ ENDP				; SUR_Spawn_Delay::~SUR_Spawn_Delay
_TEXT	ENDS
PUBLIC	??1SUR_Generator_Zone@@UAE@XZ			; SUR_Generator_Zone::~SUR_Generator_Zone
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_Generator_Zone@@UAE@XZ
_TEXT	SEGMENT
??1SUR_Generator_Zone@@UAE@XZ PROC			; SUR_Generator_Zone::~SUR_Generator_Zone, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_Generator_Zone@@UAE@XZ ENDP			; SUR_Generator_Zone::~SUR_Generator_Zone
_TEXT	ENDS
PUBLIC	??1SUR_MiniGen@@UAE@XZ				; SUR_MiniGen::~SUR_MiniGen
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_MiniGen@@UAE@XZ
_TEXT	SEGMENT
??1SUR_MiniGen@@UAE@XZ PROC				; SUR_MiniGen::~SUR_MiniGen, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_MiniGen@@UAE@XZ ENDP				; SUR_MiniGen::~SUR_MiniGen
_TEXT	ENDS
PUBLIC	??1SUR_NHB@@UAE@XZ				; SUR_NHB::~SUR_NHB
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_NHB@@UAE@XZ
_TEXT	SEGMENT
??1SUR_NHB@@UAE@XZ PROC					; SUR_NHB::~SUR_NHB, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_NHB@@UAE@XZ ENDP					; SUR_NHB::~SUR_NHB
_TEXT	ENDS
PUBLIC	??1SUR_NHB_Soldier@@UAE@XZ			; SUR_NHB_Soldier::~SUR_NHB_Soldier
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_NHB_Soldier@@UAE@XZ
_TEXT	SEGMENT
??1SUR_NHB_Soldier@@UAE@XZ PROC				; SUR_NHB_Soldier::~SUR_NHB_Soldier, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_NHB_Soldier@@UAE@XZ ENDP				; SUR_NHB_Soldier::~SUR_NHB_Soldier
_TEXT	ENDS
PUBLIC	??1SUR_Obj_Destroyer@@UAE@XZ			; SUR_Obj_Destroyer::~SUR_Obj_Destroyer
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_Obj_Destroyer@@UAE@XZ
_TEXT	SEGMENT
??1SUR_Obj_Destroyer@@UAE@XZ PROC			; SUR_Obj_Destroyer::~SUR_Obj_Destroyer, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_Obj_Destroyer@@UAE@XZ ENDP			; SUR_Obj_Destroyer::~SUR_Obj_Destroyer
_TEXT	ENDS
PUBLIC	??1SUR_New_PT@@UAE@XZ				; SUR_New_PT::~SUR_New_PT
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_New_PT@@UAE@XZ
_TEXT	SEGMENT
??1SUR_New_PT@@UAE@XZ PROC				; SUR_New_PT::~SUR_New_PT, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_New_PT@@UAE@XZ ENDP				; SUR_New_PT::~SUR_New_PT
_TEXT	ENDS
PUBLIC	??1SUR_New_PT_Reciever@@UAE@XZ			; SUR_New_PT_Reciever::~SUR_New_PT_Reciever
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_New_PT_Reciever@@UAE@XZ
_TEXT	SEGMENT
??1SUR_New_PT_Reciever@@UAE@XZ PROC			; SUR_New_PT_Reciever::~SUR_New_PT_Reciever, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_New_PT_Reciever@@UAE@XZ ENDP			; SUR_New_PT_Reciever::~SUR_New_PT_Reciever
_TEXT	ENDS
PUBLIC	??1SUR_APC_AI@@UAE@XZ				; SUR_APC_AI::~SUR_APC_AI
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_APC_AI@@UAE@XZ
_TEXT	SEGMENT
??1SUR_APC_AI@@UAE@XZ PROC				; SUR_APC_AI::~SUR_APC_AI, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_APC_AI@@UAE@XZ ENDP				; SUR_APC_AI::~SUR_APC_AI
_TEXT	ENDS
PUBLIC	??1SUR_Orca_AI@@UAE@XZ				; SUR_Orca_AI::~SUR_Orca_AI
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_Orca_AI@@UAE@XZ
_TEXT	SEGMENT
??1SUR_Orca_AI@@UAE@XZ PROC				; SUR_Orca_AI::~SUR_Orca_AI, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_Orca_AI@@UAE@XZ ENDP				; SUR_Orca_AI::~SUR_Orca_AI
_TEXT	ENDS
PUBLIC	??1SUR_Chinook_AI@@UAE@XZ			; SUR_Chinook_AI::~SUR_Chinook_AI
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_Chinook_AI@@UAE@XZ
_TEXT	SEGMENT
??1SUR_Chinook_AI@@UAE@XZ PROC				; SUR_Chinook_AI::~SUR_Chinook_AI, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_Chinook_AI@@UAE@XZ ENDP				; SUR_Chinook_AI::~SUR_Chinook_AI
_TEXT	ENDS
PUBLIC	??1SUR_Dep_Turret@@UAE@XZ			; SUR_Dep_Turret::~SUR_Dep_Turret
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_Dep_Turret@@UAE@XZ
_TEXT	SEGMENT
??1SUR_Dep_Turret@@UAE@XZ PROC				; SUR_Dep_Turret::~SUR_Dep_Turret, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_Dep_Turret@@UAE@XZ ENDP				; SUR_Dep_Turret::~SUR_Dep_Turret
_TEXT	ENDS
PUBLIC	??1SUR_Timed_Death@@UAE@XZ			; SUR_Timed_Death::~SUR_Timed_Death
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_Timed_Death@@UAE@XZ
_TEXT	SEGMENT
??1SUR_Timed_Death@@UAE@XZ PROC				; SUR_Timed_Death::~SUR_Timed_Death, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_Timed_Death@@UAE@XZ ENDP				; SUR_Timed_Death::~SUR_Timed_Death
_TEXT	ENDS
PUBLIC	??1SUR_GrantPowerup_OnEntry@@UAE@XZ		; SUR_GrantPowerup_OnEntry::~SUR_GrantPowerup_OnEntry
; Function compile flags: /Ogtpy
;	COMDAT ??1SUR_GrantPowerup_OnEntry@@UAE@XZ
_TEXT	SEGMENT
??1SUR_GrantPowerup_OnEntry@@UAE@XZ PROC		; SUR_GrantPowerup_OnEntry::~SUR_GrantPowerup_OnEntry, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1SUR_GrantPowerup_OnEntry@@UAE@XZ ENDP		; SUR_GrantPowerup_OnEntry::~SUR_GrantPowerup_OnEntry
_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@_0DA@GODKEOJD@ScriptRegistrant?$DMclass?5SUR_Spawn@ ; `string'
EXTRN	??2@YAPAXI@Z:PROC				; operator new
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
;	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@_0DA@GODKEOJD@ScriptRegistrant?$DMclass?5SUR_Spawn@
CONST	SEGMENT
??_C@_0DA@GODKEOJD@ScriptRegistrant?$DMclass?5SUR_Spawn@ DB 'ScriptRegist'
	DB	'rant<class SUR_Spawn_Delay>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25712 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_Spawn_Delay>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@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@_0DA@GODKEOJD@ScriptRegistrant?$DMclass?5SUR_Spawn@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T25712[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 ??_7SUR_Spawn_Delay@@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@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25712[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_Spawn_Delay@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_Spawn_Delay>::Create
PUBLIC	??_C@_0DD@IBJAKMHL@ScriptRegistrant?$DMclass?5SUR_Gener@ ; `string'
;	COMDAT ??_C@_0DD@IBJAKMHL@ScriptRegistrant?$DMclass?5SUR_Gener@
CONST	SEGMENT
??_C@_0DD@IBJAKMHL@ScriptRegistrant?$DMclass?5SUR_Gener@ DB 'ScriptRegist'
	DB	'rant<class SUR_Generator_Zone>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25735 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_Generator_Zone>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_Generator_Zone@@@@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@_0DD@IBJAKMHL@ScriptRegistrant?$DMclass?5SUR_Gener@
	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	36					; 00000024H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T25735[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 ??_7SUR_Generator_Zone@@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@VSUR_Generator_Zone@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25735[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_Generator_Zone@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_Generator_Zone>::Create
PUBLIC	??_C@_0CM@LLEDJECK@ScriptRegistrant?$DMclass?5SUR_MiniG@ ; `string'
;	COMDAT ??_C@_0CM@LLEDJECK@ScriptRegistrant?$DMclass?5SUR_MiniG@
CONST	SEGMENT
??_C@_0CM@LLEDJECK@ScriptRegistrant?$DMclass?5SUR_MiniG@ DB 'ScriptRegist'
	DB	'rant<class SUR_MiniGen>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_MiniGen@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_MiniGen@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_MiniGen@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_MiniGen@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_MiniGen@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25758 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_MiniGen@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_MiniGen>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_MiniGen@@@@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@_0CM@LLEDJECK@ScriptRegistrant?$DMclass?5SUR_MiniG@
	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 $T25758[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 ??_7SUR_MiniGen@@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@VSUR_MiniGen@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25758[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_MiniGen@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_MiniGen@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_MiniGen@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_MiniGen>::Create
PUBLIC	??_C@_0CI@LNPJCONE@ScriptRegistrant?$DMclass?5SUR_NHB?$DO?3@ ; `string'
;	COMDAT ??_C@_0CI@LNPJCONE@ScriptRegistrant?$DMclass?5SUR_NHB?$DO?3@
CONST	SEGMENT
??_C@_0CI@LNPJCONE@ScriptRegistrant?$DMclass?5SUR_NHB?$DO?3@ DB 'ScriptRe'
	DB	'gistrant<class SUR_NHB>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_NHB@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_NHB@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_NHB@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_NHB@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_NHB@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25781 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_NHB@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_NHB>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_NHB@@@@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@_0CI@LNPJCONE@ScriptRegistrant?$DMclass?5SUR_NHB?$DO?3@
	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	92					; 0000005cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T25781[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 ??_7SUR_NHB@@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@VSUR_NHB@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25781[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_NHB@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_NHB@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_NHB@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_NHB>::Create
PUBLIC	??_C@_0DA@BIDEEIAA@ScriptRegistrant?$DMclass?5SUR_NHB_S@ ; `string'
;	COMDAT ??_C@_0DA@BIDEEIAA@ScriptRegistrant?$DMclass?5SUR_NHB_S@
CONST	SEGMENT
??_C@_0DA@BIDEEIAA@ScriptRegistrant?$DMclass?5SUR_NHB_S@ DB 'ScriptRegist'
	DB	'rant<class SUR_NHB_Soldier>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25804 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_NHB_Soldier>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_NHB_Soldier@@@@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@_0DA@BIDEEIAA@ScriptRegistrant?$DMclass?5SUR_NHB_S@
	push	488					; 000001e8H
	push	OFFSET ??_C@_0BO@INLPCLGJ@d?3?2source?5code?2stgm?2scripts?4h?$AA@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	48					; 00000030H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T25804[esp+24], eax
	xor	esi, esi
	cmp	eax, esi
	mov	DWORD PTR __$EHRec$[esp+32], esi
	je	SHORT $LN3@Create@5
	mov	ecx, eax
	call	??0SUR_NHB_Soldier@@QAE@XZ
	mov	esi, eax
$LN3@Create@5:

; 489  : 	scr->SetFactory(this);
; 490  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 491  : 	return scr;
; 492  : };

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25804[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_NHB_Soldier@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_NHB_Soldier>::Create
PUBLIC	??_C@_0DC@KDOJNHEC@ScriptRegistrant?$DMclass?5SUR_Obj_D@ ; `string'
;	COMDAT ??_C@_0DC@KDOJNHEC@ScriptRegistrant?$DMclass?5SUR_Obj_D@
CONST	SEGMENT
??_C@_0DC@KDOJNHEC@ScriptRegistrant?$DMclass?5SUR_Obj_D@ DB 'ScriptRegist'
	DB	'rant<class SUR_Obj_Destroyer>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25823 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_Obj_Destroyer>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0DC@KDOJNHEC@ScriptRegistrant?$DMclass?5SUR_Obj_D@
	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 $T25823[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 ??_7SUR_Obj_Destroyer@@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@VSUR_Obj_Destroyer@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25823[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_Obj_Destroyer>::Create
PUBLIC	??_C@_0CL@KBJCMIPP@ScriptRegistrant?$DMclass?5SUR_New_P@ ; `string'
;	COMDAT ??_C@_0CL@KBJCMIPP@ScriptRegistrant?$DMclass?5SUR_New_P@
CONST	SEGMENT
??_C@_0CL@KBJCMIPP@ScriptRegistrant?$DMclass?5SUR_New_P@ DB 'ScriptRegist'
	DB	'rant<class SUR_New_PT>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_New_PT@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_New_PT@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_New_PT@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_New_PT@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_New_PT@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25846 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_New_PT@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_New_PT>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_New_PT@@@@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@_0CL@KBJCMIPP@ScriptRegistrant?$DMclass?5SUR_New_P@
	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 $T25846[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 ??_7SUR_New_PT@@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@VSUR_New_PT@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25846[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_New_PT@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_New_PT@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_New_PT@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_New_PT>::Create
PUBLIC	??_C@_0DE@KNMMJHAP@ScriptRegistrant?$DMclass?5SUR_New_P@ ; `string'
;	COMDAT ??_C@_0DE@KNMMJHAP@ScriptRegistrant?$DMclass?5SUR_New_P@
CONST	SEGMENT
??_C@_0DE@KNMMJHAP@ScriptRegistrant?$DMclass?5SUR_New_P@ DB 'ScriptRegist'
	DB	'rant<class SUR_New_PT_Reciever>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25869 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_New_PT_Reciever>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0DE@KNMMJHAP@ScriptRegistrant?$DMclass?5SUR_New_P@
	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 $T25869[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 ??_7SUR_New_PT_Reciever@@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@VSUR_New_PT_Reciever@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25869[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_New_PT_Reciever>::Create
PUBLIC	??_C@_0CL@JAPNFDGP@ScriptRegistrant?$DMclass?5SUR_APC_A@ ; `string'
;	COMDAT ??_C@_0CL@JAPNFDGP@ScriptRegistrant?$DMclass?5SUR_APC_A@
CONST	SEGMENT
??_C@_0CL@JAPNFDGP@ScriptRegistrant?$DMclass?5SUR_APC_A@ DB 'ScriptRegist'
	DB	'rant<class SUR_APC_AI>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_APC_AI@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_APC_AI@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_APC_AI@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_APC_AI@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_APC_AI@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25892 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_APC_AI@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_APC_AI>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_APC_AI@@@@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@_0CL@JAPNFDGP@ScriptRegistrant?$DMclass?5SUR_APC_A@
	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 $T25892[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 ??_7SUR_APC_AI@@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@VSUR_APC_AI@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25892[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_APC_AI@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_APC_AI@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_APC_AI@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_APC_AI>::Create
PUBLIC	??_C@_0CM@EGEAHCJA@ScriptRegistrant?$DMclass?5SUR_Orca_@ ; `string'
;	COMDAT ??_C@_0CM@EGEAHCJA@ScriptRegistrant?$DMclass?5SUR_Orca_@
CONST	SEGMENT
??_C@_0CM@EGEAHCJA@ScriptRegistrant?$DMclass?5SUR_Orca_@ DB 'ScriptRegist'
	DB	'rant<class SUR_Orca_AI>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_Orca_AI@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_Orca_AI@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Orca_AI@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_Orca_AI@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_Orca_AI@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25915 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_Orca_AI@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_Orca_AI>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_Orca_AI@@@@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@_0CM@EGEAHCJA@ScriptRegistrant?$DMclass?5SUR_Orca_@
	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 $T25915[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 ??_7SUR_Orca_AI@@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@VSUR_Orca_AI@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25915[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_Orca_AI@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Orca_AI@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_Orca_AI@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_Orca_AI>::Create
PUBLIC	??_C@_0CP@KBBIOMO@ScriptRegistrant?$DMclass?5SUR_Chino@ ; `string'
;	COMDAT ??_C@_0CP@KBBIOMO@ScriptRegistrant?$DMclass?5SUR_Chino@
CONST	SEGMENT
??_C@_0CP@KBBIOMO@ScriptRegistrant?$DMclass?5SUR_Chino@ DB 'ScriptRegistr'
	DB	'ant<class SUR_Chinook_AI>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25938 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_Chinook_AI>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0CP@KBBIOMO@ScriptRegistrant?$DMclass?5SUR_Chino@
	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 $T25938[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 ??_7SUR_Chinook_AI@@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@VSUR_Chinook_AI@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25938[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_Chinook_AI@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_Chinook_AI>::Create
PUBLIC	??_C@_0CP@PIFLBOGP@ScriptRegistrant?$DMclass?5SUR_Dep_T@ ; `string'
;	COMDAT ??_C@_0CP@PIFLBOGP@ScriptRegistrant?$DMclass?5SUR_Dep_T@
CONST	SEGMENT
??_C@_0CP@PIFLBOGP@ScriptRegistrant?$DMclass?5SUR_Dep_T@ DB 'ScriptRegist'
	DB	'rant<class SUR_Dep_Turret>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25961 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_Dep_Turret>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 488  : 	ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_0CP@PIFLBOGP@ScriptRegistrant?$DMclass?5SUR_Dep_T@
	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 $T25961[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 ??_7SUR_Dep_Turret@@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@VSUR_Dep_Turret@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25961[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_Dep_Turret@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_Dep_Turret>::Create
PUBLIC	??_C@_0DA@FKNKJHCG@ScriptRegistrant?$DMclass?5SUR_Timed@ ; `string'
;	COMDAT ??_C@_0DA@FKNKJHCG@ScriptRegistrant?$DMclass?5SUR_Timed@
CONST	SEGMENT
??_C@_0DA@FKNKJHCG@ScriptRegistrant?$DMclass?5SUR_Timed@ DB 'ScriptRegist'
	DB	'rant<class SUR_Timed_Death>::Create', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_Timed_Death@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_Timed_Death@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Timed_Death@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_Timed_Death@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_Timed_Death@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T25984 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_Timed_Death@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_Timed_Death>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_Timed_Death@@@@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@_0DA@FKNKJHCG@ScriptRegistrant?$DMclass?5SUR_Timed@
	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 $T25984[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 ??_7SUR_Timed_Death@@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@VSUR_Timed_Death@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T25984[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_Timed_Death@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_Timed_Death@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_Timed_Death@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_Timed_Death>::Create
PUBLIC	??_C@_0DJ@EEEDKFIH@ScriptRegistrant?$DMclass?5SUR_Grant@ ; `string'
;	COMDAT ??_C@_0DJ@EEEDKFIH@ScriptRegistrant?$DMclass?5SUR_Grant@
CONST	SEGMENT
??_C@_0DJ@EEEDKFIH@ScriptRegistrant?$DMclass?5SUR_Grant@ DB 'ScriptRegist'
	DB	'rant<class SUR_GrantPowerup_OnEntry>::Create', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAEPAVScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAEPAVScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAEPAVScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAEPAVScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T26007 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAEPAVScriptImpClass@@XZ PROC ; ScriptRegistrant<SUR_GrantPowerup_OnEntry>::Create, COMDAT
; _this$ = ecx

; 487  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@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@EEEDKFIH@ScriptRegistrant?$DMclass?5SUR_Grant@
	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 $T26007[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 ??_7SUR_GrantPowerup_OnEntry@@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@VSUR_GrantPowerup_OnEntry@@@@UAEPAVScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T26007[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAEPAVScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<SUR_GrantPowerup_OnEntry>::Create
; Function compile flags: /Ogtpy
;	COMDAT ??_GSUR_Spawn_Delay@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_Spawn_Delay@@UAEPAXI@Z PROC			; SUR_Spawn_Delay::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@16
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@16:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_Spawn_Delay@@UAEPAXI@Z ENDP			; SUR_Spawn_Delay::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_Generator_Zone@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_Generator_Zone@@UAEPAXI@Z PROC			; SUR_Generator_Zone::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@17
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@17:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_Generator_Zone@@UAEPAXI@Z ENDP			; SUR_Generator_Zone::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_MiniGen@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_MiniGen@@UAEPAXI@Z PROC				; SUR_MiniGen::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@18
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@18:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_MiniGen@@UAEPAXI@Z ENDP				; SUR_MiniGen::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_NHB@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_NHB@@UAEPAXI@Z PROC				; SUR_NHB::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@19
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@19:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_NHB@@UAEPAXI@Z ENDP				; SUR_NHB::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_NHB_Soldier@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_NHB_Soldier@@UAEPAXI@Z PROC			; SUR_NHB_Soldier::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@20
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@20:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_NHB_Soldier@@UAEPAXI@Z ENDP			; SUR_NHB_Soldier::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_Obj_Destroyer@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_Obj_Destroyer@@UAEPAXI@Z PROC			; SUR_Obj_Destroyer::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@21
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@21:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_Obj_Destroyer@@UAEPAXI@Z ENDP			; SUR_Obj_Destroyer::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_New_PT@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_New_PT@@UAEPAXI@Z PROC				; SUR_New_PT::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@22
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@22:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_New_PT@@UAEPAXI@Z ENDP				; SUR_New_PT::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_New_PT_Reciever@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_New_PT_Reciever@@UAEPAXI@Z PROC			; SUR_New_PT_Reciever::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@23
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@23:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_New_PT_Reciever@@UAEPAXI@Z ENDP			; SUR_New_PT_Reciever::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_APC_AI@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_APC_AI@@UAEPAXI@Z PROC				; SUR_APC_AI::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@24
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@24:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_APC_AI@@UAEPAXI@Z ENDP				; SUR_APC_AI::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_Orca_AI@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_Orca_AI@@UAEPAXI@Z PROC				; SUR_Orca_AI::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@25
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@25:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_Orca_AI@@UAEPAXI@Z ENDP				; SUR_Orca_AI::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_Chinook_AI@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_Chinook_AI@@UAEPAXI@Z PROC			; SUR_Chinook_AI::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@26
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@26:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_Chinook_AI@@UAEPAXI@Z ENDP			; SUR_Chinook_AI::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_Dep_Turret@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_Dep_Turret@@UAEPAXI@Z PROC			; SUR_Dep_Turret::`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@27
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@27:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_Dep_Turret@@UAEPAXI@Z ENDP			; SUR_Dep_Turret::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_Timed_Death@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_Timed_Death@@UAEPAXI@Z PROC			; SUR_Timed_Death::`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@28
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@28:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_Timed_Death@@UAEPAXI@Z ENDP			; SUR_Timed_Death::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GSUR_GrantPowerup_OnEntry@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GSUR_GrantPowerup_OnEntry@@UAEPAXI@Z PROC		; SUR_GrantPowerup_OnEntry::`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@29
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@29:
	mov	eax, esi
	pop	esi
	ret	4
??_GSUR_GrantPowerup_OnEntry@@UAEPAXI@Z ENDP		; SUR_GrantPowerup_OnEntry::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0BA@KLILNECP@SUR_Spawn_Delay?$AA@		; `string'
PUBLIC	??_C@_0FA@DHAIDPHO@Spawn_Delay?3float?0Spawn_Pos?3vect@ ; `string'
EXTRN	_atexit:PROC
;	COMDAT ??_C@_0BA@KLILNECP@SUR_Spawn_Delay?$AA@
CONST	SEGMENT
??_C@_0BA@KLILNECP@SUR_Spawn_Delay?$AA@ DB 'SUR_Spawn_Delay', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0FA@DHAIDPHO@Spawn_Delay?3float?0Spawn_Pos?3vect@
CONST	SEGMENT
??_C@_0FA@DHAIDPHO@Spawn_Delay?3float?0Spawn_Pos?3vect@ DB 'Spawn_Delay:f'
	DB	'loat,Spawn_Pos:vector3,Spawn_Obj:string,Spawn_Path:int,Do_Pat'
	DB	'h:int', 00H					; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_Spawn_Delay_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_Spawn_Delay_Registrant@@YAXXZ PROC		; `dynamic initializer for 'SUR_Spawn_Delay_Registrant'', COMDAT

; 815  : ScriptRegistrant<SUR_Spawn_Delay> SUR_Spawn_Delay_Registrant("SUR_Spawn_Delay","Spawn_Delay:float,Spawn_Pos:vector3,Spawn_Obj:string,Spawn_Path:int,Do_Path:int");

	push	OFFSET ??_C@_0FA@DHAIDPHO@Spawn_Delay?3float?0Spawn_Pos?3vect@
	push	OFFSET ??_C@_0BA@KLILNECP@SUR_Spawn_Delay?$AA@
	mov	ecx, OFFSET ?SUR_Spawn_Delay_Registrant@@3V?$ScriptRegistrant@VSUR_Spawn_Delay@@@@A ; SUR_Spawn_Delay_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_Spawn_Delay_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_Spawn_Delay_Registrant''
	mov	DWORD PTR ?SUR_Spawn_Delay_Registrant@@3V?$ScriptRegistrant@VSUR_Spawn_Delay@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_Spawn_Delay@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_Spawn_Delay_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'SUR_Spawn_Delay_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BD@JMCCCHCE@SUR_Generator_Zone?$AA@	; `string'
PUBLIC	??_C@_0MA@PHLCLBBJ@Time_Delay?3float?0Supply_Truck_Pr@ ; `string'
;	COMDAT ??_C@_0BD@JMCCCHCE@SUR_Generator_Zone?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BD@JMCCCHCE@SUR_Generator_Zone?$AA@ DB 'SUR_Generator_Zone', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0MA@PHLCLBBJ@Time_Delay?3float?0Supply_Truck_Pr@
CONST	SEGMENT
??_C@_0MA@PHLCLBBJ@Time_Delay?3float?0Supply_Truck_Pr@ DB 'Time_Delay:flo'
	DB	'at,Supply_Truck_Preset:string,Emitter_Pos:vector3,Emitter_Pre'
	DB	'set_Good:string,Emitter_Preset_Ok:string,Emitter_Preset_Bad:s'
	DB	'tring,Build_D_One:int,Build_D_Two:int,Build_D_Three:int', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_Generator_Zone_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_Generator_Zone_Registrant@@YAXXZ PROC		; `dynamic initializer for 'SUR_Generator_Zone_Registrant'', COMDAT

; 816  : ScriptRegistrant<SUR_Generator_Zone> SUR_Generator_Zone_Registrant("SUR_Generator_Zone","Time_Delay:float,Supply_Truck_Preset:string,Emitter_Pos:vector3,Emitter_Preset_Good:string,Emitter_Preset_Ok:string,Emitter_Preset_Bad:string,Build_D_One:int,Build_D_Two:int,Build_D_Three:int");

	push	OFFSET ??_C@_0MA@PHLCLBBJ@Time_Delay?3float?0Supply_Truck_Pr@
	push	OFFSET ??_C@_0BD@JMCCCHCE@SUR_Generator_Zone?$AA@
	mov	ecx, OFFSET ?SUR_Generator_Zone_Registrant@@3V?$ScriptRegistrant@VSUR_Generator_Zone@@@@A ; SUR_Generator_Zone_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_Generator_Zone_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_Generator_Zone_Registrant''
	mov	DWORD PTR ?SUR_Generator_Zone_Registrant@@3V?$ScriptRegistrant@VSUR_Generator_Zone@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_Generator_Zone@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_Generator_Zone_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'SUR_Generator_Zone_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0M@GPOHJCKC@SUR_MiniGen?$AA@		; `string'
PUBLIC	??_C@_0FM@NAIMEOBA@Time_Delay?3float?0Turret_ID_One?3i@ ; `string'
;	COMDAT ??_C@_0M@GPOHJCKC@SUR_MiniGen?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0M@GPOHJCKC@SUR_MiniGen?$AA@ DB 'SUR_MiniGen', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0FM@NAIMEOBA@Time_Delay?3float?0Turret_ID_One?3i@
CONST	SEGMENT
??_C@_0FM@NAIMEOBA@Time_Delay?3float?0Turret_ID_One?3i@ DB 'Time_Delay:fl'
	DB	'oat,Turret_ID_One:int,Turret_ID_Two:int,Turret_ID_Three:int,T'
	DB	'urret_ID_Four:int', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_MiniGen_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_MiniGen_Registrant@@YAXXZ PROC			; `dynamic initializer for 'SUR_MiniGen_Registrant'', COMDAT

; 817  : ScriptRegistrant<SUR_MiniGen> SUR_MiniGen_Registrant("SUR_MiniGen","Time_Delay:float,Turret_ID_One:int,Turret_ID_Two:int,Turret_ID_Three:int,Turret_ID_Four:int");

	push	OFFSET ??_C@_0FM@NAIMEOBA@Time_Delay?3float?0Turret_ID_One?3i@
	push	OFFSET ??_C@_0M@GPOHJCKC@SUR_MiniGen?$AA@
	mov	ecx, OFFSET ?SUR_MiniGen_Registrant@@3V?$ScriptRegistrant@VSUR_MiniGen@@@@A ; SUR_MiniGen_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_MiniGen_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_MiniGen_Registrant''
	mov	DWORD PTR ?SUR_MiniGen_Registrant@@3V?$ScriptRegistrant@VSUR_MiniGen@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_MiniGen@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_MiniGen_Registrant@@YAXXZ ENDP			; `dynamic initializer for 'SUR_MiniGen_Registrant''
text$yc	ENDS
PUBLIC	??_C@_07MJBDNLE@SUR_NHB?$AA@			; `string'
PUBLIC	??_C@_0FD@DHDDJGN@GDI_Gen?3int?0Nod_Gen?3int?0Strike_P@ ; `string'
;	COMDAT ??_C@_07MJBDNLE@SUR_NHB?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_07MJBDNLE@SUR_NHB?$AA@ DB 'SUR_NHB', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0FD@DHDDJGN@GDI_Gen?3int?0Nod_Gen?3int?0Strike_P@
CONST	SEGMENT
??_C@_0FD@DHDDJGN@GDI_Gen?3int?0Nod_Gen?3int?0Strike_P@ DB 'GDI_Gen:int,N'
	DB	'od_Gen:int,Strike_Preset:string,Taunt1:int,Taunt2:int,OrcaWar'
	DB	'ning:int', 00H				; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_NHB_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_NHB_Registrant@@YAXXZ PROC			; `dynamic initializer for 'SUR_NHB_Registrant'', COMDAT

; 818  : ScriptRegistrant<SUR_NHB> SUR_NHB_Registrant("SUR_NHB","GDI_Gen:int,Nod_Gen:int,Strike_Preset:string,Taunt1:int,Taunt2:int,OrcaWarning:int");

	push	OFFSET ??_C@_0FD@DHDDJGN@GDI_Gen?3int?0Nod_Gen?3int?0Strike_P@
	push	OFFSET ??_C@_07MJBDNLE@SUR_NHB?$AA@
	mov	ecx, OFFSET ?SUR_NHB_Registrant@@3V?$ScriptRegistrant@VSUR_NHB@@@@A ; SUR_NHB_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_NHB_Registrant@@YAXXZ	; `dynamic atexit destructor for 'SUR_NHB_Registrant''
	mov	DWORD PTR ?SUR_NHB_Registrant@@3V?$ScriptRegistrant@VSUR_NHB@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_NHB@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_NHB_Registrant@@YAXXZ ENDP			; `dynamic initializer for 'SUR_NHB_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BA@IFMBMGDM@SUR_NHB_Soldier?$AA@		; `string'
PUBLIC	??_C@_0BAA@ECKFGJNH@NHB_ID?3int?0VPad_Path?3int?0VPad_Pa@ ; `string'
;	COMDAT ??_C@_0BA@IFMBMGDM@SUR_NHB_Soldier?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BA@IFMBMGDM@SUR_NHB_Soldier?$AA@ DB 'SUR_NHB_Soldier', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BAA@ECKFGJNH@NHB_ID?3int?0VPad_Path?3int?0VPad_Pa@
CONST	SEGMENT
??_C@_0BAA@ECKFGJNH@NHB_ID?3int?0VPad_Path?3int?0VPad_Pa@ DB 'NHB_ID:int,'
	DB	'VPad_Path:int,VPad_Path_Start:int,VPad_Path_End:int,HeliPath:'
	DB	'int,HeliPath_Start:int,HeliPath_End:int,NodGen_Path:int,NodGe'
	DB	'n_Path_Start:int,NodGen_Path_End:int,GDIGen_Path:int,GDIGen_P'
	DB	'ath_Start:int,GDIGen_Path_End:int,NodGen_ID:int,GDIGen_ID:int'
	DB	00H						; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_NHB_Soldier_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_NHB_Soldier_Registrant@@YAXXZ PROC		; `dynamic initializer for 'SUR_NHB_Soldier_Registrant'', COMDAT

; 819  : ScriptRegistrant<SUR_NHB_Soldier> SUR_NHB_Soldier_Registrant("SUR_NHB_Soldier","NHB_ID:int,VPad_Path:int,VPad_Path_Start:int,VPad_Path_End:int,HeliPath:int,HeliPath_Start:int,HeliPath_End:int,NodGen_Path:int,NodGen_Path_Start:int,NodGen_Path_End:int,GDIGen_Path:int,GDIGen_Path_Start:int,GDIGen_Path_End:int,NodGen_ID:int,GDIGen_ID:int");

	push	OFFSET ??_C@_0BAA@ECKFGJNH@NHB_ID?3int?0VPad_Path?3int?0VPad_Pa@
	push	OFFSET ??_C@_0BA@IFMBMGDM@SUR_NHB_Soldier?$AA@
	mov	ecx, OFFSET ?SUR_NHB_Soldier_Registrant@@3V?$ScriptRegistrant@VSUR_NHB_Soldier@@@@A ; SUR_NHB_Soldier_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_NHB_Soldier_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_NHB_Soldier_Registrant''
	mov	DWORD PTR ?SUR_NHB_Soldier_Registrant@@3V?$ScriptRegistrant@VSUR_NHB_Soldier@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_NHB_Soldier@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_NHB_Soldier_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'SUR_NHB_Soldier_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BC@DOELCKBJ@SUR_Obj_Destroyer?$AA@	; `string'
PUBLIC	??_C@_06IDGMBKCH@ID?3int?$AA@			; `string'
;	COMDAT ??_C@_0BC@DOELCKBJ@SUR_Obj_Destroyer?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BC@DOELCKBJ@SUR_Obj_Destroyer?$AA@ DB 'SUR_Obj_Destroyer', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_06IDGMBKCH@ID?3int?$AA@
CONST	SEGMENT
??_C@_06IDGMBKCH@ID?3int?$AA@ DB 'ID:int', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_Obj_Destroyer_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_Obj_Destroyer_Registrant@@YAXXZ PROC		; `dynamic initializer for 'SUR_Obj_Destroyer_Registrant'', COMDAT

; 820  : ScriptRegistrant<SUR_Obj_Destroyer> SUR_Obj_Destroyer_Registrant("SUR_Obj_Destroyer","ID:int");

	push	OFFSET ??_C@_06IDGMBKCH@ID?3int?$AA@
	push	OFFSET ??_C@_0BC@DOELCKBJ@SUR_Obj_Destroyer?$AA@
	mov	ecx, OFFSET ?SUR_Obj_Destroyer_Registrant@@3V?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@A ; SUR_Obj_Destroyer_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_Obj_Destroyer_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_Obj_Destroyer_Registrant''
	mov	DWORD PTR ?SUR_Obj_Destroyer_Registrant@@3V?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_Obj_Destroyer_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'SUR_Obj_Destroyer_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BK@IMCLBBPM@Marker_ID?3int?0Message?3int?$AA@ ; `string'
;	COMDAT ??_C@_0BK@IMCLBBPM@Marker_ID?3int?0Message?3int?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BK@IMCLBBPM@Marker_ID?3int?0Message?3int?$AA@ DB 'Marker_ID:int,Me'
	DB	'ssage:int', 00H				; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_New_PT_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_New_PT_Registrant@@YAXXZ PROC			; `dynamic initializer for 'SUR_New_PT_Registrant'', COMDAT

; 821  : ScriptRegistrant<SUR_New_PT> SUR_New_PT_Registrant("SUR_New_PT","Marker_ID:int,Message:int");

	push	OFFSET ??_C@_0BK@IMCLBBPM@Marker_ID?3int?0Message?3int?$AA@
	push	OFFSET ??_C@_0L@NMEBDFKG@SUR_New_PT?$AA@
	mov	ecx, OFFSET ?SUR_New_PT_Registrant@@3V?$ScriptRegistrant@VSUR_New_PT@@@@A ; SUR_New_PT_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_New_PT_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_New_PT_Registrant''
	mov	DWORD PTR ?SUR_New_PT_Registrant@@3V?$ScriptRegistrant@VSUR_New_PT@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_New_PT@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_New_PT_Registrant@@YAXXZ ENDP			; `dynamic initializer for 'SUR_New_PT_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BE@IIJFADCE@SUR_New_PT_Reciever?$AA@	; `string'
PUBLIC	??_C@_0BP@HHNMLCDH@Preset_Name?3string?0Message?3int?$AA@ ; `string'
;	COMDAT ??_C@_0BE@IIJFADCE@SUR_New_PT_Reciever?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BE@IIJFADCE@SUR_New_PT_Reciever?$AA@ DB 'SUR_New_PT_Reciever', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@HHNMLCDH@Preset_Name?3string?0Message?3int?$AA@
CONST	SEGMENT
??_C@_0BP@HHNMLCDH@Preset_Name?3string?0Message?3int?$AA@ DB 'Preset_Name'
	DB	':string,Message:int', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_New_PT_Reciever_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_New_PT_Reciever_Registrant@@YAXXZ PROC		; `dynamic initializer for 'SUR_New_PT_Reciever_Registrant'', COMDAT

; 822  : ScriptRegistrant<SUR_New_PT_Reciever> SUR_New_PT_Reciever_Registrant("SUR_New_PT_Reciever","Preset_Name:string,Message:int");

	push	OFFSET ??_C@_0BP@HHNMLCDH@Preset_Name?3string?0Message?3int?$AA@
	push	OFFSET ??_C@_0BE@IIJFADCE@SUR_New_PT_Reciever?$AA@
	mov	ecx, OFFSET ?SUR_New_PT_Reciever_Registrant@@3V?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@A ; SUR_New_PT_Reciever_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_New_PT_Reciever_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_New_PT_Reciever_Registrant''
	mov	DWORD PTR ?SUR_New_PT_Reciever_Registrant@@3V?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_New_PT_Reciever_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'SUR_New_PT_Reciever_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0L@MIJHGIEM@SUR_APC_AI?$AA@		; `string'
PUBLIC	??_C@_0CD@PNNDOGLF@Preset_To_Create?3string?0NHB_ID?3i@ ; `string'
;	COMDAT ??_C@_0L@MIJHGIEM@SUR_APC_AI?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0L@MIJHGIEM@SUR_APC_AI?$AA@ DB 'SUR_APC_AI', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CD@PNNDOGLF@Preset_To_Create?3string?0NHB_ID?3i@
CONST	SEGMENT
??_C@_0CD@PNNDOGLF@Preset_To_Create?3string?0NHB_ID?3i@ DB 'Preset_To_Cre'
	DB	'ate:string,NHB_ID:int', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_APC_AI_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_APC_AI_Registrant@@YAXXZ PROC			; `dynamic initializer for 'SUR_APC_AI_Registrant'', COMDAT

; 823  : ScriptRegistrant<SUR_APC_AI> SUR_APC_AI_Registrant("SUR_APC_AI","Preset_To_Create:string,NHB_ID:int");

	push	OFFSET ??_C@_0CD@PNNDOGLF@Preset_To_Create?3string?0NHB_ID?3i@
	push	OFFSET ??_C@_0L@MIJHGIEM@SUR_APC_AI?$AA@
	mov	ecx, OFFSET ?SUR_APC_AI_Registrant@@3V?$ScriptRegistrant@VSUR_APC_AI@@@@A ; SUR_APC_AI_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_APC_AI_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_APC_AI_Registrant''
	mov	DWORD PTR ?SUR_APC_AI_Registrant@@3V?$ScriptRegistrant@VSUR_APC_AI@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_APC_AI@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_APC_AI_Registrant@@YAXXZ ENDP			; `dynamic initializer for 'SUR_APC_AI_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0M@LENJCGNN@SUR_Orca_AI?$AA@		; `string'
PUBLIC	??_C@_0CB@GPNICFGL@NHB_ID?3int?0Attack_Offset?3vector3@ ; `string'
;	COMDAT ??_C@_0M@LENJCGNN@SUR_Orca_AI?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0M@LENJCGNN@SUR_Orca_AI?$AA@ DB 'SUR_Orca_AI', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@GPNICFGL@NHB_ID?3int?0Attack_Offset?3vector3@
CONST	SEGMENT
??_C@_0CB@GPNICFGL@NHB_ID?3int?0Attack_Offset?3vector3@ DB 'NHB_ID:int,At'
	DB	'tack_Offset:vector3', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_Orca_AI_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_Orca_AI_Registrant@@YAXXZ PROC			; `dynamic initializer for 'SUR_Orca_AI_Registrant'', COMDAT

; 824  : ScriptRegistrant<SUR_Orca_AI> SUR_Orca_AI_Registrant("SUR_Orca_AI","NHB_ID:int,Attack_Offset:vector3");

	push	OFFSET ??_C@_0CB@GPNICFGL@NHB_ID?3int?0Attack_Offset?3vector3@
	push	OFFSET ??_C@_0M@LENJCGNN@SUR_Orca_AI?$AA@
	mov	ecx, OFFSET ?SUR_Orca_AI_Registrant@@3V?$ScriptRegistrant@VSUR_Orca_AI@@@@A ; SUR_Orca_AI_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_Orca_AI_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_Orca_AI_Registrant''
	mov	DWORD PTR ?SUR_Orca_AI_Registrant@@3V?$ScriptRegistrant@VSUR_Orca_AI@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_Orca_AI@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_Orca_AI_Registrant@@YAXXZ ENDP			; `dynamic initializer for 'SUR_Orca_AI_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0P@CCFBOFGI@SUR_Chinook_AI?$AA@		; `string'
PUBLIC	??_C@_0CL@JNOFFELC@Preset_Name?3string?0Position_Offs@ ; `string'
;	COMDAT ??_C@_0P@CCFBOFGI@SUR_Chinook_AI?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0P@CCFBOFGI@SUR_Chinook_AI?$AA@ DB 'SUR_Chinook_AI', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CL@JNOFFELC@Preset_Name?3string?0Position_Offs@
CONST	SEGMENT
??_C@_0CL@JNOFFELC@Preset_Name?3string?0Position_Offs@ DB 'Preset_Name:st'
	DB	'ring,Position_Offset:vector3', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_Chinook_AI_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_Chinook_AI_Registrant@@YAXXZ PROC		; `dynamic initializer for 'SUR_Chinook_AI_Registrant'', COMDAT

; 825  : ScriptRegistrant<SUR_Chinook_AI> SUR_Chinook_AI_Registrant("SUR_Chinook_AI","Preset_Name:string,Position_Offset:vector3");

	push	OFFSET ??_C@_0CL@JNOFFELC@Preset_Name?3string?0Position_Offs@
	push	OFFSET ??_C@_0P@CCFBOFGI@SUR_Chinook_AI?$AA@
	mov	ecx, OFFSET ?SUR_Chinook_AI_Registrant@@3V?$ScriptRegistrant@VSUR_Chinook_AI@@@@A ; SUR_Chinook_AI_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_Chinook_AI_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_Chinook_AI_Registrant''
	mov	DWORD PTR ?SUR_Chinook_AI_Registrant@@3V?$ScriptRegistrant@VSUR_Chinook_AI@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_Chinook_AI@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_Chinook_AI_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'SUR_Chinook_AI_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0P@NFLNCIFF@SUR_Dep_Turret?$AA@		; `string'
PUBLIC	??_C@_0EP@COIIGKKP@MinAttackDistance?$DN0?40?3float?0MaxA@ ; `string'
;	COMDAT ??_C@_0P@NFLNCIFF@SUR_Dep_Turret?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0P@NFLNCIFF@SUR_Dep_Turret?$AA@ DB 'SUR_Dep_Turret', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0EP@COIIGKKP@MinAttackDistance?$DN0?40?3float?0MaxA@
CONST	SEGMENT
??_C@_0EP@COIIGKKP@MinAttackDistance?$DN0?40?3float?0MaxA@ DB 'MinAttackD'
	DB	'istance=0.0:float,MaxAttackDistance=300.0:float,AttackTimer=1'
	DB	'0.0:int', 00H				; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_Dep_Turret_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_Dep_Turret_Registrant@@YAXXZ PROC		; `dynamic initializer for 'SUR_Dep_Turret_Registrant'', COMDAT

; 826  : ScriptRegistrant<SUR_Dep_Turret> SUR_Dep_Turret_Registrant("SUR_Dep_Turret","MinAttackDistance=0.0:float,MaxAttackDistance=300.0:float,AttackTimer=10.0:int");

	push	OFFSET ??_C@_0EP@COIIGKKP@MinAttackDistance?$DN0?40?3float?0MaxA@
	push	OFFSET ??_C@_0P@NFLNCIFF@SUR_Dep_Turret?$AA@
	mov	ecx, OFFSET ?SUR_Dep_Turret_Registrant@@3V?$ScriptRegistrant@VSUR_Dep_Turret@@@@A ; SUR_Dep_Turret_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_Dep_Turret_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_Dep_Turret_Registrant''
	mov	DWORD PTR ?SUR_Dep_Turret_Registrant@@3V?$ScriptRegistrant@VSUR_Dep_Turret@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_Dep_Turret@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_Dep_Turret_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'SUR_Dep_Turret_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BA@LIDMMLAJ@SUR_Timed_Death?$AA@		; `string'
PUBLIC	??_C@_0DD@BINEMFNP@Delay?3float?0Damage_Amount?3float?0@ ; `string'
;	COMDAT ??_C@_0BA@LIDMMLAJ@SUR_Timed_Death?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BA@LIDMMLAJ@SUR_Timed_Death?$AA@ DB 'SUR_Timed_Death', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DD@BINEMFNP@Delay?3float?0Damage_Amount?3float?0@
CONST	SEGMENT
??_C@_0DD@BINEMFNP@Delay?3float?0Damage_Amount?3float?0@ DB 'Delay:float,'
	DB	'Damage_Amount:float,Damage_Type:string', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_Timed_Death_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_Timed_Death_Registrant@@YAXXZ PROC		; `dynamic initializer for 'SUR_Timed_Death_Registrant'', COMDAT

; 827  : ScriptRegistrant<SUR_Timed_Death> SUR_Timed_Death_Registrant("SUR_Timed_Death","Delay:float,Damage_Amount:float,Damage_Type:string");

	push	OFFSET ??_C@_0DD@BINEMFNP@Delay?3float?0Damage_Amount?3float?0@
	push	OFFSET ??_C@_0BA@LIDMMLAJ@SUR_Timed_Death?$AA@
	mov	ecx, OFFSET ?SUR_Timed_Death_Registrant@@3V?$ScriptRegistrant@VSUR_Timed_Death@@@@A ; SUR_Timed_Death_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_Timed_Death_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_Timed_Death_Registrant''
	mov	DWORD PTR ?SUR_Timed_Death_Registrant@@3V?$ScriptRegistrant@VSUR_Timed_Death@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_Timed_Death@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_Timed_Death_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'SUR_Timed_Death_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0BJ@KLABFPHM@SUR_GrantPowerup_OnEntry?$AA@ ; `string'
PUBLIC	??_C@_0BN@OELIADGD@Preset?3string?0Powerup?3string?$AA@ ; `string'
;	COMDAT ??_C@_0BJ@KLABFPHM@SUR_GrantPowerup_OnEntry?$AA@
; File d:\source code\stgm\scripts.h
CONST	SEGMENT
??_C@_0BJ@KLABFPHM@SUR_GrantPowerup_OnEntry?$AA@ DB 'SUR_GrantPowerup_OnE'
	DB	'ntry', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BN@OELIADGD@Preset?3string?0Powerup?3string?$AA@
CONST	SEGMENT
??_C@_0BN@OELIADGD@Preset?3string?0Powerup?3string?$AA@ DB 'Preset:string'
	DB	',Powerup:string', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\survival.cpp
CONST	ENDS
;	COMDAT ??__ESUR_GrantPowerup_OnEntry_Registrant@@YAXXZ
text$yc	SEGMENT
??__ESUR_GrantPowerup_OnEntry_Registrant@@YAXXZ PROC	; `dynamic initializer for 'SUR_GrantPowerup_OnEntry_Registrant'', COMDAT

; 828  : ScriptRegistrant<SUR_GrantPowerup_OnEntry> SUR_GrantPowerup_OnEntry_Registrant("SUR_GrantPowerup_OnEntry","Preset:string,Powerup:string");

	push	OFFSET ??_C@_0BN@OELIADGD@Preset?3string?0Powerup?3string?$AA@
	push	OFFSET ??_C@_0BJ@KLABFPHM@SUR_GrantPowerup_OnEntry?$AA@
	mov	ecx, OFFSET ?SUR_GrantPowerup_OnEntry_Registrant@@3V?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@A ; SUR_GrantPowerup_OnEntry_Registrant
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	push	OFFSET ??__FSUR_GrantPowerup_OnEntry_Registrant@@YAXXZ ; `dynamic atexit destructor for 'SUR_GrantPowerup_OnEntry_Registrant''
	mov	DWORD PTR ?SUR_GrantPowerup_OnEntry_Registrant@@3V?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@A, OFFSET ??_7?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__ESUR_GrantPowerup_OnEntry_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'SUR_GrantPowerup_OnEntry_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__FSUR_Spawn_Delay_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_Spawn_Delay_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'SUR_Spawn_Delay_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_Spawn_Delay_Registrant@@3V?$ScriptRegistrant@VSUR_Spawn_Delay@@@@A ; SUR_Spawn_Delay_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_Spawn_Delay_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'SUR_Spawn_Delay_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_Generator_Zone_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_Generator_Zone_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'SUR_Generator_Zone_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_Generator_Zone_Registrant@@3V?$ScriptRegistrant@VSUR_Generator_Zone@@@@A ; SUR_Generator_Zone_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_Generator_Zone_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'SUR_Generator_Zone_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_MiniGen_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_MiniGen_Registrant@@YAXXZ PROC			; `dynamic atexit destructor for 'SUR_MiniGen_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_MiniGen_Registrant@@3V?$ScriptRegistrant@VSUR_MiniGen@@@@A ; SUR_MiniGen_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_MiniGen_Registrant@@YAXXZ ENDP			; `dynamic atexit destructor for 'SUR_MiniGen_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_NHB_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_NHB_Registrant@@YAXXZ PROC			; `dynamic atexit destructor for 'SUR_NHB_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_NHB_Registrant@@3V?$ScriptRegistrant@VSUR_NHB@@@@A ; SUR_NHB_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_NHB_Registrant@@YAXXZ ENDP			; `dynamic atexit destructor for 'SUR_NHB_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_NHB_Soldier_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_NHB_Soldier_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'SUR_NHB_Soldier_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_NHB_Soldier_Registrant@@3V?$ScriptRegistrant@VSUR_NHB_Soldier@@@@A ; SUR_NHB_Soldier_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_NHB_Soldier_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'SUR_NHB_Soldier_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_Obj_Destroyer_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_Obj_Destroyer_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'SUR_Obj_Destroyer_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_Obj_Destroyer_Registrant@@3V?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@A ; SUR_Obj_Destroyer_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_Obj_Destroyer_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'SUR_Obj_Destroyer_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_New_PT_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_New_PT_Registrant@@YAXXZ PROC			; `dynamic atexit destructor for 'SUR_New_PT_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_New_PT_Registrant@@3V?$ScriptRegistrant@VSUR_New_PT@@@@A ; SUR_New_PT_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_New_PT_Registrant@@YAXXZ ENDP			; `dynamic atexit destructor for 'SUR_New_PT_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_New_PT_Reciever_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_New_PT_Reciever_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'SUR_New_PT_Reciever_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_New_PT_Reciever_Registrant@@3V?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@A ; SUR_New_PT_Reciever_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_New_PT_Reciever_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'SUR_New_PT_Reciever_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_APC_AI_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_APC_AI_Registrant@@YAXXZ PROC			; `dynamic atexit destructor for 'SUR_APC_AI_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_APC_AI_Registrant@@3V?$ScriptRegistrant@VSUR_APC_AI@@@@A ; SUR_APC_AI_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_APC_AI_Registrant@@YAXXZ ENDP			; `dynamic atexit destructor for 'SUR_APC_AI_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_Orca_AI_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_Orca_AI_Registrant@@YAXXZ PROC			; `dynamic atexit destructor for 'SUR_Orca_AI_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_Orca_AI_Registrant@@3V?$ScriptRegistrant@VSUR_Orca_AI@@@@A ; SUR_Orca_AI_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_Orca_AI_Registrant@@YAXXZ ENDP			; `dynamic atexit destructor for 'SUR_Orca_AI_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_Chinook_AI_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_Chinook_AI_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'SUR_Chinook_AI_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_Chinook_AI_Registrant@@3V?$ScriptRegistrant@VSUR_Chinook_AI@@@@A ; SUR_Chinook_AI_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_Chinook_AI_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'SUR_Chinook_AI_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_Dep_Turret_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_Dep_Turret_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'SUR_Dep_Turret_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_Dep_Turret_Registrant@@3V?$ScriptRegistrant@VSUR_Dep_Turret@@@@A ; SUR_Dep_Turret_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_Dep_Turret_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'SUR_Dep_Turret_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_Timed_Death_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_Timed_Death_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'SUR_Timed_Death_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_Timed_Death_Registrant@@3V?$ScriptRegistrant@VSUR_Timed_Death@@@@A ; SUR_Timed_Death_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_Timed_Death_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'SUR_Timed_Death_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FSUR_GrantPowerup_OnEntry_Registrant@@YAXXZ
text$yd	SEGMENT
??__FSUR_GrantPowerup_OnEntry_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'SUR_GrantPowerup_OnEntry_Registrant'', COMDAT
	mov	ecx, OFFSET ?SUR_GrantPowerup_OnEntry_Registrant@@3V?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@A ; SUR_GrantPowerup_OnEntry_Registrant
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??__FSUR_GrantPowerup_OnEntry_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'SUR_GrantPowerup_OnEntry_Registrant''
text$yd	ENDS
PUBLIC	?SUR_APC_AI_Registrant@@3V?$ScriptRegistrant@VSUR_APC_AI@@@@A ; SUR_APC_AI_Registrant
PUBLIC	?SUR_New_PT_Reciever_Registrant@@3V?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@A ; SUR_New_PT_Reciever_Registrant
PUBLIC	?SUR_Orca_AI_Registrant@@3V?$ScriptRegistrant@VSUR_Orca_AI@@@@A ; SUR_Orca_AI_Registrant
PUBLIC	?SUR_Obj_Destroyer_Registrant@@3V?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@A ; SUR_Obj_Destroyer_Registrant
PUBLIC	?SUR_MiniGen_Registrant@@3V?$ScriptRegistrant@VSUR_MiniGen@@@@A ; SUR_MiniGen_Registrant
PUBLIC	?SUR_Timed_Death_Registrant@@3V?$ScriptRegistrant@VSUR_Timed_Death@@@@A ; SUR_Timed_Death_Registrant
PUBLIC	?SUR_GrantPowerup_OnEntry_Registrant@@3V?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@A ; SUR_GrantPowerup_OnEntry_Registrant
PUBLIC	?SUR_Chinook_AI_Registrant@@3V?$ScriptRegistrant@VSUR_Chinook_AI@@@@A ; SUR_Chinook_AI_Registrant
PUBLIC	?SUR_New_PT_Registrant@@3V?$ScriptRegistrant@VSUR_New_PT@@@@A ; SUR_New_PT_Registrant
PUBLIC	?SUR_NHB_Soldier_Registrant@@3V?$ScriptRegistrant@VSUR_NHB_Soldier@@@@A ; SUR_NHB_Soldier_Registrant
PUBLIC	?SUR_Spawn_Delay_Registrant@@3V?$ScriptRegistrant@VSUR_Spawn_Delay@@@@A ; SUR_Spawn_Delay_Registrant
PUBLIC	?SUR_Generator_Zone_Registrant@@3V?$ScriptRegistrant@VSUR_Generator_Zone@@@@A ; SUR_Generator_Zone_Registrant
PUBLIC	?SUR_Dep_Turret_Registrant@@3V?$ScriptRegistrant@VSUR_Dep_Turret@@@@A ; SUR_Dep_Turret_Registrant
PUBLIC	?SUR_NHB_Registrant@@3V?$ScriptRegistrant@VSUR_NHB@@@@A ; SUR_NHB_Registrant
_BSS	SEGMENT
?SUR_APC_AI_Registrant@@3V?$ScriptRegistrant@VSUR_APC_AI@@@@A DB 010H DUP (?) ; SUR_APC_AI_Registrant
?SUR_New_PT_Reciever_Registrant@@3V?$ScriptRegistrant@VSUR_New_PT_Reciever@@@@A DB 010H DUP (?) ; SUR_New_PT_Reciever_Registrant
?SUR_Orca_AI_Registrant@@3V?$ScriptRegistrant@VSUR_Orca_AI@@@@A DB 010H DUP (?) ; SUR_Orca_AI_Registrant
?SUR_Obj_Destroyer_Registrant@@3V?$ScriptRegistrant@VSUR_Obj_Destroyer@@@@A DB 010H DUP (?) ; SUR_Obj_Destroyer_Registrant
?SUR_MiniGen_Registrant@@3V?$ScriptRegistrant@VSUR_MiniGen@@@@A DB 010H DUP (?) ; SUR_MiniGen_Registrant
?SUR_Timed_Death_Registrant@@3V?$ScriptRegistrant@VSUR_Timed_Death@@@@A DB 010H DUP (?) ; SUR_Timed_Death_Registrant
?SUR_GrantPowerup_OnEntry_Registrant@@3V?$ScriptRegistrant@VSUR_GrantPowerup_OnEntry@@@@A DB 010H DUP (?) ; SUR_GrantPowerup_OnEntry_Registrant
?SUR_Chinook_AI_Registrant@@3V?$ScriptRegistrant@VSUR_Chinook_AI@@@@A DB 010H DUP (?) ; SUR_Chinook_AI_Registrant
?SUR_New_PT_Registrant@@3V?$ScriptRegistrant@VSUR_New_PT@@@@A DB 010H DUP (?) ; SUR_New_PT_Registrant
?SUR_NHB_Soldier_Registrant@@3V?$ScriptRegistrant@VSUR_NHB_Soldier@@@@A DB 010H DUP (?) ; SUR_NHB_Soldier_Registrant
?SUR_Spawn_Delay_Registrant@@3V?$ScriptRegistrant@VSUR_Spawn_Delay@@@@A DB 010H DUP (?) ; SUR_Spawn_Delay_Registrant
?SUR_Generator_Zone_Registrant@@3V?$ScriptRegistrant@VSUR_Generator_Zone@@@@A DB 010H DUP (?) ; SUR_Generator_Zone_Registrant
?SUR_Dep_Turret_Registrant@@3V?$ScriptRegistrant@VSUR_Dep_Turret@@@@A DB 010H DUP (?) ; SUR_Dep_Turret_Registrant
?SUR_NHB_Registrant@@3V?$ScriptRegistrant@VSUR_NHB@@@@A DB 010H DUP (?) ; SUR_NHB_Registrant
_BSS	ENDS
CRT$XCU	SEGMENT
_SUR_Spawn_Delay_Registrant$initializer$ DD FLAT:??__ESUR_Spawn_Delay_Registrant@@YAXXZ
_SUR_Generator_Zone_Registrant$initializer$ DD FLAT:??__ESUR_Generator_Zone_Registrant@@YAXXZ
_SUR_MiniGen_Registrant$initializer$ DD FLAT:??__ESUR_MiniGen_Registrant@@YAXXZ
_SUR_NHB_Registrant$initializer$ DD FLAT:??__ESUR_NHB_Registrant@@YAXXZ
_SUR_NHB_Soldier_Registrant$initializer$ DD FLAT:??__ESUR_NHB_Soldier_Registrant@@YAXXZ
_SUR_Obj_Destroyer_Registrant$initializer$ DD FLAT:??__ESUR_Obj_Destroyer_Registrant@@YAXXZ
_SUR_New_PT_Registrant$initializer$ DD FLAT:??__ESUR_New_PT_Registrant@@YAXXZ
_SUR_New_PT_Reciever_Registrant$initializer$ DD FLAT:??__ESUR_New_PT_Reciever_Registrant@@YAXXZ
_SUR_APC_AI_Registrant$initializer$ DD FLAT:??__ESUR_APC_AI_Registrant@@YAXXZ
_SUR_Orca_AI_Registrant$initializer$ DD FLAT:??__ESUR_Orca_AI_Registrant@@YAXXZ
_SUR_Chinook_AI_Registrant$initializer$ DD FLAT:??__ESUR_Chinook_AI_Registrant@@YAXXZ
_SUR_Dep_Turret_Registrant$initializer$ DD FLAT:??__ESUR_Dep_Turret_Registrant@@YAXXZ
_SUR_Timed_Death_Registrant$initializer$ DD FLAT:??__ESUR_Timed_Death_Registrant@@YAXXZ
_SUR_GrantPowerup_OnEntry_Registrant$initializer$ DD FLAT:??__ESUR_GrantPowerup_OnEntry_Registrant@@YAXXZ
CRT$XCU	ENDS
END
