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

	TITLE	.\scripts.cpp
	.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
_DATA	SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA	ENDS
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
_BSS	SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS	ENDS
$$SYMBOLS	SEGMENT BYTE USE32 'DEBSYM'
$$SYMBOLS	ENDS
$$TYPES	SEGMENT BYTE USE32 'DEBTYP'
$$TYPES	ENDS
_TLS	SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS	ENDS
;	COMDAT ??_C@_01IHBHIGKO@?0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_03POJIIFD@?$DN?3?6?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_02CPIDLAI@at?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0N@CILGKGLK@critical?4txt?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CM@KMOCPEFC@Critical?5Scripts?4dll?5error?0param@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_08OEKJENGB@?$CFf?5?$CFf?5?$CFf?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT _acosl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _asinl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atanl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atan2l
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ceill
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _cosl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _coshl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _expl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fabsl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _floorl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fmodl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _frexpl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ldexpl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _logl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _log10l
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _modfl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _powl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinhl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sqrtl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanhl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _frexpf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ldexpf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _acosf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _asinf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atanf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atan2f
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ceilf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _cosf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _coshf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _expf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fabsf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _floorf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fmodf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _logf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _log10f
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _modff
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _powf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinhf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sqrtf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanhf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?GetID@GameObjObserverClass@@QAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0ScriptImpClass@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GScriptImpClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0ScriptClass@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1ScriptClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GScriptClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0GameObjObserverClass@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GGameObjObserverClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Name@ScriptImpClass@@UAEPADXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach@ScriptImpClass@@UAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Request_Destroy_Func@ScriptImpClass@@SAXP6AXPAVScriptClass@@@Z@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Destroy_Script@ScriptImpClass@@QAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Detach@ScriptImpClass@@UAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@ScriptImpClass@@UAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Destroyed@ScriptImpClass@@UAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Damaged@ScriptImpClass@@UAEXPAE0M@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@ScriptImpClass@@UAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@ScriptImpClass@@UAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Poked@ScriptImpClass@@UAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Entered@ScriptImpClass@@UAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Exited@ScriptImpClass@@UAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Owner@ScriptImpClass@@UAEPAEXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save@ScriptImpClass@@UAEXAAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load@ScriptImpClass@@UAEXAAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save_Data@ScriptImpClass@@UAEXAAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load_Data@ScriptImpClass@@UAEXAAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?CheckPlayerType@ScriptImpClass@@QAEHPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1ScriptImpClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1GameObjObserverClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear_Parameters@ScriptImpClass@@QAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?strtrim@@YAPADPAD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Parameter_Index@ScriptImpClass@@QAEHPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Parameter_Count@ScriptImpClass@@QAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Int_Parameter@ScriptImpClass@@QAEHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Float_Parameter@ScriptImpClass@@QAEMH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Parameter@ScriptImpClass@@QAEXHPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Parameter@ScriptImpClass@@QAEPBDH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@N@@YANNH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@H@@YAHHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@M@@YAMMH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@O@@YAOOH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_7GameObjObserverClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7ScriptImpClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7ScriptClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
sxdata	SEGMENT DWORD USE32 'SXDATA'
sxdata	ENDS
FLAT	GROUP _DATA, CONST, _BSS
	ASSUME	CS: FLAT, DS: FLAT, SS: FLAT
endif

INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES

PUBLIC	?RequestDestroyScript@ScriptImpClass@@0P6AXPAVScriptClass@@@ZA ; ScriptImpClass::RequestDestroyScript
PUBLIC	?noparams@@3PADA				; noparams
_BSS	SEGMENT
?RequestDestroyScript@ScriptImpClass@@0P6AXPAVScriptClass@@@ZA DD 01H DUP (?) ; ScriptImpClass::RequestDestroyScript
?noparams@@3PADA DD 01H DUP (?)				; noparams
_BSS	ENDS
PUBLIC	??0GameObjObserverClass@@QAE@XZ			; GameObjObserverClass::GameObjObserverClass
PUBLIC	??_7GameObjObserverClass@@6B@			; GameObjObserverClass::`vftable'
PUBLIC	??_GGameObjObserverClass@@UAEPAXI@Z		; GameObjObserverClass::`scalar deleting destructor'
EXTRN	??_EGameObjObserverClass@@UAEPAXI@Z:NEAR	; GameObjObserverClass::`vector deleting destructor'
EXTRN	__purecall:NEAR
;	COMDAT ??_7GameObjObserverClass@@6B@
CONST	SEGMENT
??_7GameObjObserverClass@@6B@ DD FLAT:??_EGameObjObserverClass@@UAEPAXI@Z ; GameObjObserverClass::`vftable'
	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: /Ogty
CONST	ENDS
;	COMDAT ??0GameObjObserverClass@@QAE@XZ
_TEXT	SEGMENT
??0GameObjObserverClass@@QAE@XZ PROC NEAR		; GameObjObserverClass::GameObjObserverClass, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET FLAT:??_7GameObjObserverClass@@6B@
	ret	0
??0GameObjObserverClass@@QAE@XZ ENDP			; GameObjObserverClass::GameObjObserverClass
_TEXT	ENDS
PUBLIC	?Get_Name@ScriptImpClass@@UAEPADXZ		; ScriptImpClass::Get_Name
EXTRN	?GetName@ScriptFactory@@QAEPADXZ:NEAR		; ScriptFactory::GetName
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\scripts.cpp
;	COMDAT ?Get_Name@ScriptImpClass@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@ScriptImpClass@@UAEPADXZ PROC NEAR		; ScriptImpClass::Get_Name, COMDAT
; _this$ = ecx

