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

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

INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES

PUBLIC	??_C@_0P@GHFPNOJB@bad?5allocation?$AA@		; `string'
PUBLIC	?RequestDestroyScript@ScriptImpClass@@0P6AXPAVScriptClass@@@ZA ; ScriptImpClass::RequestDestroyScript
PUBLIC	?collate@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::collate
PUBLIC	?ctype@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::ctype
PUBLIC	?monetary@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::monetary
PUBLIC	?numeric@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::numeric
PUBLIC	?time@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::time
PUBLIC	?messages@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::messages
PUBLIC	?all@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::all
PUBLIC	?none@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::none
PUBLIC	?table_size@?$ctype@D@std@@2IB			; std::ctype<char>::table_size
PUBLIC	?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::skipws
PUBLIC	?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::unitbuf
PUBLIC	?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::uppercase
PUBLIC	?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showbase
PUBLIC	?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpoint
PUBLIC	?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpos
PUBLIC	?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::left
PUBLIC	?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::right
PUBLIC	?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::internal
PUBLIC	?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::dec
PUBLIC	?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::oct
PUBLIC	?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::hex
PUBLIC	?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::scientific
PUBLIC	?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::fixed
PUBLIC	?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::boolalpha
PUBLIC	?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::_Stdio
PUBLIC	?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::adjustfield
PUBLIC	?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::basefield
PUBLIC	?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::floatfield
PUBLIC	?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::goodbit
PUBLIC	?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::eofbit
PUBLIC	?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::failbit
PUBLIC	?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::badbit
PUBLIC	?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::_Hardfail
PUBLIC	?in@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::in
PUBLIC	?out@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::out
PUBLIC	?ate@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::ate
PUBLIC	?app@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::app
PUBLIC	?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::trunc
PUBLIC	?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Nocreate
PUBLIC	?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Noreplace
PUBLIC	?binary@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::binary
PUBLIC	?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::beg
PUBLIC	?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::cur
PUBLIC	?end@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::end
PUBLIC	?noparams@@3PADA				; noparams
_BSS	SEGMENT
?RequestDestroyScript@ScriptImpClass@@0P6AXPAVScriptClass@@@ZA DD 01H DUP (?) ; ScriptImpClass::RequestDestroyScript
?noparams@@3PADA DD 01H DUP (?)				; noparams
_BSS	ENDS
;	COMDAT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?end@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 02H		; std::_Iosb<int>::end
CONST	ENDS
;	COMDAT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 01H		; std::_Iosb<int>::cur
CONST	ENDS
;	COMDAT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 00H		; std::_Iosb<int>::beg
CONST	ENDS
;	COMDAT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?binary@?$_Iosb@H@std@@2W4_Openmode@12@B DD 020H	; std::_Iosb<int>::binary
CONST	ENDS
;	COMDAT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B DD 080H	; std::_Iosb<int>::_Noreplace
CONST	ENDS
;	COMDAT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 040H	; std::_Iosb<int>::_Nocreate
CONST	ENDS
;	COMDAT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B DD 010H		; std::_Iosb<int>::trunc
CONST	ENDS
;	COMDAT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?app@?$_Iosb@H@std@@2W4_Openmode@12@B DD 08H		; std::_Iosb<int>::app
CONST	ENDS
;	COMDAT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?ate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 04H		; std::_Iosb<int>::ate
CONST	ENDS
;	COMDAT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?out@?$_Iosb@H@std@@2W4_Openmode@12@B DD 02H		; std::_Iosb<int>::out
CONST	ENDS
;	COMDAT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?in@?$_Iosb@H@std@@2W4_Openmode@12@B DD 01H		; std::_Iosb<int>::in
CONST	ENDS
;	COMDAT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B DD 010H	; std::_Iosb<int>::_Hardfail
CONST	ENDS
;	COMDAT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 04H		; std::_Iosb<int>::badbit
CONST	ENDS
;	COMDAT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 02H		; std::_Iosb<int>::failbit
CONST	ENDS
;	COMDAT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 01H		; std::_Iosb<int>::eofbit
CONST	ENDS
;	COMDAT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 00H		; std::_Iosb<int>::goodbit
CONST	ENDS
;	COMDAT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 03000H	; std::_Iosb<int>::floatfield
CONST	ENDS
;	COMDAT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0e00H	; std::_Iosb<int>::basefield
CONST	ENDS
;	COMDAT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01c0H	; std::_Iosb<int>::adjustfield
CONST	ENDS
;	COMDAT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08000H	; std::_Iosb<int>::_Stdio
CONST	ENDS
;	COMDAT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04000H	; std::_Iosb<int>::boolalpha
CONST	ENDS
;	COMDAT ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02000H	; std::_Iosb<int>::fixed
CONST	ENDS
;	COMDAT ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01000H	; std::_Iosb<int>::scientific
CONST	ENDS
;	COMDAT ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0800H		; std::_Iosb<int>::hex
CONST	ENDS
;	COMDAT ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0400H		; std::_Iosb<int>::oct
CONST	ENDS
;	COMDAT ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0200H		; std::_Iosb<int>::dec
CONST	ENDS
;	COMDAT ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0100H	; std::_Iosb<int>::internal
CONST	ENDS
;	COMDAT ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 080H		; std::_Iosb<int>::right
CONST	ENDS
;	COMDAT ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 040H		; std::_Iosb<int>::left
CONST	ENDS
;	COMDAT ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 020H	; std::_Iosb<int>::showpos
CONST	ENDS
;	COMDAT ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 010H	; std::_Iosb<int>::showpoint
CONST	ENDS
;	COMDAT ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08H	; std::_Iosb<int>::showbase
CONST	ENDS
;	COMDAT ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04H	; std::_Iosb<int>::uppercase
CONST	ENDS
;	COMDAT ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02H	; std::_Iosb<int>::unitbuf
CONST	ENDS
;	COMDAT ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01H		; std::_Iosb<int>::skipws
CONST	ENDS
;	COMDAT ?table_size@?$ctype@D@std@@2IB
CONST	SEGMENT
?table_size@?$ctype@D@std@@2IB DD 0100H			; std::ctype<char>::table_size
CONST	ENDS
;	COMDAT ?none@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?none@?$_Locbase@H@std@@2HB DD 00H			; std::_Locbase<int>::none
CONST	ENDS
;	COMDAT ?all@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?all@?$_Locbase@H@std@@2HB DD 03fH			; std::_Locbase<int>::all
CONST	ENDS
;	COMDAT ?messages@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?messages@?$_Locbase@H@std@@2HB DD 020H			; std::_Locbase<int>::messages
CONST	ENDS
;	COMDAT ?time@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?time@?$_Locbase@H@std@@2HB DD 010H			; std::_Locbase<int>::time
CONST	ENDS
;	COMDAT ?numeric@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?numeric@?$_Locbase@H@std@@2HB DD 08H			; std::_Locbase<int>::numeric
CONST	ENDS
;	COMDAT ?monetary@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?monetary@?$_Locbase@H@std@@2HB DD 04H			; std::_Locbase<int>::monetary
CONST	ENDS
;	COMDAT ?ctype@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?ctype@?$_Locbase@H@std@@2HB DD 02H			; std::_Locbase<int>::ctype
CONST	ENDS
;	COMDAT ?collate@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?collate@?$_Locbase@H@std@@2HB DD 01H			; std::_Locbase<int>::collate
CONST	ENDS
_DATA	SEGMENT
__bad_alloc_Message DD FLAT:??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
_DATA	ENDS
;	COMDAT ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
CONST	SEGMENT
??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ DB 'bad allocation', 00H ; `string'
CONST	ENDS
PUBLIC	?strpbrk@@YAPADPADPBD@Z				; strpbrk
EXTRN	_strpbrk:PROC
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\string.h
;	COMDAT ?strpbrk@@YAPADPADPBD@Z
_TEXT	SEGMENT
__Str$ = 8						; size = 4
__Control$ = 12						; size = 4
?strpbrk@@YAPADPADPBD@Z PROC				; strpbrk, COMDAT

; 186  : 	{ return (char*)strpbrk((const char*)_Str, _Control); }

	jmp	_strpbrk
?strpbrk@@YAPADPADPBD@Z ENDP				; strpbrk
_TEXT	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	??_7GameObjObserverClass@@6B@			; GameObjObserverClass::`vftable'
PUBLIC	??0GameObjObserverClass@@QAE@XZ			; GameObjObserverClass::GameObjObserverClass
PUBLIC	??_R4GameObjObserverClass@@6B@			; GameObjObserverClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVGameObjObserverClass@@@8		; GameObjObserverClass `RTTI Type Descriptor'
PUBLIC	??_R3GameObjObserverClass@@8			; GameObjObserverClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2GameObjObserverClass@@8			; GameObjObserverClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@GameObjObserverClass@@8		; GameObjObserverClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EGameObjObserverClass@@UAEPAXI@Z:PROC	; GameObjObserverClass::`vector deleting destructor'
EXTRN	__purecall:PROC
;	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 ??_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 ??_R4GameObjObserverClass@@6B@
rdata$r	SEGMENT
??_R4GameObjObserverClass@@6B@ DD 00H			; GameObjObserverClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVGameObjObserverClass@@@8
	DD	FLAT:??_R3GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_7GameObjObserverClass@@6B@
CONST	SEGMENT
??_7GameObjObserverClass@@6B@ DD FLAT:??_R4GameObjObserverClass@@6B@ ; GameObjObserverClass::`vftable'
	DD	FLAT:??_EGameObjObserverClass@@UAEPAXI@Z
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0GameObjObserverClass@@QAE@XZ
_TEXT	SEGMENT
??0GameObjObserverClass@@QAE@XZ PROC			; GameObjObserverClass::GameObjObserverClass, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET ??_7GameObjObserverClass@@6B@
	ret	0
??0GameObjObserverClass@@QAE@XZ ENDP			; GameObjObserverClass::GameObjObserverClass
_TEXT	ENDS
PUBLIC	?Get_Name@ScriptImpClass@@UAEPADXZ		; ScriptImpClass::Get_Name
EXTRN	?GetName@ScriptFactory@@QAEPADXZ:PROC		; ScriptFactory::GetName
; Function compile flags: /Ogtpy
; File d:\source code\stgm\scripts.cpp
;	COMDAT ?Get_Name@ScriptImpClass@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@ScriptImpClass@@UAEPADXZ PROC			; ScriptImpClass::Get_Name, COMDAT
; _this$ = ecx

; 29   : 	return Factory->GetName();

	mov	ecx, DWORD PTR [ecx+20]
	jmp	?GetName@ScriptFactory@@QAEPADXZ	; ScriptFactory::GetName
