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

	TITLE	.\scriptfactory.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 _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 ??0ScriptFactory@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GScriptFactory@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?GetNext@ScriptFactory@@QAEPAV1@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?GetName@ScriptFactory@@QAEPADXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?GetParamDescription@ScriptFactory@@QAEPADXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1ScriptFactory@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?SetNext@ScriptFactory@@QAEXPAV1@@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 ??_7ScriptFactory@@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	??0ScriptFactory@@QAE@PAD0@Z			; ScriptFactory::ScriptFactory
PUBLIC	??_7ScriptFactory@@6B@				; ScriptFactory::`vftable'
PUBLIC	??_GScriptFactory@@UAEPAXI@Z			; ScriptFactory::`scalar deleting destructor'
EXTRN	__purecall:NEAR
EXTRN	??_EScriptFactory@@UAEPAXI@Z:NEAR		; ScriptFactory::`vector deleting destructor'
EXTRN	?RegisterScript@ScriptRegistrar@@SAXPAVScriptFactory@@@Z:NEAR ; ScriptRegistrar::RegisterScript
;	COMDAT ??_7ScriptFactory@@6B@
; File c:\documents and settings\owner\desktop\ssctf 1.3\scriptfactory.cpp
CONST	SEGMENT
??_7ScriptFactory@@6B@ DD FLAT:??_EScriptFactory@@UAEPAXI@Z ; ScriptFactory::`vftable'
	DD	FLAT:__purecall
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0ScriptFactory@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0ScriptFactory@@QAE@PAD0@Z PROC NEAR			; ScriptFactory::ScriptFactory, COMDAT
; _this$ = ecx

; 17   : 	name = n;

	mov	eax, DWORD PTR _n$[esp-4]
	push	esi
	mov	esi, ecx

; 18   : 	params = p;

	mov	ecx, DWORD PTR _p$[esp]

; 19   : 	next = 0;
; 20   : 	ScriptRegistrar::RegisterScript(this);

	push	esi
	mov	DWORD PTR [esi], OFFSET FLAT:??_7ScriptFactory@@6B@
	mov	DWORD PTR [esi+8], eax
	mov	DWORD PTR [esi+12], ecx
	mov	DWORD PTR [esi+4], 0
	call	?RegisterScript@ScriptRegistrar@@SAXPAVScriptFactory@@@Z ; ScriptRegistrar::RegisterScript
	add	esp, 4

; 21   : }

	mov	eax, esi
	pop	esi
	ret	8
??0ScriptFactory@@QAE@PAD0@Z ENDP			; ScriptFactory::ScriptFactory
_TEXT	ENDS
PUBLIC	?GetNext@ScriptFactory@@QAEPAV1@XZ		; ScriptFactory::GetNext
; Function compile flags: /Ogty
;	COMDAT ?GetNext@ScriptFactory@@QAEPAV1@XZ
_TEXT	SEGMENT
?GetNext@ScriptFactory@@QAEPAV1@XZ PROC NEAR		; ScriptFactory::GetNext, COMDAT
; _this$ = ecx

; 25   : 	return next;

	mov	eax, DWORD PTR [ecx+4]

; 26   : }

	ret	0
?GetNext@ScriptFactory@@QAEPAV1@XZ ENDP			; ScriptFactory::GetNext
_TEXT	ENDS
PUBLIC	?GetName@ScriptFactory@@QAEPADXZ		; ScriptFactory::GetName
; Function compile flags: /Ogty
;	COMDAT ?GetName@ScriptFactory@@QAEPADXZ
_TEXT	SEGMENT
?GetName@ScriptFactory@@QAEPADXZ PROC NEAR		; ScriptFactory::GetName, COMDAT
; _this$ = ecx

; 30   : 	return name;

	mov	eax, DWORD PTR [ecx+8]

; 31   : }

	ret	0
?GetName@ScriptFactory@@QAEPADXZ ENDP			; ScriptFactory::GetName
_TEXT	ENDS
PUBLIC	?GetParamDescription@ScriptFactory@@QAEPADXZ	; ScriptFactory::GetParamDescription
; Function compile flags: /Ogty
;	COMDAT ?GetParamDescription@ScriptFactory@@QAEPADXZ
_TEXT	SEGMENT
?GetParamDescription@ScriptFactory@@QAEPADXZ PROC NEAR	; ScriptFactory::GetParamDescription, COMDAT
; _this$ = ecx