; 28   : 	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: /Ogty
;	COMDAT ?Attach@ScriptImpClass@@UAEXPAE@Z
_TEXT	SEGMENT
_newobj$ = 8						; size = 4
?Attach@ScriptImpClass@@UAEXPAE@Z PROC NEAR		; ScriptImpClass::Attach, COMDAT
; _this$ = ecx

; 33   : 	Attached = newobj;

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

; 34   : }

	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: /Ogty
;	COMDAT ?Set_Request_Destroy_Func@ScriptImpClass@@SAXP6AXPAVScriptClass@@@Z@Z
_TEXT	SEGMENT
_Func$ = 8						; size = 4
?Set_Request_Destroy_Func@ScriptImpClass@@SAXP6AXPAVScriptClass@@@Z@Z PROC NEAR ; ScriptImpClass::Set_Request_Destroy_Func, COMDAT

; 38   : 	RequestDestroyScript = Func;

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

; 39   : }

	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: /Ogty
;	COMDAT ?Destroy_Script@ScriptImpClass@@QAEXXZ
_TEXT	SEGMENT
?Destroy_Script@ScriptImpClass@@QAEXXZ PROC NEAR	; ScriptImpClass::Destroy_Script, COMDAT
; _this$ = ecx

; 43   : 	if (RequestDestroyScript)

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

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

	push	ecx
	call	eax
	pop	ecx
$L3342:

; 46   : 	}
; 47   : }

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

; 51   : 	Attached = 0;

	mov	DWORD PTR [ecx+8], 0

; 52   : 	Destroy_Script();

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

; 53   : }

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

; 57   : }

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

; 61   : }

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

; 65   : }

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

; 69   : }

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

; 73   : }

	ret	8
?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z ENDP ; ScriptImpClass::Sound_Heard
_TEXT	ENDS
PUBLIC	?Custom@ScriptImpClass@@UAEXPAEHH0@Z		; ScriptImpClass::Custom
; Function compile flags: /Ogty
;	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 NEAR		; ScriptImpClass::Custom, COMDAT
; _this$ = ecx

; 77   : }

	ret	16					; 00000010H
?Custom@ScriptImpClass@@UAEXPAEHH0@Z ENDP		; ScriptImpClass::Custom
_TEXT	ENDS
PUBLIC	?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z ; ScriptImpClass::Action_Complete
; Function compile flags: /Ogty
;	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 NEAR ; ScriptImpClass::Action_Complete, COMDAT
; _this$ = ecx

; 81   : }

	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: /Ogty
;	COMDAT ?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z PROC NEAR	; ScriptImpClass::Enemy_Seen, COMDAT
; _this$ = ecx

; 85   : }

	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: /Ogty
;	COMDAT ?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@ScriptImpClass@@UAEXPAEH@Z PROC NEAR	; ScriptImpClass::Timer_Expired, COMDAT
; _this$ = ecx

; 89   : }

	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: /Ogty
;	COMDAT ?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_anim$ = 12						; size = 4
?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z PROC NEAR ; ScriptImpClass::Animation_Complete, COMDAT
; _this$ = ecx

; 93   : }

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

; 97   : }

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

; 101  : }

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

; 105  : }

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

; 109  : 	return Attached;

	mov	eax, DWORD PTR [ecx+8]

; 110  : }

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

; 114  : 	return &Attached;

	lea	eax, DWORD PTR [ecx+8]

; 115  : }

	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: /Ogty
;	COMDAT ?Save@ScriptImpClass@@UAEXAAE@Z
_TEXT	SEGMENT
_saver$ = 8						; size = 4
?Save@ScriptImpClass@@UAEXAAE@Z PROC NEAR		; ScriptImpClass::Save, COMDAT
; _this$ = ecx

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

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

; 182  : 	while (d)

	test	esi, esi
	je	SHORT $L3470
$L3469:

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

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

; 185  : 		d = d->next;

	mov	esi, DWORD PTR [esi+12]
	add	esp, 16					; 00000010H
	test	esi, esi
	jne	SHORT $L3469
$L3470:

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

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

; 188  : }

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

; 191  : {

	push	ecx
	push	ebx
	push	edi

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

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

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

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

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

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

; 200  : 			{
; 201  : 				d = seralizeinfo;

	mov	esi, DWORD PTR [ebx+24]

; 202  : 				 while (d)

	test	esi, esi
	je	SHORT $L3487
	npad	7
$L3486:

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

	mov	ecx, DWORD PTR [esi+8]
	cmp	ecx, DWORD PTR _y$[esp+12]
	jne	SHORT $L3488

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

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

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

	mov	esi, DWORD PTR [esi+12]
	test	esi, esi
	jne	SHORT $L3486
$L3487:

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

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

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

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

; 214  : 	}
; 215  : }

	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: /Ogty
;	COMDAT ?Save_Data@ScriptImpClass@@UAEXAAE@Z
_TEXT	SEGMENT
_saver$ = 8						; size = 4
?Save_Data@ScriptImpClass@@UAEXAAE@Z PROC NEAR		; ScriptImpClass::Save_Data, COMDAT
; _this$ = ecx

; 219  : }

	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: /Ogty
;	COMDAT ?Load_Data@ScriptImpClass@@UAEXAAE@Z
_TEXT	SEGMENT
_loader$ = 8						; size = 4
?Load_Data@ScriptImpClass@@UAEXAAE@Z PROC NEAR		; ScriptImpClass::Load_Data, COMDAT
; _this$ = ecx

; 223  : }

	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: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ PROC NEAR ; ScriptImpClass::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 227  : }

	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: /Ogty