?Get_Name@ScriptImpClass@@UAEPADXZ ENDP			; ScriptImpClass::Get_Name
_TEXT	ENDS
PUBLIC	?Attach@ScriptImpClass@@UAEXPAE@Z		; ScriptImpClass::Attach
; Function compile flags: /Ogtpy
;	COMDAT ?Attach@ScriptImpClass@@UAEXPAE@Z
_TEXT	SEGMENT
_newobj$ = 8						; size = 4
?Attach@ScriptImpClass@@UAEXPAE@Z PROC			; ScriptImpClass::Attach, COMDAT
; _this$ = ecx

; 34   : 	Attached = newobj;

	mov	eax, DWORD PTR _newobj$[esp-4]
	mov	DWORD PTR [ecx+8], eax

; 35   : }

	ret	4
?Attach@ScriptImpClass@@UAEXPAE@Z ENDP			; ScriptImpClass::Attach
_TEXT	ENDS
PUBLIC	?Set_Request_Destroy_Func@ScriptImpClass@@SAXP6AXPAVScriptClass@@@Z@Z ; ScriptImpClass::Set_Request_Destroy_Func
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Request_Destroy_Func@ScriptImpClass@@SAXP6AXPAVScriptClass@@@Z@Z
_TEXT	SEGMENT
_Func$ = 8						; size = 4
?Set_Request_Destroy_Func@ScriptImpClass@@SAXP6AXPAVScriptClass@@@Z@Z PROC ; ScriptImpClass::Set_Request_Destroy_Func, COMDAT

; 39   : 	RequestDestroyScript = Func;

	mov	eax, DWORD PTR _Func$[esp-4]
	mov	DWORD PTR ?RequestDestroyScript@ScriptImpClass@@0P6AXPAVScriptClass@@@ZA, eax ; ScriptImpClass::RequestDestroyScript

; 40   : }

	ret	0
?Set_Request_Destroy_Func@ScriptImpClass@@SAXP6AXPAVScriptClass@@@Z@Z ENDP ; ScriptImpClass::Set_Request_Destroy_Func
_TEXT	ENDS
PUBLIC	?Destroy_Script@ScriptImpClass@@QAEXXZ		; ScriptImpClass::Destroy_Script
; Function compile flags: /Ogtpy
;	COMDAT ?Destroy_Script@ScriptImpClass@@QAEXXZ
_TEXT	SEGMENT
?Destroy_Script@ScriptImpClass@@QAEXXZ PROC		; ScriptImpClass::Destroy_Script, COMDAT
; _this$ = ecx

; 44   : 	if (RequestDestroyScript)

	mov	eax, DWORD PTR ?RequestDestroyScript@ScriptImpClass@@0P6AXPAVScriptClass@@@ZA ; ScriptImpClass::RequestDestroyScript
	test	eax, eax
	je	SHORT $LN1@Destroy_Sc

; 45   : 	{
; 46   : 		(RequestDestroyScript) (this);

	push	ecx
	call	eax
	pop	ecx
$LN1@Destroy_Sc:

; 47   : 	}
; 48   : }

	ret	0
?Destroy_Script@ScriptImpClass@@QAEXXZ ENDP		; ScriptImpClass::Destroy_Script
_TEXT	ENDS
PUBLIC	?Detach@ScriptImpClass@@UAEXPAE@Z		; ScriptImpClass::Detach
; Function compile flags: /Ogtpy
;	COMDAT ?Detach@ScriptImpClass@@UAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Detach@ScriptImpClass@@UAEXPAE@Z PROC			; ScriptImpClass::Detach, COMDAT
; _this$ = ecx

; 52   : 	Attached = 0;

	mov	DWORD PTR [ecx+8], 0

; 53   : 	Destroy_Script();

	mov	eax, DWORD PTR ?RequestDestroyScript@ScriptImpClass@@0P6AXPAVScriptClass@@@ZA ; ScriptImpClass::RequestDestroyScript
	test	eax, eax
	je	SHORT $LN3@Detach
	push	ecx
	call	eax
	pop	ecx
$LN3@Detach:

; 54   : }

	ret	4
?Detach@ScriptImpClass@@UAEXPAE@Z ENDP			; ScriptImpClass::Detach
_TEXT	ENDS
PUBLIC	?Created@ScriptImpClass@@UAEXPAE@Z		; ScriptImpClass::Created
; Function compile flags: /Ogtpy
;	COMDAT ?Created@ScriptImpClass@@UAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@ScriptImpClass@@UAEXPAE@Z PROC			; ScriptImpClass::Created, COMDAT
; _this$ = ecx

; 58   : }

	ret	4
?Created@ScriptImpClass@@UAEXPAE@Z ENDP			; ScriptImpClass::Created
_TEXT	ENDS
PUBLIC	?Destroyed@ScriptImpClass@@UAEXPAE@Z		; ScriptImpClass::Destroyed
; Function compile flags: /Ogtpy
;	COMDAT ?Destroyed@ScriptImpClass@@UAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Destroyed@ScriptImpClass@@UAEXPAE@Z PROC		; ScriptImpClass::Destroyed, COMDAT
; _this$ = ecx

; 62   : }

	ret	4
?Destroyed@ScriptImpClass@@UAEXPAE@Z ENDP		; ScriptImpClass::Destroyed
_TEXT	ENDS
PUBLIC	?Damaged@ScriptImpClass@@UAEXPAE0M@Z		; ScriptImpClass::Damaged
; Function compile flags: /Ogtpy
;	COMDAT ?Damaged@ScriptImpClass@@UAEXPAE0M@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_damager$ = 12						; size = 4
_damage$ = 16						; size = 4
?Damaged@ScriptImpClass@@UAEXPAE0M@Z PROC		; ScriptImpClass::Damaged, COMDAT
; _this$ = ecx

; 66   : }

	ret	12					; 0000000cH
?Damaged@ScriptImpClass@@UAEXPAE0M@Z ENDP		; ScriptImpClass::Damaged
_TEXT	ENDS
PUBLIC	?Killed@ScriptImpClass@@UAEXPAE0@Z		; ScriptImpClass::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Killed@ScriptImpClass@@UAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@ScriptImpClass@@UAEXPAE0@Z PROC			; ScriptImpClass::Killed, COMDAT
; _this$ = ecx

; 70   : }

	ret	8
?Killed@ScriptImpClass@@UAEXPAE0@Z ENDP			; ScriptImpClass::Killed
_TEXT	ENDS
PUBLIC	?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z ; ScriptImpClass::Sound_Heard
; Function compile flags: /Ogtpy
;	COMDAT ?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_sound$ = 12						; size = 4
?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z PROC ; ScriptImpClass::Sound_Heard, COMDAT
; _this$ = ecx

; 74   : }

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

; 78   : }

	ret	16					; 00000010H
?Custom@ScriptImpClass@@UAEXPAEHH0@Z ENDP		; ScriptImpClass::Custom
_TEXT	ENDS
PUBLIC	?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z ; ScriptImpClass::Action_Complete
; Function compile flags: /Ogtpy
;	COMDAT ?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z PROC ; ScriptImpClass::Action_Complete, COMDAT
; _this$ = ecx

; 82   : }

	ret	12					; 0000000cH
?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z ENDP ; ScriptImpClass::Action_Complete
_TEXT	ENDS
PUBLIC	?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z		; ScriptImpClass::Enemy_Seen
; Function compile flags: /Ogtpy
;	COMDAT ?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z PROC		; ScriptImpClass::Enemy_Seen, COMDAT
; _this$ = ecx

; 86   : }

	ret	8
?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z ENDP		; ScriptImpClass::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z	; ScriptImpClass::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z PROC		; ScriptImpClass::Timer_Expired, COMDAT
; _this$ = ecx

; 90   : }

	ret	8
?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z ENDP		; ScriptImpClass::Timer_Expired
_TEXT	ENDS
PUBLIC	?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z ; ScriptImpClass::Animation_Complete
; Function compile flags: /Ogtpy
;	COMDAT ?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_anim$ = 12						; size = 4
?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z PROC	; ScriptImpClass::Animation_Complete, COMDAT
; _this$ = ecx

; 94   : }

	ret	8
?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z ENDP	; ScriptImpClass::Animation_Complete
_TEXT	ENDS
PUBLIC	?Poked@ScriptImpClass@@UAEXPAE0@Z		; ScriptImpClass::Poked
; Function compile flags: /Ogtpy
;	COMDAT ?Poked@ScriptImpClass@@UAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_poker$ = 12						; size = 4
?Poked@ScriptImpClass@@UAEXPAE0@Z PROC			; ScriptImpClass::Poked, COMDAT
; _this$ = ecx

; 98   : }

	ret	8
?Poked@ScriptImpClass@@UAEXPAE0@Z ENDP			; ScriptImpClass::Poked
_TEXT	ENDS
PUBLIC	?Entered@ScriptImpClass@@UAEXPAE0@Z		; ScriptImpClass::Entered
; Function compile flags: /Ogtpy
;	COMDAT ?Entered@ScriptImpClass@@UAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_enter$ = 12						; size = 4
?Entered@ScriptImpClass@@UAEXPAE0@Z PROC		; ScriptImpClass::Entered, COMDAT
; _this$ = ecx

; 102  : }

	ret	8
?Entered@ScriptImpClass@@UAEXPAE0@Z ENDP		; ScriptImpClass::Entered
_TEXT	ENDS
PUBLIC	?Exited@ScriptImpClass@@UAEXPAE0@Z		; ScriptImpClass::Exited
; Function compile flags: /Ogtpy
;	COMDAT ?Exited@ScriptImpClass@@UAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_exit$ = 12						; size = 4
?Exited@ScriptImpClass@@UAEXPAE0@Z PROC			; ScriptImpClass::Exited, COMDAT
; _this$ = ecx

; 106  : }

	ret	8
?Exited@ScriptImpClass@@UAEXPAE0@Z ENDP			; ScriptImpClass::Exited
_TEXT	ENDS
PUBLIC	?Owner@ScriptImpClass@@UAEPAEXZ			; ScriptImpClass::Owner
; Function compile flags: /Ogtpy
;	COMDAT ?Owner@ScriptImpClass@@UAEPAEXZ
_TEXT	SEGMENT
?Owner@ScriptImpClass@@UAEPAEXZ PROC			; ScriptImpClass::Owner, COMDAT
; _this$ = ecx

; 110  : 	return Attached;

	mov	eax, DWORD PTR [ecx+8]

; 111  : }

	ret	0
?Owner@ScriptImpClass@@UAEPAEXZ ENDP			; ScriptImpClass::Owner
_TEXT	ENDS
PUBLIC	?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ	; ScriptImpClass::Get_Owner_Ptr
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
_TEXT	SEGMENT
?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ PROC		; ScriptImpClass::Get_Owner_Ptr, COMDAT
; _this$ = ecx