; 35   : 	return params;

	mov	eax, DWORD PTR [ecx+12]

; 36   : }

	ret	0
?GetParamDescription@ScriptFactory@@QAEPADXZ ENDP	; ScriptFactory::GetParamDescription
_TEXT	ENDS
PUBLIC	??1ScriptFactory@@UAE@XZ			; ScriptFactory::~ScriptFactory
EXTRN	?UnregisterScript@ScriptRegistrar@@SAXPAVScriptFactory@@@Z:NEAR ; ScriptRegistrar::UnregisterScript
; Function compile flags: /Ogty
;	COMDAT ??1ScriptFactory@@UAE@XZ
_TEXT	SEGMENT
??1ScriptFactory@@UAE@XZ PROC NEAR			; ScriptFactory::~ScriptFactory, COMDAT
; _this$ = ecx

; 39   : {

	push	esi
	mov	esi, ecx

; 40   : 	ScriptRegistrar::UnregisterScript(this);

	push	esi
	mov	DWORD PTR [esi], OFFSET FLAT:??_7ScriptFactory@@6B@
	call	?UnregisterScript@ScriptRegistrar@@SAXPAVScriptFactory@@@Z ; ScriptRegistrar::UnregisterScript

; 41   : 	name = 0;

	xor	eax, eax
	add	esp, 4
	mov	DWORD PTR [esi+8], eax

; 42   : 	params = 0;

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

; 43   : }

	ret	0
??1ScriptFactory@@UAE@XZ ENDP				; ScriptFactory::~ScriptFactory
_TEXT	ENDS
PUBLIC	?SetNext@ScriptFactory@@QAEXPAV1@@Z		; ScriptFactory::SetNext
; Function compile flags: /Ogty
;	COMDAT ?SetNext@ScriptFactory@@QAEXPAV1@@Z
_TEXT	SEGMENT
_link$ = 8						; size = 4
?SetNext@ScriptFactory@@QAEXPAV1@@Z PROC NEAR		; ScriptFactory::SetNext, COMDAT
; _this$ = ecx

; 46   : {

	push	esi
	mov	esi, ecx

; 47   : 	if (next)

	mov	eax, DWORD PTR [esi+4]
	test	eax, eax
	je	SHORT $L3453
	push	edi

; 48   : 		link->SetNext(next);

	mov	edi, DWORD PTR _link$[esp+4]
	push	eax
	mov	ecx, edi
	call	?SetNext@ScriptFactory@@QAEXPAV1@@Z	; ScriptFactory::SetNext

; 49   : 	next = link;

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

; 50   : }

	ret	4
$L3453:

; 49   : 	next = link;

	mov	eax, DWORD PTR _link$[esp]
	mov	DWORD PTR [esi+4], eax
	pop	esi

; 50   : }

	ret	4
?SetNext@ScriptFactory@@QAEXPAV1@@Z ENDP		; ScriptFactory::SetNext
_TEXT	ENDS
EXTRN	??3@YAXPAX@Z:NEAR				; operator delete
; Function compile flags: /Ogty
;	COMDAT ??_GScriptFactory@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GScriptFactory@@UAEPAXI@Z PROC NEAR			; ScriptFactory::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	push	esi
	mov	DWORD PTR [esi], OFFSET FLAT:??_7ScriptFactory@@6B@
	call	?UnregisterScript@ScriptRegistrar@@SAXPAVScriptFactory@@@Z ; ScriptRegistrar::UnregisterScript
	xor	eax, eax
	mov	DWORD PTR [esi+8], eax
	mov	DWORD PTR [esi+12], eax
	mov	al, BYTE PTR ___flags$[esp+4]
	add	esp, 4
	test	al, 1
	je	SHORT $L3460
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L3460:
	mov	eax, esi
	pop	esi
	ret	4
??_GScriptFactory@@UAEPAXI@Z ENDP			; ScriptFactory::`scalar deleting destructor'
_TEXT	ENDS
END