;	COMDAT ?CheckPlayerType@ScriptImpClass@@QAEHPAEH@Z
_TEXT	SEGMENT
_pos$3507 = -24						; size = 12
$T3886 = -12						; size = 12
_obj$ = 8						; size = 4
_type$ = 12						; size = 4
?CheckPlayerType@ScriptImpClass@@QAEHPAEH@Z PROC NEAR	; ScriptImpClass::CheckPlayerType, COMDAT
; _this$ = ecx

; 230  : {

	sub	esp, 24					; 00000018H
	push	esi

; 231  : 	if (type == 3)

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

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

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

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

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

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

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

; 236  : 		if (object == obj)

	mov	edx, DWORD PTR _obj$[esp+36]
	xor	ecx, ecx
	add	esp, 12					; 0000000cH
	cmp	eax, edx

; 250  : 	if (pltype == type)

	setne	cl
	pop	esi
	mov	eax, ecx

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

	add	esp, 24					; 00000018H
	ret	8
$L3510:

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

	cmp	esi, 2
	jne	SHORT $L3511

; 246  : 	{
; 247  : 		return 0;

	xor	eax, eax
	pop	esi

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

	add	esp, 24					; 00000018H
	ret	8
$L3511:

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

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

; 250  : 	if (pltype == type)

	xor	ecx, ecx
	add	esp, 4
	cmp	eax, esi
	setne	cl
	pop	esi
	mov	eax, ecx

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

	add	esp, 24					; 00000018H
	ret	8
?CheckPlayerType@ScriptImpClass@@QAEHPAEH@Z ENDP	; ScriptImpClass::CheckPlayerType
_TEXT	ENDS
PUBLIC	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z	; ScriptImpClass::Auto_Save_Variable
EXTRN	??2@YAPAXI@Z:NEAR				; operator new
; Function compile flags: /Ogty
;	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 NEAR ; ScriptImpClass::Auto_Save_Variable, COMDAT
; _this$ = ecx

; 258  : {

	push	esi
	push	edi

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

	mov	edi, DWORD PTR _num$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jl	SHORT $L3523
	cmp	edi, 255				; 000000ffH
	jg	SHORT $L3523
	push	ebx
	mov	ebx, DWORD PTR _size$[esp+8]
	cmp	ebx, 250				; 000000faH
	jg	SHORT $L3895

; 261  : 		return;
; 262  : 	d = seralizeinfo;

	mov	eax, DWORD PTR [esi+24]

; 263  : 	while (d)

	test	eax, eax
	je	SHORT $L3526
$L3525:

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

	cmp	DWORD PTR [eax+8], edi
	je	SHORT $L3895

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

	mov	eax, DWORD PTR [eax+12]
	test	eax, eax
	jne	SHORT $L3525
$L3526:

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

	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 4

; 272  : 	if (!d2)

	test	eax, eax
	jne	SHORT $L3530
	pop	ebx
	pop	edi

; 273  : 	{
; 274  : 		seralizeinfo = 0;

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

; 283  : }

	ret	12					; 0000000cH
$L3530:

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

	mov	ecx, DWORD PTR [esi+24]

; 278  : 	d2->number = num;
; 279  : 	d2->size = size;
; 280  : 	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

; 281  : 	d2->next = d;

	mov	DWORD PTR [eax+12], ecx

; 282  : 	seralizeinfo = d2;

	mov	DWORD PTR [esi+24], eax
$L3895:
	pop	ebx
$L3523:
	pop	edi
	pop	esi

; 283  : }

	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: /Ogty
;	COMDAT ??1GameObjObserverClass@@UAE@XZ
_TEXT	SEGMENT
??1GameObjObserverClass@@UAE@XZ PROC NEAR		; GameObjObserverClass::~GameObjObserverClass, COMDAT
; _this$ = ecx

; 296  : {

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

; 297  : }

	ret	0
??1GameObjObserverClass@@UAE@XZ ENDP			; GameObjObserverClass::~GameObjObserverClass
_TEXT	ENDS
PUBLIC	?Clear_Parameters@ScriptImpClass@@QAEXXZ	; ScriptImpClass::Clear_Parameters
EXTRN	??3@YAXPAX@Z:NEAR				; operator delete
; Function compile flags: /Ogty
;	COMDAT ?Clear_Parameters@ScriptImpClass@@QAEXXZ
_TEXT	SEGMENT
?Clear_Parameters@ScriptImpClass@@QAEXXZ PROC NEAR	; ScriptImpClass::Clear_Parameters, COMDAT
; _this$ = ecx

; 300  : {

	push	esi
	mov	esi, ecx

; 301  : 	if (mArgV)

	mov	eax, DWORD PTR [esi+16]
	push	edi
	xor	edi, edi
	cmp	eax, edi
	je	SHORT $L3906

; 302  : 	{
; 303  : 		while (mArgC--)

	cmp	DWORD PTR [esi+12], edi
	je	SHORT $L3905
$L3547:
	mov	edx, DWORD PTR [esi+12]

; 304  : 		{
; 305  : 			if (mArgV[mArgC])

	mov	ecx, DWORD PTR [esi+16]
	dec	edx
	mov	eax, edx
	mov	DWORD PTR [esi+12], edx
	mov	eax, DWORD PTR [ecx+eax*4]
	cmp	eax, edi
	je	SHORT $L3549

; 306  : 				delete mArgV[mArgC];

	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L3549:
	cmp	DWORD PTR [esi+12], edi
	jne	SHORT $L3547
$L3905:

; 302  : 	{
; 303  : 		while (mArgC--)

	dec	DWORD PTR [esi+12]

; 307  : 		}
; 308  : 		delete mArgV;

	mov	edx, DWORD PTR [esi+16]
	push	edx
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L3906:

; 309  : 	}
; 310  : 	mArgV = 0;

	mov	DWORD PTR [esi+16], edi

; 311  : 	mArgC = 0;

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

; 312  : }

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

; 331  : 	if (v)

	mov	eax, DWORD PTR _v$[esp-4]
	test	eax, eax
	je	SHORT $L3568

; 332  : 	{
; 333  : 		char *r = v;
; 334  : 		while (*r > 0 && *r < 0x21)

	mov	dl, BYTE PTR [eax]
	test	dl, dl
	mov	ecx, eax
	jle	SHORT $L3572
$L3571:
	cmp	dl, 33					; 00000021H
	jge	SHORT $L3572
	mov	dl, BYTE PTR [ecx+1]

; 335  : 			r++;

	inc	ecx
	test	dl, dl
	jg	SHORT $L3571
$L3572:
	push	esi

; 336  : 		strcpy(v,r);

	mov	esi, eax
	sub	esi, ecx
$L3910:
	mov	dl, BYTE PTR [ecx]
	mov	BYTE PTR [esi+ecx], dl
	inc	ecx
	test	dl, dl
	jne	SHORT $L3910

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

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

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

	cmp	ecx, eax
	pop	esi
	jbe	SHORT $L3575
$L3574:
	mov	dl, BYTE PTR [ecx-1]
	test	dl, dl
	jle	SHORT $L3575
	cmp	dl, 33					; 00000021H
	jge	SHORT $L3575
	dec	ecx
	cmp	ecx, eax
	ja	SHORT $L3574
$L3575:

; 339  : 			r--;
; 340  : 		*r = 0;

	mov	BYTE PTR [ecx], 0
$L3568:

; 341  : 	}
; 342  : 	return v;
; 343  : }

	ret	0
?strtrim@@YAPADPAD@Z ENDP				; strtrim
_TEXT	ENDS
PUBLIC	?Get_Parameter_Index@ScriptImpClass@@QAEHPBD@Z	; ScriptImpClass::Get_Parameter_Index
PUBLIC	??_C@_03POJIIFD@?$DN?3?6?$AA@			; `string'
PUBLIC	??_C@_02CPIDLAI@at?$AA@				; `string'
PUBLIC	??_C@_0N@CILGKGLK@critical?4txt?$AA@		; `string'
PUBLIC	??_C@_0CM@KMOCPEFC@Critical?5Scripts?4dll?5error?0param@ ; `string'
EXTRN	_fopen:NEAR
EXTRN	_fprintf:NEAR
EXTRN	_strncpy:NEAR
EXTRN	_strpbrk:NEAR
EXTRN	?GetParamDescription@ScriptFactory@@QAEPADXZ:NEAR ; ScriptFactory::GetParamDescription
EXTRN	_stricmp:NEAR
EXTRN	__chkstk:NEAR
EXTRN	_fclose:NEAR
;	COMDAT ??_C@_03POJIIFD@?$DN?3?6?$AA@
CONST	SEGMENT
??_C@_03POJIIFD@?$DN?3?6?$AA@ DB '=:', 0aH, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_02CPIDLAI@at?$AA@
CONST	SEGMENT
??_C@_02CPIDLAI@at?$AA@ DB 'at', 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@_0CM@KMOCPEFC@Critical?5Scripts?4dll?5error?0param@
CONST	SEGMENT
??_C@_0CM@KMOCPEFC@Critical?5Scripts?4dll?5error?0param@ DB 'Critical Scr'
	DB	'ipts.dll error,parameter is %s', 0aH, 00H	; `string'
; Function compile flags: /Ogty
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 NEAR ; ScriptImpClass::Get_Parameter_Index, COMDAT
; _this$ = ecx

; 351  : {

	mov	eax, 8192				; 00002000H
	call	__chkstk

; 352  : 	char b[0x2000];
; 353  : 	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

; 354  : 	b[0x1fff] = 0;
; 355  : 	char *r = b;
; 356  : 	for (int i = 0; *r ; i++)

	mov	al, BYTE PTR _b$[esp+8220]
	mov	ebp, DWORD PTR _v$[esp+8216]
	add	esp, 12					; 0000000cH
	xor	ebx, ebx
	test	al, al
	mov	BYTE PTR _b$[esp+16399], 0
	lea	edi, DWORD PTR _b$[esp+8208]
	je	SHORT $L3591
$L3589:

; 357  : 	{
; 358  : 		char *r2 = r;
; 359  : 		while (*r2 && *r2 != ',')

	cmp	BYTE PTR [edi], 0
	mov	esi, edi
	je	SHORT $L3595
	npad	3
$L3594:
	cmp	BYTE PTR [esi], 44			; 0000002cH
	je	SHORT $L3595
	mov	al, BYTE PTR [esi+1]

; 360  : 			r2++;

	inc	esi
	test	al, al
	jne	SHORT $L3594
$L3595:

; 361  : 		if (*r2)

	cmp	BYTE PTR [esi], 0
	je	SHORT $L3596

; 362  : 			*r2++ = 0;

	mov	BYTE PTR [esi], 0
	inc	esi
$L3596:

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

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

; 364  : 		if (r3)

	test	eax, eax
	je	SHORT $L3599

; 365  : 			*r3 = 0;

	mov	BYTE PTR [eax], 0
$L3599:

; 366  : 		strtrim(r);

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

; 367  : 		if (!stricmp(r,v))

	push	ebp
	push	edi
	call	_stricmp
	add	esp, 12					; 0000000cH
	test	eax, eax
	je	SHORT $L3923
	mov	al, BYTE PTR [esi]
	inc	ebx
	test	al, al

; 369  : 		r = r2;

	mov	edi, esi
	jne	SHORT $L3589
$L3591:

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

	push	OFFSET FLAT:??_C@_02CPIDLAI@at?$AA@
	push	OFFSET FLAT:??_C@_0N@CILGKGLK@critical?4txt?$AA@
	call	_fopen

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

	push	ebp
	mov	esi, eax
	push	OFFSET FLAT:??_C@_0CM@KMOCPEFC@Critical?5Scripts?4dll?5error?0param@
	push	esi
	call	_fprintf

; 373  : 	fclose(f);

	push	esi
	call	_fclose
	add	esp, 24					; 00000018H
	pop	edi
	pop	esi
	pop	ebp

; 374  : 	return -1;

	or	eax, -1
	pop	ebx

; 375  : }

	add	esp, 8192				; 00002000H
	ret	4
$L3923:
	pop	edi
	pop	esi
	pop	ebp

; 368  : 			return i;

	mov	eax, ebx
	pop	ebx

; 375  : }

	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: /Ogty
;	COMDAT ?Get_Parameter_Count@ScriptImpClass@@QAEHXZ
_TEXT	SEGMENT
?Get_Parameter_Count@ScriptImpClass@@QAEHXZ PROC NEAR	; ScriptImpClass::Get_Parameter_Count, COMDAT
; _this$ = ecx

; 379  : 	return mArgC;

	mov	eax, DWORD PTR [ecx+12]

; 380  : }

	ret	0
?Get_Parameter_Count@ScriptImpClass@@QAEHXZ ENDP	; ScriptImpClass::Get_Parameter_Count
_TEXT	ENDS
PUBLIC	?Set_Parameter@ScriptImpClass@@QAEXHPBD@Z	; ScriptImpClass::Set_Parameter
EXTRN	?newstr@@YAPADPBD@Z:NEAR			; newstr
; Function compile flags: /Ogty
;	COMDAT ?Set_Parameter@ScriptImpClass@@QAEXHPBD@Z
_TEXT	SEGMENT
_pos$ = 8						; size = 4
_v$ = 12						; size = 4
?Set_Parameter@ScriptImpClass@@QAEXHPBD@Z PROC NEAR	; ScriptImpClass::Set_Parameter, COMDAT
; _this$ = ecx

; 393  : {

	push	esi
	mov	esi, ecx

; 394  : 	if (mArgV[pos])

	mov	eax, DWORD PTR [esi+16]
	push	edi
	mov	edi, DWORD PTR _pos$[esp+4]
	mov	eax, DWORD PTR [eax+edi*4]
	test	eax, eax
	je	SHORT $L3622

; 395  : 	{
; 396  : 		delete mArgV[pos];

	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L3622:

; 397  : 	}
; 398  : 	mArgV[pos] = newstr(v);

	mov	ecx, DWORD PTR _v$[esp+4]
	push	ecx
	call	?newstr@@YAPADPBD@Z			; newstr
	mov	edx, DWORD PTR [esi+16]
	add	esp, 4
	mov	DWORD PTR [edx+edi*4], eax
	pop	edi
	pop	esi

; 399  : 	
; 400  : }

	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: /Ogty
;	COMDAT ?Get_Parameter@ScriptImpClass@@QAEPBDH@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Get_Parameter@ScriptImpClass@@QAEPBDH@Z PROC NEAR	; ScriptImpClass::Get_Parameter, COMDAT
; _this$ = ecx

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

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

; 405  : 	{
; 406  : 		return mArgV[v];

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

; 411  : 	}
; 412  : }

	ret	4
$L3628:

; 407  : 	}
; 408  : 	else
; 409  : 	{
; 410  : 		return noparams;

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

; 411  : 	}
; 412  : }

	ret	4
?Get_Parameter@ScriptImpClass@@QAEPBDH@Z ENDP		; ScriptImpClass::Get_Parameter
_TEXT	ENDS
PUBLIC	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@H@Z ; ScriptImpClass::Get_Vector3_Parameter
PUBLIC	??_C@_08OEKJENGB@?$CFf?5?$CFf?5?$CFf?$AA@	; `string'
EXTRN	_sscanf:NEAR
EXTRN	__fltused:NEAR
;	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'
; Function compile flags: /Ogty
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 NEAR ; ScriptImpClass::Get_Vector3_Parameter, COMDAT
; _this$ = ecx

; 415  : {

	sub	esp, 12					; 0000000cH

; 416  : 	Vector3 r;
; 417  : 	r.X = 0;
; 418  : 	r.Y = 0;
; 419  : 	r.Z = 0;
; 420  : 	sscanf(Get_Parameter(v),"%f %f %f",&r.X,&r.Y,&r.Z);

	mov	eax, DWORD PTR _v$[esp+8]
	test	eax, eax
	mov	DWORD PTR _r$[esp+12], 0
	mov	DWORD PTR _r$[esp+16], 0
	mov	DWORD PTR _r$[esp+20], 0
	jl	SHORT $L3942
	cmp	eax, DWORD PTR [ecx+12]
	jge	SHORT $L3942
	mov	ecx, DWORD PTR [ecx+16]
	mov	eax, DWORD PTR [ecx+eax*4]
	jmp	SHORT $L3943
$L3942:
	mov	eax, DWORD PTR ?noparams@@3PADA		; noparams
$L3943:
	lea	edx, DWORD PTR _r$[esp+20]
	push	edx
	lea	ecx, DWORD PTR _r$[esp+20]
	push	ecx
	lea	edx, DWORD PTR _r$[esp+20]
	push	edx
	push	OFFSET FLAT:??_C@_08OEKJENGB@?$CFf?5?$CFf?5?$CFf?$AA@
	push	eax
	call	_sscanf

; 421  : 	return r;

	mov	eax, DWORD PTR ___$ReturnUdt$[esp+28]
	mov	edx, DWORD PTR _r$[esp+32]
	mov	ecx, eax
	mov	DWORD PTR [ecx], edx
	mov	edx, DWORD PTR _r$[esp+36]
	mov	DWORD PTR [ecx+4], edx
	mov	edx, DWORD PTR _r$[esp+40]
	mov	DWORD PTR [ecx+8], edx

; 422  : }

	add	esp, 32					; 00000020H
	ret	8
?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@H@Z ENDP ; ScriptImpClass::Get_Vector3_Parameter
_TEXT	ENDS
PUBLIC	??0ScriptClass@@QAE@XZ				; ScriptClass::ScriptClass
PUBLIC	??_7ScriptClass@@6B@				; ScriptClass::`vftable'
PUBLIC	??_GScriptClass@@UAEPAXI@Z			; ScriptClass::`scalar deleting destructor'
EXTRN	??_EScriptClass@@UAEPAXI@Z:NEAR			; ScriptClass::`vector deleting destructor'
;	COMDAT ??_7ScriptClass@@6B@
CONST	SEGMENT
??_7ScriptClass@@6B@ DD FLAT:??_EScriptClass@@UAEPAXI@Z	; ScriptClass::`vftable'
	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: /Ogty
CONST	ENDS
;	COMDAT ??0ScriptClass@@QAE@XZ
_TEXT	SEGMENT
??0ScriptClass@@QAE@XZ PROC NEAR			; ScriptClass::ScriptClass, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET FLAT:??_7ScriptClass@@6B@
	ret	0
??0ScriptClass@@QAE@XZ ENDP				; ScriptClass::ScriptClass
_TEXT	ENDS
PUBLIC	??1ScriptClass@@UAE@XZ				; ScriptClass::~ScriptClass
; Function compile flags: /Ogty
;	COMDAT ??1ScriptClass@@UAE@XZ
_TEXT	SEGMENT
??1ScriptClass@@UAE@XZ PROC NEAR			; ScriptClass::~ScriptClass, COMDAT
; _this$ = ecx
	mov	DWORD PTR [ecx], OFFSET FLAT:??_7GameObjObserverClass@@6B@
	ret	0
??1ScriptClass@@UAE@XZ ENDP				; ScriptClass::~ScriptClass
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_GScriptClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GScriptClass@@UAEPAXI@Z PROC NEAR			; ScriptClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1ScriptClass@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L3965
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L3965:
	mov	eax, esi
	pop	esi
	ret	4
??_GScriptClass@@UAEPAXI@Z ENDP				; ScriptClass::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_GGameObjObserverClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GGameObjObserverClass@@UAEPAXI@Z PROC NEAR		; GameObjObserverClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	test	BYTE PTR ___flags$[esp-4], 1
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET FLAT:??_7GameObjObserverClass@@6B@
	je	SHORT $L3972
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L3972:
	mov	eax, esi
	pop	esi
	ret	4
??_GGameObjObserverClass@@UAEPAXI@Z ENDP		; GameObjObserverClass::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z ; ScriptImpClass::Set_Parameters_String
; Function compile flags: /Ogty
;	COMDAT ?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
_TEXT	SEGMENT
_a$ = 8							; size = 4
_params$ = 8						; size = 4
?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z PROC NEAR ; ScriptImpClass::Set_Parameters_String, COMDAT
; _this$ = ecx

; 118  : {

	push	ebp
	push	esi

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

	mov	esi, DWORD PTR _params$[esp+4]
	test	esi, esi
	mov	ebp, ecx
	je	$L3425
	cmp	BYTE PTR [esi], 0
	je	$L3425

; 120  : 		return;
; 121  : 	Get_Name();

	mov	eax, DWORD PTR [ebp]
	push	ebx
	push	edi
	call	DWORD PTR [eax+4]

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

	push	esi
	call	?newstr@@YAPADPBD@Z			; newstr
	mov	ecx, eax
	add	esp, 4
	mov	DWORD PTR _a$[esp+12], ecx

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

	lea	edi, DWORD PTR [eax+1]
$L3996:
	mov	dl, BYTE PTR [eax]
	inc	eax
	test	dl, dl
	jne	SHORT $L3996
	sub	eax, edi
	cmp	BYTE PTR [eax+ecx-1], 10		; 0000000aH
	jne	SHORT $L3427

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

	mov	eax, ecx
	lea	edi, DWORD PTR [eax+1]
$L3997:
	mov	dl, BYTE PTR [eax]
	inc	eax
	test	dl, dl
	jne	SHORT $L3997
	sub	eax, edi
	mov	BYTE PTR [eax+ecx-1], dl
$L3427:

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

	cmp	BYTE PTR [ecx], 0
	mov	ebx, 1
	mov	eax, ecx
	je	SHORT $L3432
$L3431:

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

	mov	cl, BYTE PTR [eax]
	inc	eax
	cmp	cl, 44					; 0000002cH
	jne	SHORT $L3433

; 130  : 				b++;

	inc	ebx
$L3433:

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

	cmp	BYTE PTR [eax], 0
	jne	SHORT $L3431
$L3432:

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

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

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

	lea	edx, DWORD PTR [ebx*4]
	push	edx
	mov	DWORD PTR [ebp+12], ebx
	call	??2@YAPAXI@Z				; operator new
	mov	edi, eax
	add	esp, 4

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

	xor	eax, eax
	mov	ecx, ebx
	mov	DWORD PTR [ebp+16], edi
	rep stosd

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

	mov	eax, esi
	lea	edx, DWORD PTR [eax+1]
	npad	7
$L3998:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L3998
	mov	ebx, DWORD PTR _a$[esp+12]
	sub	eax, edx
	mov	ecx, eax
	shr	ecx, 2
	mov	edi, ebx
	rep movsd
	mov	ecx, eax
	and	ecx, 3
	rep movsb

; 138  : 	int i = 0;
; 139  : 	for (char *r = a; *r; i++)

	mov	al, BYTE PTR [ebx]
	xor	edi, edi
	test	al, al
	je	SHORT $L3440
$L3999:

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

	cmp	BYTE PTR [ebx], 0
	mov	esi, ebx
	je	SHORT $L3444
	npad	4
$L3443:
	cmp	BYTE PTR [esi], 44			; 0000002cH
	je	SHORT $L3444
	mov	al, BYTE PTR [esi+1]

; 143  : 			r2++;

	inc	esi
	test	al, al
	jne	SHORT $L3443
$L3444:

; 144  : 		if (*r2)

	cmp	BYTE PTR [esi], 0
	je	SHORT $L3445

; 145  : 			*r2++ = 0;

	mov	BYTE PTR [esi], 0
	inc	esi
$L3445:

; 146  : 		Set_Parameter(i,r);

	mov	ecx, DWORD PTR [ebp+16]
	mov	eax, DWORD PTR [ecx+edi*4]
	test	eax, eax
	je	SHORT $L3981
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L3981:
	push	ebx
	call	?newstr@@YAPADPBD@Z			; newstr
	mov	edx, DWORD PTR [ebp+16]
	mov	DWORD PTR [edx+edi*4], eax
	mov	al, BYTE PTR [esi]
	add	esp, 4
	inc	edi
	test	al, al

; 147  : 		r = r2;

	mov	ebx, esi
	jne	SHORT $L3999

; 138  : 	int i = 0;
; 139  : 	for (char *r = a; *r; i++)

	mov	ebx, DWORD PTR _a$[esp+12]
$L3440:

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

	cmp	DWORD PTR [ebp+12], edi
	je	SHORT $L3986

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

	mov	eax, DWORD PTR [ebp+16]
	mov	eax, DWORD PTR [eax+edi*4]
	test	eax, eax
	mov	esi, DWORD PTR ?noparams@@3PADA		; noparams
	je	SHORT $L3987
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L3987:
	push	esi
	call	?newstr@@YAPADPBD@Z			; newstr
	mov	ecx, DWORD PTR [ebp+16]
	mov	ebx, DWORD PTR _a$[esp+16]
	add	esp, 4
	mov	DWORD PTR [ecx+edi*4], eax
$L3986:

; 152  : 	}
; 153  : 	delete a;

	push	ebx
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
	pop	edi
	pop	ebx
$L3425:
	pop	esi
	pop	ebp

; 154  : }

	ret	4
?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z ENDP	; ScriptImpClass::Set_Parameters_String
_TEXT	ENDS
PUBLIC	?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z ; ScriptImpClass::Get_Parameters_String
PUBLIC	??_C@_01IHBHIGKO@?0?$AA@			; `string'
;	COMDAT ??_C@_01IHBHIGKO@?0?$AA@
CONST	SEGMENT
??_C@_01IHBHIGKO@?0?$AA@ DB ',', 00H			; `string'
; Function compile flags: /Ogty
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 NEAR ; ScriptImpClass::Get_Parameters_String, COMDAT
; _this$ = ecx

; 157  : {

	push	ecx

; 158  : 	*params = 0;

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

; 159  : 	unsigned int l = 0;
; 160  : 	for (int i = 0; i < mArgC; i++)

	mov	eax, DWORD PTR [ecx+12]
	push	ebp
	xor	ebx, ebx
	xor	ebp, ebp
	test	eax, eax
	mov	DWORD PTR _this$[esp+12], ecx
	jle	$L4009
	push	esi
	push	edi
	jmp	SHORT $L3455
$L4015:
	mov	ecx, DWORD PTR _this$[esp+20]
$L3455:

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

	cmp	ebx, DWORD PTR _size$[esp+16]
	jae	$L4016

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

	test	ebp, ebp
	jle	SHORT $L4018

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

	mov	edi, DWORD PTR _params$[esp+16]
	inc	ebx
	dec	edi
	npad	7
$L4011:
	mov	al, BYTE PTR [edi+1]
	inc	edi
	test	al, al
	jne	SHORT $L4011
	mov	dx, WORD PTR ??_C@_01IHBHIGKO@?0?$AA@
	mov	WORD PTR [edi], dx

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

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

; 170  : 		l += strlen(s);

	mov	ecx, eax
	lea	esi, DWORD PTR [ecx+1]
	npad	3
$L4012:
	mov	dl, BYTE PTR [ecx]
	inc	ecx
	test	dl, dl
	jne	SHORT $L4012
	sub	ecx, esi
	add	ebx, ecx

; 171  : 		if (l > size)

	cmp	ebx, DWORD PTR _size$[esp+16]
	ja	SHORT $L3456

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

	mov	edx, eax
$L4013:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4013
	mov	edi, DWORD PTR _params$[esp+16]
	sub	eax, edx
	dec	edi
$L4014:
	mov	cl, BYTE PTR [edi+1]
	inc	edi
	test	cl, cl
	jne	SHORT $L4014
	mov	ecx, eax
	shr	ecx, 2
	mov	esi, edx
	rep movsd
	mov	ecx, eax
	and	ecx, 3
	rep movsb
$L3456:
	mov	ecx, DWORD PTR _this$[esp+20]
	mov	eax, DWORD PTR [ecx+12]
	inc	ebp
	cmp	ebp, eax
	jl	$L4015
$L4016:
	pop	edi
	pop	esi
$L4009:
	pop	ebp
	pop	ebx

; 174  : 	}
; 175  : }

	pop	ecx
	ret	8