; 115  : 	return &Attached;

	lea	eax, DWORD PTR [ecx+8]

; 116  : }

	ret	0
?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ ENDP		; ScriptImpClass::Get_Owner_Ptr
_TEXT	ENDS
PUBLIC	?Save@ScriptImpClass@@UAEXAAE@Z			; ScriptImpClass::Save
EXTRN	?Commands@@3PAUScriptCommands@@A:DWORD		; Commands
; Function compile flags: /Ogtpy
;	COMDAT ?Save@ScriptImpClass@@UAEXAAE@Z
_TEXT	SEGMENT
_saver$ = 8						; size = 4
?Save@ScriptImpClass@@UAEXAAE@Z PROC			; ScriptImpClass::Save, COMDAT
; _this$ = ecx

; 180  : 	SeralizeInfoStr *d;
; 181  : 	d = seralizeinfo;
; 182  : 	Commands->Begin_Chunk(saver,0x63736176);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	esi, DWORD PTR [ecx+24]
	mov	ecx, DWORD PTR [eax+344]
	push	edi
	mov	edi, DWORD PTR _saver$[esp+4]
	push	1668505974				; 63736176H
	push	edi
	call	ecx
	add	esp, 8

; 183  : 	while (d)

	test	esi, esi
	je	SHORT $LN1@Save
$LL2@Save:

; 184  : 	{
; 185  : 		Commands->Save_Data(saver,d->number,d->size,d->data);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [esi+8]
	push	edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+320]
	push	ecx
	push	edi
	call	eax

; 186  : 		d = d->next;

	mov	esi, DWORD PTR [esi+12]
	add	esp, 16					; 00000010H
	test	esi, esi
	jne	SHORT $LL2@Save
$LN1@Save:

; 187  : 	}
; 188  : 	Commands->End_Chunk(saver);

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

; 189  : }

	ret	4
?Save@ScriptImpClass@@UAEXAAE@Z ENDP			; ScriptImpClass::Save
_TEXT	ENDS
PUBLIC	?Load@ScriptImpClass@@UAEXAAE@Z			; ScriptImpClass::Load
; Function compile flags: /Ogtpy
;	COMDAT ?Load@ScriptImpClass@@UAEXAAE@Z
_TEXT	SEGMENT
_x$ = -4						; size = 4
_y$ = 8							; size = 4
_loader$ = 8						; size = 4
?Load@ScriptImpClass@@UAEXAAE@Z PROC			; ScriptImpClass::Load, COMDAT
; _this$ = ecx

; 192  : {

	push	ecx
	push	ebx
	push	edi

; 193  : 	unsigned int x;
; 194  : 	int y;
; 195  : 	SeralizeInfoStr *d;
; 196  : 	while (Commands->Open_Chunk(loader,&x))

	mov	edi, DWORD PTR _loader$[esp+8]
	lea	eax, DWORD PTR _x$[esp+12]
	mov	ebx, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+352]
	push	eax
	push	edi
	call	edx
	add	esp, 8
	test	al, al
	je	$LN7@Load
	push	esi
	npad	7
$LL8@Load:

; 197  : 	{
; 198  : 		if (x == 0x63736176)

	cmp	DWORD PTR _x$[esp+16], 1668505974	; 63736176H
	jne	SHORT $LN4@Load

; 199  : 		{
; 200  : 			while (Commands->Load_Begin(loader,&y))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+328]
	lea	eax, DWORD PTR _y$[esp+12]
	push	eax
	push	edi
	call	edx
	add	esp, 8
	test	al, al
	je	SHORT $LN4@Load
$LL5@Load:

; 201  : 			{
; 202  : 				d = seralizeinfo;

	mov	esi, DWORD PTR [ebx+24]

; 203  : 				while (d)

	test	esi, esi
	je	SHORT $LN2@Load
	npad	4
$LL3@Load:

; 204  : 				{
; 205  : 					if (d->number == y)

	mov	eax, DWORD PTR [esi+8]
	cmp	eax, DWORD PTR _y$[esp+12]
	jne	SHORT $LN1@Load

; 206  : 					{
; 207  : 						Commands->Load_Data(loader,d->size,d->data);

	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	ecx, DWORD PTR [eax+332]
	push	edx
	push	edi
	call	ecx
	add	esp, 12					; 0000000cH
$LN1@Load:

; 208  : 					}
; 209  : 					d = d->next;

	mov	esi, DWORD PTR [esi+12]
	test	esi, esi
	jne	SHORT $LL3@Load
$LN2@Load:

; 210  : 				}
; 211  : 				Commands->Load_End(loader);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+340]
	push	edi
	call	eax
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+328]
	lea	ecx, DWORD PTR _y$[esp+16]
	push	ecx
	push	edi
	call	eax
	add	esp, 12					; 0000000cH
	test	al, al
	jne	SHORT $LL5@Load
$LN4@Load:

; 212  : 			}
; 213  : 		}
; 214  : 		Commands->Close_Chunk(loader);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+356]
	push	edi
	call	edx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+352]
	lea	eax, DWORD PTR _x$[esp+20]
	push	eax
	push	edi
	call	edx
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$LL8@Load
	pop	esi
$LN7@Load:
	pop	edi
	pop	ebx

; 215  : 	}
; 216  : }

	pop	ecx
	ret	4
?Load@ScriptImpClass@@UAEXAAE@Z ENDP			; ScriptImpClass::Load
_TEXT	ENDS
PUBLIC	?Save_Data@ScriptImpClass@@UAEXAAE@Z		; ScriptImpClass::Save_Data
; Function compile flags: /Ogtpy
;	COMDAT ?Save_Data@ScriptImpClass@@UAEXAAE@Z
_TEXT	SEGMENT
_saver$ = 8						; size = 4
?Save_Data@ScriptImpClass@@UAEXAAE@Z PROC		; ScriptImpClass::Save_Data, COMDAT
; _this$ = ecx

; 220  : }

	ret	4
?Save_Data@ScriptImpClass@@UAEXAAE@Z ENDP		; ScriptImpClass::Save_Data
_TEXT	ENDS
PUBLIC	?Load_Data@ScriptImpClass@@UAEXAAE@Z		; ScriptImpClass::Load_Data
; Function compile flags: /Ogtpy
;	COMDAT ?Load_Data@ScriptImpClass@@UAEXAAE@Z
_TEXT	SEGMENT
_loader$ = 8						; size = 4
?Load_Data@ScriptImpClass@@UAEXAAE@Z PROC		; ScriptImpClass::Load_Data, COMDAT
; _this$ = ecx

; 224  : }

	ret	4
?Load_Data@ScriptImpClass@@UAEXAAE@Z ENDP		; ScriptImpClass::Load_Data
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ ; ScriptImpClass::Register_Auto_Save_Variables
; Function compile flags: /Ogtpy
;	COMDAT ?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ PROC ; ScriptImpClass::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 228  : }

	ret	0
?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ ENDP ; ScriptImpClass::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?CheckPlayerType@ScriptImpClass@@QAEHPAEH@Z	; ScriptImpClass::CheckPlayerType
; Function compile flags: /Ogtpy
;	COMDAT ?CheckPlayerType@ScriptImpClass@@QAEHPAEH@Z
_TEXT	SEGMENT
_pos$56582 = -24					; size = 12
$T60756 = -12						; size = 12
_obj$ = 8						; size = 4
_type$ = 12						; size = 4
?CheckPlayerType@ScriptImpClass@@QAEHPAEH@Z PROC	; ScriptImpClass::CheckPlayerType, COMDAT
; _this$ = ecx

; 231  : {

	sub	esp, 24					; 00000018H
	push	esi

; 232  : 	if (type == 3)

	mov	esi, DWORD PTR _type$[esp+24]
	cmp	esi, 3
	jne	SHORT $LN3@CheckPlaye

; 233  : 	{
; 234  : 		GameObject *object = Owner();

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx

; 235  : 		Vector3 pos = Commands->Get_Position(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+64]
	push	eax
	lea	eax, DWORD PTR $T60756[esp+32]
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$56582[esp+36], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$56582[esp+40], edx
	mov	eax, DWORD PTR [eax+8]

; 236  : 		object = Commands->Get_A_Star(pos);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos$56582[esp+36]
	mov	DWORD PTR _pos$56582[esp+44], eax
	mov	eax, DWORD PTR [edx+272]
	push	ecx
	call	eax

; 237  : 		if (object == obj)

	xor	ecx, ecx
	add	esp, 12					; 0000000cH
	cmp	eax, DWORD PTR _obj$[esp+24]
	pop	esi
	setne	cl
	mov	eax, ecx

; 252  : 	{
; 253  : 		return 0;
; 254  : 	}
; 255  : 	return 1;
; 256  : }

	add	esp, 24					; 00000018H
	ret	8
$LN3@CheckPlaye:

; 238  : 		{
; 239  : 			return 0;
; 240  : 		}
; 241  : 		else
; 242  : 		{
; 243  : 			return 1;
; 244  : 		}
; 245  : 	}
; 246  : 	if (type == 2)

	cmp	esi, 2
	jne	SHORT $LN2@CheckPlaye

; 247  : 	{
; 248  : 		return 0;

	xor	eax, eax
	pop	esi

; 252  : 	{
; 253  : 		return 0;
; 254  : 	}
; 255  : 	return 1;
; 256  : }

	add	esp, 24					; 00000018H
	ret	8
$LN2@CheckPlaye:

; 249  : 	}
; 250  : 	int pltype = Commands->Get_Player_Type(obj);

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

; 251  : 	if (pltype == type)

	xor	edx, edx
	add	esp, 4
	cmp	eax, esi
	setne	dl
	pop	esi
	mov	eax, edx

; 252  : 	{
; 253  : 		return 0;
; 254  : 	}
; 255  : 	return 1;
; 256  : }

	add	esp, 24					; 00000018H
	ret	8
?CheckPlayerType@ScriptImpClass@@QAEHPAEH@Z ENDP	; ScriptImpClass::CheckPlayerType
_TEXT	ENDS
PUBLIC	??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@		; `string'
PUBLIC	??_C@_0CD@GBDONEKG@ScriptImpClass?3?3Auto_Save_Variab@ ; `string'
PUBLIC	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z	; ScriptImpClass::Auto_Save_Variable
EXTRN	??2@YAPAXI@Z:PROC				; operator new
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
;	COMDAT ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
CONST	SEGMENT
??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@ DB '.\scripts.cpp', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CD@GBDONEKG@ScriptImpClass?3?3Auto_Save_Variab@
CONST	SEGMENT
??_C@_0CD@GBDONEKG@ScriptImpClass?3?3Auto_Save_Variab@ DB 'ScriptImpClass'
	DB	'::Auto_Save_Variable', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z
_TEXT	SEGMENT
_num$ = 8						; size = 4
_size$ = 12						; size = 4
_var$ = 16						; size = 4
?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z PROC	; ScriptImpClass::Auto_Save_Variable, COMDAT
; _this$ = ecx

; 259  : {

	push	esi
	push	edi

; 260  : 	SeralizeInfoStr *d,*d2;
; 261  : 	if (num < 0 || num > 0xff || size > 0xfa)

	mov	edi, DWORD PTR _num$[esp+4]
	cmp	edi, 255				; 000000ffH
	mov	esi, ecx
	ja	SHORT $LN5@Auto_Save_
	push	ebx
	mov	ebx, DWORD PTR _size$[esp+8]
	cmp	ebx, 250				; 000000faH
	jg	SHORT $LN14@Auto_Save_

; 262  : 		return;
; 263  : 	d = seralizeinfo;

	mov	eax, DWORD PTR [esi+24]

; 264  : 	while (d)

	test	eax, eax
	je	SHORT $LN3@Auto_Save_
$LL4@Auto_Save_:

; 265  : 	{
; 266  : 		if (d->number == num)

	cmp	DWORD PTR [eax+8], edi
	je	SHORT $LN14@Auto_Save_

; 267  : 		{
; 268  : 			return;
; 269  : 		}
; 270  : 		d = d->next;

	mov	eax, DWORD PTR [eax+12]
	test	eax, eax
	jne	SHORT $LL4@Auto_Save_
$LN3@Auto_Save_:

; 271  : 	}
; 272  : 	d2 = new SeralizeInfoStr;

	push	OFFSET ??_C@_0CD@GBDONEKG@ScriptImpClass?3?3Auto_Save_Variab@
	push	272					; 00000110H
	push	OFFSET ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H

; 273  : 	if (!d2)

	test	eax, eax
	jne	SHORT $LN1@Auto_Save_
	pop	ebx
	pop	edi

; 274  : 	{
; 275  : 		seralizeinfo = 0;

	mov	DWORD PTR [esi+24], eax
	pop	esi

; 284  : }

	ret	12					; 0000000cH
$LN1@Auto_Save_:

; 276  : 		return;
; 277  : 	}
; 278  : 	d = seralizeinfo;

	mov	ecx, DWORD PTR [esi+24]

; 279  : 	d2->number = num;
; 280  : 	d2->size = size;
; 281  : 	d2->data = var;

	mov	edx, DWORD PTR _var$[esp+8]
	mov	DWORD PTR [eax+8], edi
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax], edx

; 282  : 	d2->next = d;

	mov	DWORD PTR [eax+12], ecx

; 283  : 	seralizeinfo = d2;

	mov	DWORD PTR [esi+24], eax
$LN14@Auto_Save_:
	pop	ebx
$LN5@Auto_Save_:
	pop	edi
	pop	esi

; 284  : }

	ret	12					; 0000000cH
?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ENDP	; ScriptImpClass::Auto_Save_Variable
_TEXT	ENDS
PUBLIC	??1GameObjObserverClass@@UAE@XZ			; GameObjObserverClass::~GameObjObserverClass
; Function compile flags: /Ogtpy
;	COMDAT ??1GameObjObserverClass@@UAE@XZ
_TEXT	SEGMENT
??1GameObjObserverClass@@UAE@XZ PROC			; GameObjObserverClass::~GameObjObserverClass, COMDAT
; _this$ = ecx

; 302  : {

	mov	DWORD PTR [ecx], OFFSET ??_7GameObjObserverClass@@6B@

; 303  : }

	ret	0
??1GameObjObserverClass@@UAE@XZ ENDP			; GameObjObserverClass::~GameObjObserverClass
_TEXT	ENDS
PUBLIC	??_C@_0CB@IPMHKMCO@ScriptImpClass?3?3Clear_Parameters@ ; `string'
PUBLIC	?Clear_Parameters@ScriptImpClass@@QAEXXZ	; ScriptImpClass::Clear_Parameters
EXTRN	??_V@YAXPAX@Z:PROC				; operator delete[]
;	COMDAT ??_C@_0CB@IPMHKMCO@ScriptImpClass?3?3Clear_Parameters@
CONST	SEGMENT
??_C@_0CB@IPMHKMCO@ScriptImpClass?3?3Clear_Parameters@ DB 'ScriptImpClass'
	DB	'::Clear_Parameters', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Clear_Parameters@ScriptImpClass@@QAEXXZ
_TEXT	SEGMENT
?Clear_Parameters@ScriptImpClass@@QAEXXZ PROC		; ScriptImpClass::Clear_Parameters, COMDAT
; _this$ = ecx

; 306  : {

	push	esi
	push	edi
	mov	esi, ecx

; 307  : 	if (mArgV)

	xor	edi, edi
	cmp	DWORD PTR [esi+16], edi
	je	SHORT $LN13@Clear_Para

; 308  : 	{
; 309  : 		while (mArgC--)

	cmp	DWORD PTR [esi+12], edi
	je	SHORT $LN12@Clear_Para
$LL3@Clear_Para:
	add	DWORD PTR [esi+12], -1
	mov	eax, DWORD PTR [esi+12]

; 310  : 		{
; 311  : 			if (mArgV[mArgC])

	mov	ecx, DWORD PTR [esi+16]
	cmp	DWORD PTR [ecx+eax*4], edi
	je	SHORT $LN8@Clear_Para

; 312  : 				delete[] mArgV[mArgC];

	push	OFFSET ??_C@_0CB@IPMHKMCO@ScriptImpClass?3?3Clear_Parameters@
	push	312					; 00000138H
	push	OFFSET ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi+16]
	mov	ecx, DWORD PTR [eax+edx*4]
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN8@Clear_Para:

; 308  : 	{
; 309  : 		while (mArgC--)

	cmp	DWORD PTR [esi+12], edi
	jne	SHORT $LL3@Clear_Para
$LN12@Clear_Para:
	add	DWORD PTR [esi+12], -1

; 313  : 		}
; 314  : 		delete[] mArgV;

	push	OFFSET ??_C@_0CB@IPMHKMCO@ScriptImpClass?3?3Clear_Parameters@
	push	314					; 0000013aH
	push	OFFSET ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+16]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN13@Clear_Para:

; 315  : 	}
; 316  : 	mArgV = 0;
; 317  : 	mArgC = 0;

	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+16], edi
	pop	edi
	pop	esi

; 318  : }

	ret	0
?Clear_Parameters@ScriptImpClass@@QAEXXZ ENDP		; ScriptImpClass::Clear_Parameters
_TEXT	ENDS
PUBLIC	?strtrim@@YAPADPAD@Z				; strtrim
; Function compile flags: /Ogtpy
;	COMDAT ?strtrim@@YAPADPAD@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?strtrim@@YAPADPAD@Z PROC				; strtrim, COMDAT

; 337  : 	if (v)

	mov	eax, DWORD PTR _v$[esp-4]
	test	eax, eax
	je	SHORT $LN5@strtrim

; 338  : 	{
; 339  : 		char *r = v;
; 340  : 		while (*r > 0 && *r < 0x21)

	mov	dl, BYTE PTR [eax]
	test	dl, dl
	mov	ecx, eax
	jle	SHORT $LN3@strtrim
$LL4@strtrim:
	cmp	dl, 33					; 00000021H
	jge	SHORT $LN3@strtrim
	mov	dl, BYTE PTR [ecx+1]

; 341  : 			r++;

	add	ecx, 1
	test	dl, dl
	jg	SHORT $LL4@strtrim
$LN3@strtrim:
	push	esi

; 342  : 		strcpy(v,r);

	mov	esi, eax
	sub	esi, ecx
$LL8@strtrim:
	mov	dl, BYTE PTR [ecx]
	mov	BYTE PTR [esi+ecx], dl
	add	ecx, 1
	test	dl, dl
	jne	SHORT $LL8@strtrim

; 343  : 		r = v + strlen(v);

	mov	ecx, eax
	lea	esi, DWORD PTR [ecx+1]
$LL14@strtrim:
	mov	dl, BYTE PTR [ecx]
	add	ecx, 1
	test	dl, dl
	jne	SHORT $LL14@strtrim
	sub	ecx, esi
	add	ecx, eax

; 344  : 		while (r > v && r[-1] > 0 && r[-1] < 0x21)

	cmp	ecx, eax
	pop	esi
	jbe	SHORT $LN1@strtrim
$LL2@strtrim:
	mov	dl, BYTE PTR [ecx-1]
	test	dl, dl
	jle	SHORT $LN1@strtrim
	cmp	dl, 33					; 00000021H
	jge	SHORT $LN1@strtrim
	add	ecx, -1
	cmp	ecx, eax
	ja	SHORT $LL2@strtrim
$LN1@strtrim:

; 345  : 			r--;
; 346  : 		*r = 0;

	mov	BYTE PTR [ecx], 0
$LN5@strtrim:

; 347  : 	}
; 348  : 	return v;
; 349  : }

	ret	0
?strtrim@@YAPADPAD@Z ENDP				; strtrim
_TEXT	ENDS
PUBLIC	??_C@_0CM@KMOCPEFC@Critical?5Scripts?4dll?5error?0param@ ; `string'
PUBLIC	??_C@_0N@CILGKGLK@critical?4txt?$AA@		; `string'
PUBLIC	??_C@_02CPIDLAI@at?$AA@				; `string'
PUBLIC	??_C@_03POJIIFD@?$DN?3?6?$AA@			; `string'
PUBLIC	?Get_Parameter_Index@ScriptImpClass@@QAEHPBD@Z	; ScriptImpClass::Get_Parameter_Index
EXTRN	_fclose:PROC
EXTRN	_fprintf:PROC
EXTRN	_fopen:PROC
EXTRN	__stricmp:PROC
EXTRN	_strncpy:PROC
EXTRN	?GetParamDescription@ScriptFactory@@QAEPADXZ:PROC ; ScriptFactory::GetParamDescription
EXTRN	__chkstk:PROC
;	COMDAT ??_C@_0CM@KMOCPEFC@Critical?5Scripts?4dll?5error?0param@
; File c:\program files\microsoft visual studio 8\vc\include\string.h
CONST	SEGMENT
??_C@_0CM@KMOCPEFC@Critical?5Scripts?4dll?5error?0param@ DB 'Critical Scr'
	DB	'ipts.dll error,parameter is %s', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@CILGKGLK@critical?4txt?$AA@
CONST	SEGMENT
??_C@_0N@CILGKGLK@critical?4txt?$AA@ DB 'critical.txt', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_02CPIDLAI@at?$AA@
CONST	SEGMENT
??_C@_02CPIDLAI@at?$AA@ DB 'at', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03POJIIFD@?$DN?3?6?$AA@
CONST	SEGMENT
??_C@_03POJIIFD@?$DN?3?6?$AA@ DB '=:', 0aH, 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\scripts.cpp
CONST	ENDS
;	COMDAT ?Get_Parameter_Index@ScriptImpClass@@QAEHPBD@Z
_TEXT	SEGMENT
_b$ = -8192						; size = 8192
_v$ = 8							; size = 4
?Get_Parameter_Index@ScriptImpClass@@QAEHPBD@Z PROC	; ScriptImpClass::Get_Parameter_Index, COMDAT
; _this$ = ecx

; 357  : {

	mov	eax, 8192				; 00002000H
	call	__chkstk

; 358  : 	char b[0x2000];
; 359  : 	strncpy(b,Factory->GetParamDescription(),0x1fff);

	mov	ecx, DWORD PTR [ecx+20]
	push	ebx
	push	ebp
	push	esi
	push	edi
	push	8191					; 00001fffH
	call	?GetParamDescription@ScriptFactory@@QAEPADXZ ; ScriptFactory::GetParamDescription
	push	eax
	lea	eax, DWORD PTR _b$[esp+8216]
	push	eax
	call	_strncpy

; 360  : 	b[0x1fff] = 0;
; 361  : 	char *r = b;
; 362  : 	for (int i = 0; *r ; i++)

	mov	ebp, DWORD PTR _v$[esp+8216]
	xor	ebx, ebx
	add	esp, 12					; 0000000cH
	cmp	BYTE PTR _b$[esp+8208], bl
	mov	BYTE PTR _b$[esp+16399], 0
	lea	edi, DWORD PTR _b$[esp+8208]
	je	SHORT $LN7@Get_Parame
$LL9@Get_Parame:

; 363  : 	{
; 364  : 		char *r2 = r;
; 365  : 		while (*r2 && *r2 != ',')

	cmp	BYTE PTR [edi], 0
	mov	esi, edi
	je	SHORT $LN5@Get_Parame
	npad	5
$LL6@Get_Parame:
	cmp	BYTE PTR [esi], 44			; 0000002cH
	je	SHORT $LN5@Get_Parame

; 366  : 			r2++;

	add	esi, 1
	cmp	BYTE PTR [esi], 0
	jne	SHORT $LL6@Get_Parame
$LN5@Get_Parame:

; 367  : 		if (*r2)

	cmp	BYTE PTR [esi], 0
	je	SHORT $LN4@Get_Parame

; 368  : 			*r2++ = 0;

	mov	BYTE PTR [esi], 0
	add	esi, 1
$LN4@Get_Parame:

; 369  : 		char *r3 = strpbrk(r,"=:\n");

	push	OFFSET ??_C@_03POJIIFD@?$DN?3?6?$AA@
	push	edi
	call	_strpbrk
	add	esp, 8

; 370  : 		if (r3)

	test	eax, eax
	je	SHORT $LN3@Get_Parame

; 371  : 			*r3 = 0;

	mov	BYTE PTR [eax], 0
$LN3@Get_Parame:

; 372  : 		strtrim(r);

	push	edi
	call	?strtrim@@YAPADPAD@Z			; strtrim

; 373  : 		if (!_stricmp(r,v))

	push	ebp
	push	edi
	call	__stricmp
	add	esp, 12					; 0000000cH
	test	eax, eax
	je	SHORT $LN16@Get_Parame
	add	ebx, 1
	cmp	BYTE PTR [esi], 0

; 375  : 		r = r2;

	mov	edi, esi
	jne	SHORT $LL9@Get_Parame
$LN7@Get_Parame:

; 376  : 	}
; 377  : 	FILE *f = fopen("critical.txt","at");

	push	OFFSET ??_C@_02CPIDLAI@at?$AA@
	push	OFFSET ??_C@_0N@CILGKGLK@critical?4txt?$AA@
	call	_fopen
	mov	esi, eax
	add	esp, 8

; 378  : 	if (f)

	test	esi, esi
	je	SHORT $LN1@Get_Parame

; 379  : 	{
; 380  : 		fprintf(f,"Critical Scripts.dll error,parameter is %s\n",v);

	push	ebp
	push	OFFSET ??_C@_0CM@KMOCPEFC@Critical?5Scripts?4dll?5error?0param@
	push	esi
	call	_fprintf

; 381  : 		fclose(f);

	push	esi
	call	_fclose
	add	esp, 16					; 00000010H
$LN1@Get_Parame:
	pop	edi
	pop	esi
	pop	ebp

; 382  : 	}
; 383  : 	return -1;

	or	eax, -1
	pop	ebx

; 384  : }

	add	esp, 8192				; 00002000H
	ret	4
$LN16@Get_Parame:
	pop	edi
	pop	esi
	pop	ebp

; 374  : 			return i;

	mov	eax, ebx
	pop	ebx

; 384  : }

	add	esp, 8192				; 00002000H
	ret	4
?Get_Parameter_Index@ScriptImpClass@@QAEHPBD@Z ENDP	; ScriptImpClass::Get_Parameter_Index
_TEXT	ENDS
PUBLIC	?Get_Parameter_Count@ScriptImpClass@@QAEHXZ	; ScriptImpClass::Get_Parameter_Count
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Parameter_Count@ScriptImpClass@@QAEHXZ
_TEXT	SEGMENT
?Get_Parameter_Count@ScriptImpClass@@QAEHXZ PROC	; ScriptImpClass::Get_Parameter_Count, COMDAT
; _this$ = ecx

; 388  : 	return mArgC;

	mov	eax, DWORD PTR [ecx+12]

; 389  : }

	ret	0
?Get_Parameter_Count@ScriptImpClass@@QAEHXZ ENDP	; ScriptImpClass::Get_Parameter_Count
_TEXT	ENDS
PUBLIC	??_C@_0BO@POJFBJIE@ScriptImpClass?3?3Set_Parameter?$AA@ ; `string'
PUBLIC	?Set_Parameter@ScriptImpClass@@QAEXHPBD@Z	; ScriptImpClass::Set_Parameter
EXTRN	?cpystr@@YAPADPBDPAD@Z:PROC			; cpystr
EXTRN	??_U@YAPAXI@Z:PROC				; operator new[]
;	COMDAT ??_C@_0BO@POJFBJIE@ScriptImpClass?3?3Set_Parameter?$AA@
CONST	SEGMENT
??_C@_0BO@POJFBJIE@ScriptImpClass?3?3Set_Parameter?$AA@ DB 'ScriptImpClas'
	DB	's::Set_Parameter', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Set_Parameter@ScriptImpClass@@QAEXHPBD@Z