?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z ENDP	; ScriptImpClass::Get_Parameters_String
_TEXT	ENDS
PUBLIC	??1ScriptImpClass@@UAE@XZ			; ScriptImpClass::~ScriptImpClass
PUBLIC	??_7ScriptImpClass@@6B@				; ScriptImpClass::`vftable'
PUBLIC	??_GScriptImpClass@@UAEPAXI@Z			; ScriptImpClass::`scalar deleting destructor'
EXTRN	??_EScriptImpClass@@UAEPAXI@Z:NEAR		; ScriptImpClass::`vector deleting destructor'
EXTRN	__except_list:DWORD
EXTRN	___CxxFrameHandler:NEAR
;	COMDAT xdata$x
xdata$x	SEGMENT
$T4041	DD	0ffffffffH
	DD	FLAT:$L4023
$T4035	DD	019930520H
	DD	01H
	DD	FLAT:$T4041
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7ScriptImpClass@@6B@
CONST	SEGMENT
??_7ScriptImpClass@@6B@ DD FLAT:??_EScriptImpClass@@UAEPAXI@Z ; ScriptImpClass::`vftable'
	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: /Ogty
CONST	ENDS
;	COMDAT ??1ScriptImpClass@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1ScriptImpClass@@UAE@XZ PROC NEAR			; ScriptImpClass::~ScriptImpClass, COMDAT
; _this$ = ecx