_TEXT	SEGMENT
_pos$ = 8						; size = 4
_v$ = 12						; size = 4
?Set_Parameter@ScriptImpClass@@QAEXHPBD@Z PROC		; ScriptImpClass::Set_Parameter, COMDAT
; _this$ = ecx

; 402  : {

	push	ebx
	push	esi
	mov	esi, ecx

; 403  : 	if (mArgV[pos])

	mov	eax, DWORD PTR [esi+16]
	push	edi
	mov	edi, DWORD PTR _pos$[esp+8]
	cmp	DWORD PTR [eax+edi*4], 0
	je	SHORT $LN5@Set_Parame

; 404  : 	{
; 405  : 		delete[] mArgV[pos];

	push	OFFSET ??_C@_0BO@POJFBJIE@ScriptImpClass?3?3Set_Parameter?$AA@
	push	405					; 00000195H
	push	OFFSET ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+16]
	mov	edx, DWORD PTR [ecx+edi*4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN5@Set_Parame:

; 406  : 	}
; 407  : 	mArgV[pos] = newstr(v);

	push	OFFSET ??_C@_0BO@POJFBJIE@ScriptImpClass?3?3Set_Parameter?$AA@
	push	407					; 00000197H
	push	OFFSET ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ebx, DWORD PTR _v$[esp+20]
	mov	eax, ebx
	add	esp, 12					; 0000000cH
	lea	edx, DWORD PTR [eax+1]
$LL8@Set_Parame:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL8@Set_Parame
	sub	eax, edx
	add	eax, 1
	push	eax
	call	??_U@YAPAXI@Z				; operator new[]
	push	eax
	push	ebx
	call	?cpystr@@YAPADPBDPAD@Z			; cpystr
	mov	ecx, DWORD PTR [esi+16]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [ecx+edi*4], eax
	pop	edi
	pop	esi
	pop	ebx

; 408  : }

	ret	8
?Set_Parameter@ScriptImpClass@@QAEXHPBD@Z ENDP		; ScriptImpClass::Set_Parameter
_TEXT	ENDS
PUBLIC	?Get_Parameter@ScriptImpClass@@QAEPBDH@Z	; ScriptImpClass::Get_Parameter
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Parameter@ScriptImpClass@@QAEPBDH@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Get_Parameter@ScriptImpClass@@QAEPBDH@Z PROC		; ScriptImpClass::Get_Parameter, COMDAT
; _this$ = ecx

; 412  : 	if ((v >= 0) && (v < mArgC))

	mov	eax, DWORD PTR _v$[esp-4]
	test	eax, eax
	jl	SHORT $LN2@Get_Parame@2
	cmp	eax, DWORD PTR [ecx+12]
	jge	SHORT $LN2@Get_Parame@2

; 413  : 	{
; 414  : 		return mArgV[v];

	mov	ecx, DWORD PTR [ecx+16]
	mov	eax, DWORD PTR [ecx+eax*4]

; 419  : 	}
; 420  : }

	ret	4
$LN2@Get_Parame@2:

; 415  : 	}
; 416  : 	else
; 417  : 	{
; 418  : 		return noparams;

	mov	eax, DWORD PTR ?noparams@@3PADA		; noparams

; 419  : 	}
; 420  : }

	ret	4
?Get_Parameter@ScriptImpClass@@QAEPBDH@Z ENDP		; ScriptImpClass::Get_Parameter
_TEXT	ENDS
PUBLIC	??_C@_08OEKJENGB@?$CFf?5?$CFf?5?$CFf?$AA@	; `string'
PUBLIC	__real@00000000
PUBLIC	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@H@Z ; ScriptImpClass::Get_Vector3_Parameter
EXTRN	_sscanf:PROC
EXTRN	??0Vector3@@QAE@MMM@Z:PROC			; Vector3::Vector3
EXTRN	__fltused:DWORD
;	COMDAT ??_C@_08OEKJENGB@?$CFf?5?$CFf?5?$CFf?$AA@
CONST	SEGMENT
??_C@_08OEKJENGB@?$CFf?5?$CFf?5?$CFf?$AA@ DB '%f %f %f', 00H ; `string'
CONST	ENDS
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@H@Z
_TEXT	SEGMENT
_r$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_v$ = 12						; size = 4
?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@H@Z PROC ; ScriptImpClass::Get_Vector3_Parameter, COMDAT
; _this$ = ecx

; 423  : {

	sub	esp, 12					; 0000000cH

; 424  : 	Vector3 r;

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

; 425  : 	r.X = 0;

	fldz

; 426  : 	r.Y = 0;
; 427  : 	r.Z = 0;
; 428  : 	if (sscanf(Get_Parameter(v),"%f %f %f",&r.X,&r.Y,&r.Z) != 3)

	mov	eax, DWORD PTR _v$[esp+12]
	fst	DWORD PTR _r$[esp+16]
	test	eax, eax
	fst	DWORD PTR _r$[esp+20]
	fstp	DWORD PTR _r$[esp+24]
	jl	SHORT $LN6@Get_Vector
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $LN6@Get_Vector
	mov	ecx, DWORD PTR [esi+16]
	mov	eax, DWORD PTR [ecx+eax*4]
	jmp	SHORT $LN5@Get_Vector
$LN6@Get_Vector:
	mov	eax, DWORD PTR ?noparams@@3PADA		; noparams
$LN5@Get_Vector:
	lea	edx, DWORD PTR _r$[esp+24]
	push	edx
	lea	ecx, DWORD PTR _r$[esp+24]
	push	ecx
	lea	edx, DWORD PTR _r$[esp+24]
	push	edx
	push	OFFSET ??_C@_08OEKJENGB@?$CFf?5?$CFf?5?$CFf?$AA@
	push	eax
	call	_sscanf
	add	esp, 20					; 00000014H
	cmp	eax, 3
	je	SHORT $LN2@Get_Vector

; 429  : 	{
; 430  : 		return Vector3(0,0,0);	

	fldz
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+12]
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	mov	ecx, esi
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3
	mov	eax, esi
	pop	esi

; 435  : 	}
; 436  : }

	add	esp, 12					; 0000000cH
	ret	8
$LN2@Get_Vector:

; 431  : 	}
; 432  : 	else
; 433  : 	{
; 434  : 		return r;

	mov	eax, DWORD PTR ___$ReturnUdt$[esp+12]
	mov	ecx, DWORD PTR _r$[esp+16]
	mov	edx, DWORD PTR _r$[esp+20]
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _r$[esp+24]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	pop	esi

; 435  : 	}
; 436  : }

	add	esp, 12					; 0000000cH
	ret	8