; 286  : {

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

; 287  : 	while (seralizeinfo)

	mov	eax, DWORD PTR [esi+24]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+28], 0
	je	SHORT $L4038
$L3535:

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

	mov	eax, DWORD PTR [esi+24]

; 290  : 		seralizeinfo = s->next;

	mov	ecx, DWORD PTR [eax+12]

; 291  : 		delete s;

	push	eax
	mov	DWORD PTR [esi+24], ecx
	call	??3@YAXPAX@Z				; operator delete
	mov	eax, DWORD PTR [esi+24]
	add	esp, 4
	test	eax, eax
	jne	SHORT $L3535
$L4038:

; 292  : 	}
; 293  : }

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

; 316  : 	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 $L4050
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $L4050
	mov	ecx, DWORD PTR [esi+16]
	mov	eax, DWORD PTR [ecx+eax*4]
	pop	esi

; 317  : }

	ret	4

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

$L4050:
	mov	eax, DWORD PTR ?noparams@@3PADA		; noparams
	pop	esi

; 317  : }

	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:NEAR
; Function compile flags: /Ogty
;	COMDAT ?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z PROC NEAR	; ScriptImpClass::Get_Int_Parameter, COMDAT
; _this$ = ecx

; 321  : 	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 $L4060
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $L4060
	mov	ecx, DWORD PTR [esi+16]
	mov	eax, DWORD PTR [ecx+eax*4]
	push	eax
	call	_atoi
	add	esp, 4
	pop	esi