?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@H@Z ENDP ; ScriptImpClass::Get_Vector3_Parameter
_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
$T60836 = -12						; size = 12
_this$ = 8						; size = 4
$T60842 = 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 $T60842[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T60836[esp+20]
	mov	DWORD PTR $T60842[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T60836[esp+20]
	push	ecx
	mov	DWORD PTR $T60836[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
$T60848 = -12						; size = 12
$T60853 = 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 $T60853[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T60848[esp+20]
	mov	DWORD PTR $T60853[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T60848[esp+20]
	push	ecx
	mov	DWORD PTR $T60848[esp+24], OFFSET ??_7bad_alloc@std@@6B@
	call	__CxxThrowException@8
$LN9@allocate@2:
$LN8@allocate@2:
	int	3
?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z ENDP	; std::_DebugHeapAllocator<char>::allocate
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0bad_alloc@std@@QAE@ABV01@@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx
	mov	eax, DWORD PTR ___that$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABV01@@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0bad_alloc@std@@QAE@ABV01@@Z ENDP			; std::bad_alloc::bad_alloc
_TEXT	ENDS
PUBLIC	??0?$allocator@D@std@@QAE@XZ			; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ??0?$allocator@D@std@@QAE@XZ
_TEXT	SEGMENT
??0?$allocator@D@std@@QAE@XZ PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

; 120  : 	allocator() _THROW0()

	mov	eax, ecx

; 121  : 		{	// construct default allocator (do nothing)
; 122  : 		}

	ret	0
??0?$allocator@D@std@@QAE@XZ ENDP			; std::allocator<char>::allocator<char>
_TEXT	ENDS
PUBLIC	??0?$allocator@D@std@@QAE@ABV01@@Z		; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$allocator@D@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??0?$allocator@D@std@@QAE@ABV01@@Z PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

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

	mov	eax, ecx

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

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

; 56   : 	if (_Ptr != 0)

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

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

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

; 62   : 		}
; 63   : 	}

	ret	0
??$_DebugHeapDelete@X@std@@YAXPAX@Z ENDP		; std::_DebugHeapDelete<void>
_TEXT	ENDS
PUBLIC	??_7ScriptClass@@6B@				; ScriptClass::`vftable'
PUBLIC	??0ScriptClass@@QAE@XZ				; ScriptClass::ScriptClass
PUBLIC	??_R4ScriptClass@@6B@				; ScriptClass::`RTTI Complete Object Locator'
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@ScriptClass@@8			; ScriptClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EScriptClass@@UAEPAXI@Z:PROC			; ScriptClass::`vector deleting destructor'
;	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 ??_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 ??_R4ScriptClass@@6B@
rdata$r	SEGMENT
??_R4ScriptClass@@6B@ DD 00H				; ScriptClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVScriptClass@@@8
	DD	FLAT:??_R3ScriptClass@@8
rdata$r	ENDS
;	COMDAT ??_7ScriptClass@@6B@
CONST	SEGMENT
??_7ScriptClass@@6B@ DD FLAT:??_R4ScriptClass@@6B@	; ScriptClass::`vftable'
	DD	FLAT:??_EScriptClass@@UAEPAXI@Z
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0ScriptClass@@QAE@XZ
_TEXT	SEGMENT
??0ScriptClass@@QAE@XZ PROC				; ScriptClass::ScriptClass, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET ??_7ScriptClass@@6B@
	ret	0
??0ScriptClass@@QAE@XZ ENDP				; ScriptClass::ScriptClass
_TEXT	ENDS
PUBLIC	??1ScriptClass@@UAE@XZ				; ScriptClass::~ScriptClass
; Function compile flags: /Ogtpy
;	COMDAT ??1ScriptClass@@UAE@XZ
_TEXT	SEGMENT
??1ScriptClass@@UAE@XZ PROC				; ScriptClass::~ScriptClass, COMDAT
; _this$ = ecx
	mov	DWORD PTR [ecx], OFFSET ??_7GameObjObserverClass@@6B@
	ret	0
??1ScriptClass@@UAE@XZ ENDP				; ScriptClass::~ScriptClass
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GScriptClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GScriptClass@@UAEPAXI@Z PROC				; ScriptClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	test	BYTE PTR ___flags$[esp-4], 1
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7GameObjObserverClass@@6B@
	je	SHORT $LN8@scalar@2
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN8@scalar@2:
	mov	eax, esi
	pop	esi
	ret	4
??_GScriptClass@@UAEPAXI@Z ENDP				; ScriptClass::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GGameObjObserverClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GGameObjObserverClass@@UAEPAXI@Z PROC		; GameObjObserverClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	test	BYTE PTR ___flags$[esp-4], 1
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7GameObjObserverClass@@6B@
	je	SHORT $LN6@scalar@3
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN6@scalar@3:
	mov	eax, esi
	pop	esi
	ret	4
??_GGameObjObserverClass@@UAEPAXI@Z ENDP		; GameObjObserverClass::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0CG@PFPHIJBK@ScriptImpClass?3?3Set_Parameters_S@ ; `string'
PUBLIC	?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z ; ScriptImpClass::Set_Parameters_String
EXTRN	_memcpy:PROC
EXTRN	_memset:PROC
;	COMDAT ??_C@_0CG@PFPHIJBK@ScriptImpClass?3?3Set_Parameters_S@
; File d:\source code\stgm\scripts.cpp
CONST	SEGMENT
??_C@_0CG@PFPHIJBK@ScriptImpClass?3?3Set_Parameters_S@ DB 'ScriptImpClass'
	DB	'::Set_Parameters_String', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_params$ = 8						; size = 4
?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z PROC	; ScriptImpClass::Set_Parameters_String, COMDAT
; _this$ = ecx

; 119  : {

	push	ecx
	push	ebx
	push	ebp

; 120  : 	if (!params || !*params)

	mov	ebp, DWORD PTR _params$[esp+8]
	test	ebp, ebp
	mov	ebx, ecx
	mov	DWORD PTR _this$[esp+12], ebx
	je	$LN12@Set_Parame@2
	cmp	BYTE PTR [ebp], 0
	je	$LN12@Set_Parame@2

; 121  : 		return;
; 122  : 	Get_Name();

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+4]
	call	edx

; 123  : 	char *a = newstr(params);

	push	OFFSET ??_C@_0CG@PFPHIJBK@ScriptImpClass?3?3Set_Parameters_S@
	push	123					; 0000007bH
	push	OFFSET ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, ebp
	add	esp, 12					; 0000000cH
	lea	edx, DWORD PTR [eax+1]
	npad	1
$LL27@Set_Parame@2:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL27@Set_Parame@2
	sub	eax, edx
	add	eax, 1
	push	edi
	push	eax
	call	??_U@YAPAXI@Z				; operator new[]
	push	eax
	push	ebp
	call	?cpystr@@YAPADPBDPAD@Z			; cpystr
	add	esp, 12					; 0000000cH
	mov	edi, eax

; 124  : 	if (a[strlen(a) - 1] == '\n')

	lea	edx, DWORD PTR [eax+1]
$LL28@Set_Parame@2:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL28@Set_Parame@2
	sub	eax, edx
	cmp	BYTE PTR [eax+edi-1], 10		; 0000000aH
	jne	SHORT $LN11@Set_Parame@2

; 125  : 		a[strlen(a) - 1] = 0;

	mov	eax, edi
	lea	edx, DWORD PTR [eax+1]
	npad	5
$LL29@Set_Parame@2:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL29@Set_Parame@2
	sub	eax, edx
	mov	BYTE PTR [eax+edi-1], cl
$LN11@Set_Parame@2:

; 126  : 	int b = 1;
; 127  : 	{
; 128  : 		for (const char *r = a; *r;)

	cmp	BYTE PTR [edi], 0
	push	esi
	mov	esi, 1
	mov	eax, edi
	je	SHORT $LN9@Set_Parame@2
	npad	4
$LL10@Set_Parame@2:

; 129  : 		{
; 130  : 			if (*r++ == ',')

	mov	cl, BYTE PTR [eax]
	add	eax, 1
	cmp	cl, 44					; 0000002cH
	jne	SHORT $LN8@Set_Parame@2

; 131  : 				b++;

	add	esi, 1
$LN8@Set_Parame@2:

; 126  : 	int b = 1;
; 127  : 	{
; 128  : 		for (const char *r = a; *r;)

	cmp	BYTE PTR [eax], 0
	jne	SHORT $LL10@Set_Parame@2
$LN9@Set_Parame@2:

; 132  : 		}
; 133  : 	}
; 134  : 	Clear_Parameters();

	mov	ecx, ebx
	call	?Clear_Parameters@ScriptImpClass@@QAEXXZ ; ScriptImpClass::Clear_Parameters

; 135  : 	mArgC = b;
; 136  : 	mArgV = new char *[b];

	push	OFFSET ??_C@_0CG@PFPHIJBK@ScriptImpClass?3?3Set_Parameters_S@
	push	136					; 00000088H
	push	OFFSET ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
	mov	DWORD PTR [ebx+12], esi
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, esi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]

; 137  : 	memset(mArgV,0,b << 2);

	lea	ecx, DWORD PTR [esi*4]
	push	ecx
	push	0
	push	eax
	mov	DWORD PTR [ebx+16], eax
	call	_memset

; 138  : 	memcpy(a,params,strlen(params));

	mov	eax, ebp
	add	esp, 28					; 0000001cH
	lea	ecx, DWORD PTR [eax+1]
$LL30@Set_Parame@2:
	mov	dl, BYTE PTR [eax]
	add	eax, 1
	test	dl, dl
	jne	SHORT $LL30@Set_Parame@2
	sub	eax, ecx
	push	eax
	push	ebp
	push	edi
	call	_memcpy

; 139  : 	int i = 0;

	xor	ebx, ebx
	add	esp, 12					; 0000000cH

; 140  : 	for (char *r = a; *r; i++)

	cmp	BYTE PTR [edi], bl
	mov	eax, edi
	je	SHORT $LN5@Set_Parame@2
$LL7@Set_Parame@2:

; 141  : 	{
; 142  : 		char *r2 = r;
; 143  : 		while (*r2 && *r2 != ',')

	cmp	BYTE PTR [eax], 0
	mov	esi, eax
	je	SHORT $LN3@Set_Parame@2
$LL4@Set_Parame@2:
	cmp	BYTE PTR [esi], 44			; 0000002cH
	je	SHORT $LN3@Set_Parame@2

; 144  : 			r2++;

	add	esi, 1
	cmp	BYTE PTR [esi], 0
	jne	SHORT $LL4@Set_Parame@2
$LN3@Set_Parame@2:

; 145  : 		if (*r2)

	cmp	BYTE PTR [esi], 0
	je	SHORT $LN31@Set_Parame@2

; 146  : 			*r2++ = 0;

	mov	BYTE PTR [esi], 0
	add	esi, 1
$LN31@Set_Parame@2:

; 147  : 		Set_Parameter(i,r);

	mov	ecx, DWORD PTR _this$[esp+20]
	push	eax
	push	ebx
	call	?Set_Parameter@ScriptImpClass@@QAEXHPBD@Z ; ScriptImpClass::Set_Parameter
	add	ebx, 1
	cmp	BYTE PTR [esi], 0

; 148  : 		r = r2;

	mov	eax, esi
	jne	SHORT $LL7@Set_Parame@2
$LN5@Set_Parame@2:

; 149  : 	}
; 150  : 	if (mArgC != i) // never true

	mov	ecx, DWORD PTR _this$[esp+20]
	cmp	DWORD PTR [ecx+12], ebx
	pop	esi
	je	SHORT $LN1@Set_Parame@2

; 151  : 	{
; 152  : 		Set_Parameter(i,noparams);

	mov	edx, DWORD PTR ?noparams@@3PADA		; noparams
	push	edx
	push	ebx
	call	?Set_Parameter@ScriptImpClass@@QAEXHPBD@Z ; ScriptImpClass::Set_Parameter
$LN1@Set_Parame@2:

; 153  : 	}
; 154  : 	delete[] a;

	push	OFFSET ??_C@_0CG@PFPHIJBK@ScriptImpClass?3?3Set_Parameters_S@
	push	154					; 0000009aH
	push	OFFSET ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	edi
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	pop	edi
$LN12@Set_Parame@2:
	pop	ebp
	pop	ebx

; 155  : }

	pop	ecx
	ret	4
?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z ENDP	; ScriptImpClass::Set_Parameters_String
_TEXT	ENDS
PUBLIC	??_C@_01IHBHIGKO@?0?$AA@			; `string'
PUBLIC	?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z ; ScriptImpClass::Get_Parameters_String
;	COMDAT ??_C@_01IHBHIGKO@?0?$AA@
CONST	SEGMENT
??_C@_01IHBHIGKO@?0?$AA@ DB ',', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_params$ = 8						; size = 4
_size$ = 12						; size = 4
?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z PROC	; ScriptImpClass::Get_Parameters_String, COMDAT
; _this$ = ecx

; 158  : {

	push	ecx

; 159  : 	*params = 0;

	mov	eax, DWORD PTR _params$[esp]
	push	ebx
	push	ebp

; 160  : 	unsigned int l = 0;

	xor	ebx, ebx
	mov	BYTE PTR [eax], 0

; 161  : 	for (int i = 0; i < mArgC; i++)

	xor	ebp, ebp
	cmp	DWORD PTR [ecx+12], ebx
	mov	DWORD PTR _this$[esp+12], ecx
	jle	$LN14@Get_Parame@3
	push	esi
	push	edi
	npad	3
$LL6@Get_Parame@3:

; 162  : 	{
; 163  : 		if (l >= size)

	cmp	ebx, DWORD PTR _size$[esp+16]
	jae	$LN21@Get_Parame@3

; 164  : 			return;
; 165  : 		if (i > 0)

	test	ebp, ebp
	jle	SHORT $LN23@Get_Parame@3

; 166  : 		{
; 167  : 			l++;
; 168  : 			strcat(params,",");

	mov	edi, DWORD PTR _params$[esp+16]
	add	ebx, 1
	add	edi, -1
$LL16@Get_Parame@3:
	mov	al, BYTE PTR [edi+1]
	add	edi, 1
	test	al, al
	jne	SHORT $LL16@Get_Parame@3
	mov	dx, WORD PTR ??_C@_01IHBHIGKO@?0?$AA@
	mov	WORD PTR [edi], dx

; 169  : 		}
; 170  : 		const char *s = Get_Parameter(i);

	test	ebp, ebp
$LN23@Get_Parame@3:
	jl	SHORT $LN10@Get_Parame@3
	cmp	ebp, DWORD PTR [ecx+12]
	jge	SHORT $LN10@Get_Parame@3
	mov	eax, DWORD PTR [ecx+16]
	mov	eax, DWORD PTR [eax+ebp*4]
	jmp	SHORT $LN9@Get_Parame@3
$LN10@Get_Parame@3:
	mov	eax, DWORD PTR ?noparams@@3PADA		; noparams
$LN9@Get_Parame@3:

; 171  : 		l += strlen(s);

	mov	ecx, eax
	lea	esi, DWORD PTR [ecx+1]
$LL17@Get_Parame@3:
	mov	dl, BYTE PTR [ecx]
	add	ecx, 1
	test	dl, dl
	jne	SHORT $LL17@Get_Parame@3
	sub	ecx, esi
	add	ebx, ecx

; 172  : 		if (l > size)

	cmp	ebx, DWORD PTR _size$[esp+16]
	ja	SHORT $LN5@Get_Parame@3

; 173  : 			continue;
; 174  : 		strcat(params,s);

	mov	ecx, eax
	npad	4
$LL18@Get_Parame@3:
	mov	dl, BYTE PTR [eax]
	add	eax, 1
	test	dl, dl
	jne	SHORT $LL18@Get_Parame@3
	mov	edi, DWORD PTR _params$[esp+16]
	sub	eax, ecx
	mov	esi, ecx
	add	edi, -1
$LL19@Get_Parame@3:
	mov	cl, BYTE PTR [edi+1]
	add	edi, 1
	test	cl, cl
	jne	SHORT $LL19@Get_Parame@3
	mov	ecx, eax
	shr	ecx, 2
	rep movsd
	mov	ecx, eax
	and	ecx, 3
	rep movsb
$LN5@Get_Parame@3:
	mov	ecx, DWORD PTR _this$[esp+20]
	add	ebp, 1
	cmp	ebp, DWORD PTR [ecx+12]
	jl	$LL6@Get_Parame@3
$LN21@Get_Parame@3:
	pop	edi
	pop	esi
$LN14@Get_Parame@3:
	pop	ebp
	pop	ebx

; 175  : 	}
; 176  : }

	pop	ecx
	ret	8
?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z ENDP	; ScriptImpClass::Get_Parameters_String
_TEXT	ENDS
PUBLIC	??_C@_0CA@NPMOFPBI@ScriptImpClass?3?3?$HOScriptImpClass?$AA@ ; `string'
PUBLIC	??_7ScriptImpClass@@6B@				; ScriptImpClass::`vftable'
PUBLIC	??1ScriptImpClass@@UAE@XZ			; ScriptImpClass::~ScriptImpClass
PUBLIC	??_R4ScriptImpClass@@6B@			; ScriptImpClass::`RTTI Complete Object Locator'
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@ScriptImpClass@@8			; ScriptImpClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	___CxxFrameHandler3:PROC
EXTRN	??_EScriptImpClass@@UAEPAXI@Z:PROC		; ScriptImpClass::`vector deleting destructor'
;	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 ??_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 ??_R4ScriptImpClass@@6B@
rdata$r	SEGMENT
??_R4ScriptImpClass@@6B@ DD 00H				; ScriptImpClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVScriptImpClass@@@8
	DD	FLAT:??_R3ScriptImpClass@@8
rdata$r	ENDS
;	COMDAT ??_C@_0CA@NPMOFPBI@ScriptImpClass?3?3?$HOScriptImpClass?$AA@
CONST	SEGMENT
??_C@_0CA@NPMOFPBI@ScriptImpClass?3?3?$HOScriptImpClass?$AA@ DB 'ScriptIm'
	DB	'pClass::~ScriptImpClass', 00H		; `string'
CONST	ENDS
;	COMDAT ??_7ScriptImpClass@@6B@
CONST	SEGMENT
??_7ScriptImpClass@@6B@ DD FLAT:??_R4ScriptImpClass@@6B@ ; ScriptImpClass::`vftable'
	DD	FLAT:??_EScriptImpClass@@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
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1ScriptImpClass@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1ScriptImpClass@@UAE@XZ$0
__ehfuncinfo$??1ScriptImpClass@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1ScriptImpClass@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1ScriptImpClass@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1ScriptImpClass@@UAE@XZ PROC				; ScriptImpClass::~ScriptImpClass, COMDAT
; _this$ = ecx

; 287  : {

	push	-1
	push	__ehhandler$??1ScriptImpClass@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	mov	DWORD PTR [esi], OFFSET ??_7ScriptImpClass@@6B@

; 288  : 	while (seralizeinfo)

	cmp	DWORD PTR [esi+24], 0
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN4@ScriptImpC
$LL5@ScriptImpC:

; 289  : 	{
; 290  : 		SeralizeInfoStr *s = seralizeinfo;

	mov	edi, DWORD PTR [esi+24]

; 291  : 		seralizeinfo = s->next;

	mov	eax, DWORD PTR [edi+12]

; 292  : 		delete s;

	push	OFFSET ??_C@_0CA@NPMOFPBI@ScriptImpClass?3?3?$HOScriptImpClass?$AA@
	push	292					; 00000124H
	push	OFFSET ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
	mov	DWORD PTR [esi+24], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 16					; 00000010H
	cmp	DWORD PTR [esi+24], 0
	jne	SHORT $LL5@ScriptImpC
$LN4@ScriptImpC:

; 293  : 	}
; 294  : 	for (int i = 0;i < mArgC;i++)

	xor	edi, edi
	cmp	DWORD PTR [esi+12], edi
	jle	SHORT $LN1@ScriptImpC
	npad	11
$LL3@ScriptImpC:

; 295  : 	{
; 296  : 		delete[] mArgV[i];

	push	OFFSET ??_C@_0CA@NPMOFPBI@ScriptImpClass?3?3?$HOScriptImpClass?$AA@
	push	296					; 00000128H
	push	OFFSET ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+16]
	mov	edx, DWORD PTR [ecx+edi*4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	edi, 1
	add	esp, 16					; 00000010H
	cmp	edi, DWORD PTR [esi+12]
	jl	SHORT $LL3@ScriptImpC
$LN1@ScriptImpC:

; 297  : 	}
; 298  : 	delete[] mArgV;

	push	OFFSET ??_C@_0CA@NPMOFPBI@ScriptImpClass?3?3?$HOScriptImpClass?$AA@
	push	298					; 0000012aH
	push	OFFSET ??_C@_0O@DGHICGGE@?4?2scripts?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+16]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]

; 299  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi], OFFSET ??_7GameObjObserverClass@@6B@
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1ScriptImpClass@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1ScriptClass@@UAE@XZ
__ehhandler$??1ScriptImpClass@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1ScriptImpClass@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1ScriptImpClass@@UAE@XZ ENDP				; ScriptImpClass::~ScriptImpClass
PUBLIC	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z	; ScriptImpClass::Get_Parameter
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z PROC		; ScriptImpClass::Get_Parameter, COMDAT
; _this$ = ecx

; 322  : 	return Get_Parameter(Get_Parameter_Index(v));

	mov	eax, DWORD PTR _v$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	?Get_Parameter_Index@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Parameter_Index
	test	eax, eax
	jl	SHORT $LN4@Get_Parame@4
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $LN4@Get_Parame@4
	mov	ecx, DWORD PTR [esi+16]
	mov	eax, DWORD PTR [ecx+eax*4]
	pop	esi

; 323  : }

	ret	4

; 322  : 	return Get_Parameter(Get_Parameter_Index(v));

$LN4@Get_Parame@4:
	mov	eax, DWORD PTR ?noparams@@3PADA		; noparams
	pop	esi

; 323  : }

	ret	4
?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ENDP		; ScriptImpClass::Get_Parameter
_TEXT	ENDS
PUBLIC	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z	; ScriptImpClass::Get_Int_Parameter
EXTRN	_atoi:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z PROC	; ScriptImpClass::Get_Int_Parameter, COMDAT
; _this$ = ecx

; 327  : 	return atoi(Get_Parameter(Get_Parameter_Index(v)));

	mov	eax, DWORD PTR _v$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	?Get_Parameter_Index@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Parameter_Index
	test	eax, eax
	jl	SHORT $LN4@Get_Int_Pa
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $LN4@Get_Int_Pa
	mov	ecx, DWORD PTR [esi+16]
	mov	eax, DWORD PTR [ecx+eax*4]
	push	eax
	call	_atoi
	add	esp, 4
	pop	esi

; 328  : }

	ret	4

; 327  : 	return atoi(Get_Parameter(Get_Parameter_Index(v)));

$LN4@Get_Int_Pa:
	mov	eax, DWORD PTR ?noparams@@3PADA		; noparams
	push	eax
	call	_atoi
	add	esp, 4
	pop	esi

; 328  : }

	ret	4
?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ENDP	; ScriptImpClass::Get_Int_Parameter
_TEXT	ENDS
PUBLIC	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z	; ScriptImpClass::Get_Float_Parameter
EXTRN	_atof:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z PROC	; ScriptImpClass::Get_Float_Parameter, COMDAT
; _this$ = ecx

; 332  : 	return (float)atof(Get_Parameter(Get_Parameter_Index(v)));

	mov	eax, DWORD PTR _v$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	?Get_Parameter_Index@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Parameter_Index
	test	eax, eax
	jl	SHORT $LN4@Get_Float_
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $LN4@Get_Float_
	mov	ecx, DWORD PTR [esi+16]
	mov	eax, DWORD PTR [ecx+eax*4]
	push	eax
	call	_atof
	add	esp, 4
	pop	esi

; 333  : }

	ret	4

; 332  : 	return (float)atof(Get_Parameter(Get_Parameter_Index(v)));

$LN4@Get_Float_:
	mov	eax, DWORD PTR ?noparams@@3PADA		; noparams
	push	eax
	call	_atof
	add	esp, 4
	pop	esi

; 333  : }

	ret	4
?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ENDP	; ScriptImpClass::Get_Float_Parameter
_TEXT	ENDS
PUBLIC	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
_v$ = 12						; size = 4
?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z PROC ; ScriptImpClass::Get_Vector3_Parameter, COMDAT
; _this$ = ecx

; 353  : 	return Get_Vector3_Parameter(Get_Parameter_Index(v));

	mov	eax, DWORD PTR _v$[esp-4]
	push	esi
	push	edi
	push	eax
	mov	esi, ecx
	call	?Get_Parameter_Index@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Parameter_Index
	mov	edi, DWORD PTR ___$ReturnUdt$[esp+4]
	push	eax
	push	edi
	mov	ecx, esi
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@H@Z ; ScriptImpClass::Get_Vector3_Parameter
	mov	eax, edi
	pop	edi
	pop	esi

; 354  : }

	ret	8
?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ENDP ; ScriptImpClass::Get_Vector3_Parameter
_TEXT	ENDS
PUBLIC	?Get_Int_Parameter@ScriptImpClass@@QAEHH@Z	; ScriptImpClass::Get_Int_Parameter
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Int_Parameter@ScriptImpClass@@QAEHH@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Get_Int_Parameter@ScriptImpClass@@QAEHH@Z PROC		; ScriptImpClass::Get_Int_Parameter, COMDAT
; _this$ = ecx

; 393  : 	return atoi(Get_Parameter(v));

	mov	eax, DWORD PTR _v$[esp-4]
	test	eax, eax
	jl	SHORT $LN4@Get_Int_Pa@2
	cmp	eax, DWORD PTR [ecx+12]
	jge	SHORT $LN4@Get_Int_Pa@2
	mov	ecx, DWORD PTR [ecx+16]
	mov	eax, DWORD PTR [ecx+eax*4]
	push	eax
	call	_atoi
	add	esp, 4

; 394  : }

	ret	4

; 393  : 	return atoi(Get_Parameter(v));

$LN4@Get_Int_Pa@2:
	mov	eax, DWORD PTR ?noparams@@3PADA		; noparams
	push	eax
	call	_atoi
	add	esp, 4

; 394  : }

	ret	4
?Get_Int_Parameter@ScriptImpClass@@QAEHH@Z ENDP		; ScriptImpClass::Get_Int_Parameter
_TEXT	ENDS
PUBLIC	?Get_Float_Parameter@ScriptImpClass@@QAEMH@Z	; ScriptImpClass::Get_Float_Parameter
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Float_Parameter@ScriptImpClass@@QAEMH@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Get_Float_Parameter@ScriptImpClass@@QAEMH@Z PROC	; ScriptImpClass::Get_Float_Parameter, COMDAT
; _this$ = ecx

; 398  : 	return (float)atof(Get_Parameter(v));

	mov	eax, DWORD PTR _v$[esp-4]
	test	eax, eax
	jl	SHORT $LN4@Get_Float_@2
	cmp	eax, DWORD PTR [ecx+12]
	jge	SHORT $LN4@Get_Float_@2
	mov	ecx, DWORD PTR [ecx+16]
	mov	eax, DWORD PTR [ecx+eax*4]
	push	eax
	call	_atof
	add	esp, 4

; 399  : }

	ret	4

; 398  : 	return (float)atof(Get_Parameter(v));

$LN4@Get_Float_@2:
	mov	eax, DWORD PTR ?noparams@@3PADA		; noparams
	push	eax
	call	_atof
	add	esp, 4

; 399  : }

	ret	4
?Get_Float_Parameter@ScriptImpClass@@QAEMH@Z ENDP	; ScriptImpClass::Get_Float_Parameter
_TEXT	ENDS
PUBLIC	?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ; std::_DebugHeapAllocator<char>::deallocate
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
;	COMDAT ?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z PROC ; std::_DebugHeapAllocator<char>::deallocate, COMDAT
; _this$ = ecx

; 102  : 		_DELETE_CRT_VEC(_Ptr);

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

; 103  : 		}

	ret	8
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ENDP ; std::_DebugHeapAllocator<char>::deallocate
_TEXT	ENDS
PUBLIC	??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	??0ScriptImpClass@@QAE@XZ			; ScriptImpClass::ScriptImpClass
; Function compile flags: /Ogtpy
; File d:\source code\stgm\scripts.cpp
;	COMDAT ??0ScriptImpClass@@QAE@XZ
_TEXT	SEGMENT
??0ScriptImpClass@@QAE@XZ PROC				; ScriptImpClass::ScriptImpClass, COMDAT
; _this$ = ecx

; 19   : {

	mov	eax, ecx

; 20   : 	ObserverID = 0;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7ScriptImpClass@@6B@
	mov	DWORD PTR [eax+4], ecx

; 21   : 	Attached = 0;

	mov	DWORD PTR [eax+8], ecx

; 22   : 	mArgC = 0;

	mov	DWORD PTR [eax+12], ecx

; 23   : 	mArgV = 0;

	mov	DWORD PTR [eax+16], ecx

; 24   : 	seralizeinfo = 0;

	mov	DWORD PTR [eax+24], ecx

; 25   : }

	ret	0
??0ScriptImpClass@@QAE@XZ ENDP				; ScriptImpClass::ScriptImpClass
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GScriptImpClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GScriptImpClass@@UAEPAXI@Z PROC			; ScriptImpClass::`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 $LN4@scalar@4
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@4:
	mov	eax, esi
	pop	esi
	ret	4
??_GScriptImpClass@@UAEPAXI@Z ENDP			; ScriptImpClass::`scalar deleting destructor'
_TEXT	ENDS
END