; 322  : }

	ret	4

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

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

; 322  : }

	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:NEAR
; Function compile flags: /Ogty
;	COMDAT ?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z PROC NEAR ; ScriptImpClass::Get_Float_Parameter, COMDAT
; _this$ = ecx

; 326  : 	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 $L4070
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $L4070
	mov	ecx, DWORD PTR [esi+16]
	mov	eax, DWORD PTR [ecx+eax*4]
	push	eax
	call	_atof
	add	esp, 4
	pop	esi

; 327  : }

	ret	4

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

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

; 327  : }

	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: /Ogty
;	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 NEAR ; ScriptImpClass::Get_Vector3_Parameter, COMDAT
; _this$ = ecx

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

; 348  : }

	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: /Ogty
;	COMDAT ?Get_Int_Parameter@ScriptImpClass@@QAEHH@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Get_Int_Parameter@ScriptImpClass@@QAEHH@Z PROC NEAR	; ScriptImpClass::Get_Int_Parameter, COMDAT
; _this$ = ecx

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

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

; 385  : }

	ret	4

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

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

; 385  : }

	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: /Ogty
;	COMDAT ?Get_Float_Parameter@ScriptImpClass@@QAEMH@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Get_Float_Parameter@ScriptImpClass@@QAEMH@Z PROC NEAR	; ScriptImpClass::Get_Float_Parameter, COMDAT
; _this$ = ecx

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

	mov	eax, DWORD PTR _v$[esp-4]
	test	eax, eax
	jl	SHORT $L4092
	cmp	eax, DWORD PTR [ecx+12]
	jge	SHORT $L4092
	mov	ecx, DWORD PTR [ecx+16]
	mov	eax, DWORD PTR [ecx+eax*4]
	push	eax
	call	_atof
	pop	ecx

; 390  : }

	ret	4

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

$L4092:
	mov	eax, DWORD PTR ?noparams@@3PADA		; noparams
	push	eax
	call	_atof
	pop	ecx

; 390  : }

	ret	4
?Get_Float_Parameter@ScriptImpClass@@QAEMH@Z ENDP	; ScriptImpClass::Get_Float_Parameter
_TEXT	ENDS
PUBLIC	??0ScriptImpClass@@QAE@XZ			; ScriptImpClass::ScriptImpClass
; Function compile flags: /Ogty
;	COMDAT ??0ScriptImpClass@@QAE@XZ
_TEXT	SEGMENT
??0ScriptImpClass@@QAE@XZ PROC NEAR			; ScriptImpClass::ScriptImpClass, COMDAT
; _this$ = ecx

; 18   : {

	mov	eax, ecx

; 19   : 	ID = 0;

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

; 20   : 	Attached = 0;

	mov	DWORD PTR [eax+8], ecx

; 21   : 	mArgC = 0;

	mov	DWORD PTR [eax+12], ecx

; 22   : 	mArgV = 0;

	mov	DWORD PTR [eax+16], ecx

; 23   : 	seralizeinfo = 0;

	mov	DWORD PTR [eax+24], ecx

; 24   : }

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