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

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

INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES

PUBLIC	??_C@_05PKDFAPGJ@SCORE?$AA@			; `string'
PUBLIC	??_C@_05EADBLIEB@CRATE?$AA@			; `string'
PUBLIC	??_C@_06IAMCMNFI@OBJECT?$AA@			; `string'
PUBLIC	??_C@_07NEGAAKAH@VEHICLE?$AA@			; `string'
PUBLIC	??_C@_07DOBOICPH@SOLDIER?$AA@			; `string'
PUBLIC	??_C@_08NDAOFHPJ@BUILDING?$AA@			; `string'
PUBLIC	??_C@_00CNPNBAHC@?$AA@				; `string'
PUBLIC	??_C@_0P@GHFPNOJB@bad?5allocation?$AA@		; `string'
PUBLIC	?collate@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::collate
PUBLIC	?ctype@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::ctype
PUBLIC	?monetary@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::monetary
PUBLIC	?numeric@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::numeric
PUBLIC	?time@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::time
PUBLIC	?messages@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::messages
PUBLIC	?all@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::all
PUBLIC	?none@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::none
PUBLIC	?table_size@?$ctype@D@std@@2IB			; std::ctype<char>::table_size
PUBLIC	?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::skipws
PUBLIC	?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::unitbuf
PUBLIC	?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::uppercase
PUBLIC	?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showbase
PUBLIC	?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpoint
PUBLIC	?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpos
PUBLIC	?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::left
PUBLIC	?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::right
PUBLIC	?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::internal
PUBLIC	?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::dec
PUBLIC	?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::oct
PUBLIC	?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::hex
PUBLIC	?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::scientific
PUBLIC	?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::fixed
PUBLIC	?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::boolalpha
PUBLIC	?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::_Stdio
PUBLIC	?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::adjustfield
PUBLIC	?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::basefield
PUBLIC	?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::floatfield
PUBLIC	?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::goodbit
PUBLIC	?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::eofbit
PUBLIC	?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::failbit
PUBLIC	?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::badbit
PUBLIC	?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::_Hardfail
PUBLIC	?in@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::in
PUBLIC	?out@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::out
PUBLIC	?ate@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::ate
PUBLIC	?app@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::app
PUBLIC	?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::trunc
PUBLIC	?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Nocreate
PUBLIC	?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Noreplace
PUBLIC	?binary@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::binary
PUBLIC	?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::beg
PUBLIC	?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::cur
PUBLIC	?end@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::end
PUBLIC	?gzGameMgr@@3PAVgzGameManager@@A		; gzGameMgr
PUBLIC	?m_typeString@gzGamelogBase@@1PAPBDA		; gzGamelogBase::m_typeString
_BSS	SEGMENT
?gzGameMgr@@3PAVgzGameManager@@A DD 01H DUP (?)		; gzGameMgr
_BSS	ENDS
;	COMDAT ??_C@_05PKDFAPGJ@SCORE?$AA@
CONST	SEGMENT
??_C@_05PKDFAPGJ@SCORE?$AA@ DB 'SCORE', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_05EADBLIEB@CRATE?$AA@
CONST	SEGMENT
??_C@_05EADBLIEB@CRATE?$AA@ DB 'CRATE', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_06IAMCMNFI@OBJECT?$AA@
CONST	SEGMENT
??_C@_06IAMCMNFI@OBJECT?$AA@ DB 'OBJECT', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07NEGAAKAH@VEHICLE?$AA@
CONST	SEGMENT
??_C@_07NEGAAKAH@VEHICLE?$AA@ DB 'VEHICLE', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07DOBOICPH@SOLDIER?$AA@
CONST	SEGMENT
??_C@_07DOBOICPH@SOLDIER?$AA@ DB 'SOLDIER', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_08NDAOFHPJ@BUILDING?$AA@
CONST	SEGMENT
??_C@_08NDAOFHPJ@BUILDING?$AA@ DB 'BUILDING', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_00CNPNBAHC@?$AA@
CONST	SEGMENT
??_C@_00CNPNBAHC@?$AA@ DB 00H				; `string'
CONST	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@
?m_typeString@gzGamelogBase@@1PAPBDA DD FLAT:??_C@_00CNPNBAHC@?$AA@ ; gzGamelogBase::m_typeString
	DD	FLAT:??_C@_08NDAOFHPJ@BUILDING?$AA@
	DD	FLAT:??_C@_07DOBOICPH@SOLDIER?$AA@
	DD	FLAT:??_C@_07NEGAAKAH@VEHICLE?$AA@
	DD	FLAT:??_C@_06IAMCMNFI@OBJECT?$AA@
	DD	FLAT:??_C@_06IAMCMNFI@OBJECT?$AA@
	DD	FLAT:??_C@_05EADBLIEB@CRATE?$AA@
	DD	FLAT:??_C@_05PKDFAPGJ@SCORE?$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	?strstr@@YAPADPADPBD@Z				; strstr
EXTRN	_strstr:PROC
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\string.h
;	COMDAT ?strstr@@YAPADPADPBD@Z
_TEXT	SEGMENT
__Str$ = 8						; size = 4
__SubStr$ = 12						; size = 4
?strstr@@YAPADPADPBD@Z PROC				; strstr, COMDAT

; 190  : 	{ return (char*)strstr((const char*)_Str, _SubStr); }

	jmp	_strstr
?strstr@@YAPADPADPBD@Z ENDP				; strstr
_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 (x86)\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	??0aCriticalSection@@QAE@XZ			; aCriticalSection::aCriticalSection
EXTRN	__imp__InitializeCriticalSection@4:PROC
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\acriticalsection.h
;	COMDAT ??0aCriticalSection@@QAE@XZ
_TEXT	SEGMENT
??0aCriticalSection@@QAE@XZ PROC			; aCriticalSection::aCriticalSection, COMDAT
; _this$ = ecx

; 7    : 	aCriticalSection()

	push	esi
	mov	esi, ecx

; 8    : 	{
; 9    : 		InitializeCriticalSection(&this->m_session);

	push	esi
	call	DWORD PTR __imp__InitializeCriticalSection@4

; 10   : 	};

	mov	eax, esi
	pop	esi
	ret	0
??0aCriticalSection@@QAE@XZ ENDP			; aCriticalSection::aCriticalSection
_TEXT	ENDS
PUBLIC	??1aCriticalSection@@QAE@XZ			; aCriticalSection::~aCriticalSection
EXTRN	__imp__DeleteCriticalSection@4:PROC
; Function compile flags: /Ogtpy
;	COMDAT ??1aCriticalSection@@QAE@XZ
_TEXT	SEGMENT
??1aCriticalSection@@QAE@XZ PROC			; aCriticalSection::~aCriticalSection, COMDAT
; _this$ = ecx

; 13   : 		DeleteCriticalSection(&this->m_session);

	push	ecx
	call	DWORD PTR __imp__DeleteCriticalSection@4

; 14   : 	};

	ret	0
??1aCriticalSection@@QAE@XZ ENDP			; aCriticalSection::~aCriticalSection
_TEXT	ENDS
PUBLIC	?GetLength@aStringData@@QAEIXZ			; aStringData::GetLength
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	COMDAT ?GetLength@aStringData@@QAEIXZ
_TEXT	SEGMENT
?GetLength@aStringData@@QAEIXZ PROC			; aStringData::GetLength, COMDAT
; _this$ = ecx

; 31   : 	inline unsigned int GetLength() { return this->m_length; };

	mov	eax, DWORD PTR [ecx+4]
	ret	0
?GetLength@aStringData@@QAEIXZ ENDP			; aStringData::GetLength
_TEXT	ENDS
PUBLIC	?GetBuffer@aStringData@@QAEPAXXZ		; aStringData::GetBuffer
; Function compile flags: /Ogtpy
;	COMDAT ?GetBuffer@aStringData@@QAEPAXXZ
_TEXT	SEGMENT
?GetBuffer@aStringData@@QAEPAXXZ PROC			; aStringData::GetBuffer, COMDAT
; _this$ = ecx

; 33   : 	inline void *GetBuffer() { return this->m_ptr; };

	mov	eax, DWORD PTR [ecx]
	ret	0
?GetBuffer@aStringData@@QAEPAXXZ ENDP			; aStringData::GetBuffer
_TEXT	ENDS
PUBLIC	?GetData@aStringBase@@QBEPAVaStringData@@XZ	; aStringBase::GetData
; Function compile flags: /Ogtpy
;	COMDAT ?GetData@aStringBase@@QBEPAVaStringData@@XZ
_TEXT	SEGMENT
?GetData@aStringBase@@QBEPAVaStringData@@XZ PROC	; aStringBase::GetData, COMDAT
; _this$ = ecx

; 55   : 	inline aStringData *GetData() const { return this->m_data; };

	mov	eax, DWORD PTR [ecx+4]
	ret	0
?GetData@aStringBase@@QBEPAVaStringData@@XZ ENDP	; aStringBase::GetData
_TEXT	ENDS
PUBLIC	?IsEmpty@aStringBase@@QBE_NXZ			; aStringBase::IsEmpty
; Function compile flags: /Ogtpy
;	COMDAT ?IsEmpty@aStringBase@@QBE_NXZ
_TEXT	SEGMENT
?IsEmpty@aStringBase@@QBE_NXZ PROC			; aStringBase::IsEmpty, COMDAT
; _this$ = ecx

; 63   : 	bool IsEmpty() const { return (this->m_data == NULL || this->m_data->GetLength() == 0 || this->m_data->GetBuffer() == NULL); };

	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	je	SHORT $LN3@IsEmpty
	cmp	DWORD PTR [eax+4], 0
	je	SHORT $LN3@IsEmpty
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN3@IsEmpty
	xor	eax, eax
	ret	0
$LN3@IsEmpty:
	mov	eax, 1
	ret	0
?IsEmpty@aStringBase@@QBE_NXZ ENDP			; aStringBase::IsEmpty
_TEXT	ENDS
PUBLIC	??_7aString@@6B@				; aString::`vftable'
PUBLIC	??0aString@@QAE@ABV0@@Z				; aString::aString
PUBLIC	??_R4aString@@6B@				; aString::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaString@@@8				; aString `RTTI Type Descriptor'
PUBLIC	??_R3aString@@8					; aString::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aString@@8					; aString::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aString@@8			; aString::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@aStringBase@@8			; aStringBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVaStringBase@@@8				; aStringBase `RTTI Type Descriptor'
PUBLIC	??_R3aStringBase@@8				; aStringBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aStringBase@@8				; aStringBase::`RTTI Base Class Array'
PUBLIC	?CharSize@aString@@UBEIXZ			; aString::CharSize
EXTRN	??0aStringBase@@QAE@ABV0@@Z:PROC		; aStringBase::aStringBase
EXTRN	??_EaString@@UAEPAXI@Z:PROC			; aString::`vector deleting destructor'
;	COMDAT ??_R2aStringBase@@8
rdata$r	SEGMENT
??_R2aStringBase@@8 DD FLAT:??_R1A@?0A@EA@aStringBase@@8 ; aStringBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3aStringBase@@8
rdata$r	SEGMENT
??_R3aStringBase@@8 DD 00H				; aStringBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaStringBase@@@8
_DATA	SEGMENT
??_R0?AVaStringBase@@@8 DD FLAT:??_7type_info@@6B@	; aStringBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaStringBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@aStringBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aStringBase@@8 DD FLAT:??_R0?AVaStringBase@@@8 ; aStringBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@aString@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aString@@8 DD FLAT:??_R0?AVaString@@@8	; aString::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aString@@8
rdata$r	ENDS
;	COMDAT ??_R2aString@@8
rdata$r	SEGMENT
??_R2aString@@8 DD FLAT:??_R1A@?0A@EA@aString@@8	; aString::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R3aString@@8
rdata$r	SEGMENT
??_R3aString@@8 DD 00H					; aString::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2aString@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaString@@@8
_DATA	SEGMENT
??_R0?AVaString@@@8 DD FLAT:??_7type_info@@6B@		; aString `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaString@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aString@@6B@
rdata$r	SEGMENT
??_R4aString@@6B@ DD 00H				; aString::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaString@@@8
	DD	FLAT:??_R3aString@@8
rdata$r	ENDS
;	COMDAT ??_7aString@@6B@
CONST	SEGMENT
??_7aString@@6B@ DD FLAT:??_R4aString@@6B@		; aString::`vftable'
	DD	FLAT:??_EaString@@UAEPAXI@Z
	DD	FLAT:?CharSize@aString@@UBEIXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aString@@QAE@ABV0@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??0aString@@QAE@ABV0@@Z PROC				; aString::aString, COMDAT
; _this$ = ecx

; 134  : 	aString(const aString& str) : aStringBase(str) { };

	mov	eax, DWORD PTR _str$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [esi], OFFSET ??_7aString@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0aString@@QAE@ABV0@@Z ENDP				; aString::aString
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?CharSize@aString@@UBEIXZ
_TEXT	SEGMENT
?CharSize@aString@@UBEIXZ PROC				; aString::CharSize, COMDAT
; _this$ = ecx

; 143  : 	unsigned int CharSize() const { return 1; };

	mov	eax, 1
	ret	0
?CharSize@aString@@UBEIXZ ENDP				; aString::CharSize
_TEXT	ENDS
PUBLIC	?GetString@aString@@QBEPBDXZ			; aString::GetString
; Function compile flags: /Ogtpy
;	COMDAT ?GetString@aString@@QBEPBDXZ
_TEXT	SEGMENT
?GetString@aString@@QBEPBDXZ PROC			; aString::GetString, COMDAT
; _this$ = ecx

; 146  : 	const char *GetString() const { return (this->m_data) ? (const char*)this->m_data->GetBuffer() : NULL; };

	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	je	SHORT $LN3@GetString
	mov	eax, DWORD PTR [eax]
	ret	0
$LN3@GetString:
	xor	eax, eax
	ret	0
?GetString@aString@@QBEPBDXZ ENDP			; aString::GetString
_TEXT	ENDS
PUBLIC	?Free_String@aString@@QAEXXZ			; aString::Free_String
EXTRN	?Clear@aStringBase@@QAEXXZ:PROC			; aStringBase::Clear
; Function compile flags: /Ogtpy
;	COMDAT ?Free_String@aString@@QAEXXZ
_TEXT	SEGMENT
?Free_String@aString@@QAEXXZ PROC			; aString::Free_String, COMDAT
; _this$ = ecx

; 192  : 	aDEPRECATED inline void Free_String() { this->Clear(); };

	jmp	?Clear@aStringBase@@QAEXXZ		; aStringBase::Clear
?Free_String@aString@@QAEXXZ ENDP			; aString::Free_String
_TEXT	ENDS
PUBLIC	??1aString@@UAE@XZ				; aString::~aString
EXTRN	??1aStringBase@@UAE@XZ:PROC			; aStringBase::~aStringBase
; Function compile flags: /Ogtpy
;	COMDAT ??1aString@@UAE@XZ
_TEXT	SEGMENT
??1aString@@UAE@XZ PROC					; aString::~aString, COMDAT
; _this$ = ecx
	jmp	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
??1aString@@UAE@XZ ENDP					; aString::~aString
_TEXT	ENDS
PUBLIC	??1aWideString@@UAE@XZ				; aWideString::~aWideString
; Function compile flags: /Ogtpy
;	COMDAT ??1aWideString@@UAE@XZ
_TEXT	SEGMENT
??1aWideString@@UAE@XZ PROC				; aWideString::~aWideString, COMDAT
; _this$ = ecx
	jmp	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
??1aWideString@@UAE@XZ ENDP				; aWideString::~aWideString
_TEXT	ENDS
PUBLIC	?Get@aRandom@@AAEKXZ				; aRandom::Get
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\arandom.h
;	COMDAT ?Get@aRandom@@AAEKXZ
_TEXT	SEGMENT
?Get@aRandom@@AAEKXZ PROC				; aRandom::Get, COMDAT
; _this$ = ecx

; 9    : 		if ((this->m_count++) > 64)

	mov	eax, DWORD PTR [ecx]
	cmp	eax, 64					; 00000040H
	lea	edx, DWORD PTR [eax+1]
	mov	DWORD PTR [ecx], edx
	jle	SHORT $LN1@Get

; 10   : 			this->m_count = 1;

	mov	DWORD PTR [ecx], 1
$LN1@Get:

; 11   : 		this->m_seed = (this->m_seed * 0x015a4e33) + this->m_count;

	mov	eax, DWORD PTR [ecx+4]
	imul	eax, 22695475				; 015a4e33H
	add	eax, DWORD PTR [ecx]
	mov	DWORD PTR [ecx+4], eax

; 12   : 		return (this->m_seed >> 16) & 0xFFFF;

	movzx	eax, WORD PTR [ecx+6]

; 13   : 	};

	ret	0
?Get@aRandom@@AAEKXZ ENDP				; aRandom::Get
_TEXT	ENDS
PUBLIC	__real@397ff001
PUBLIC	__real@4f800000
PUBLIC	?Get_Float@aRandom@@QAEMMM@Z			; aRandom::Get_Float
EXTRN	__fltused:DWORD
EXTRN	__ftol2_sse:PROC
;	COMDAT __real@397ff001
CONST	SEGMENT
__real@397ff001 DD 0397ff001r			; 0.000244081
CONST	ENDS
;	COMDAT __real@4f800000
CONST	SEGMENT
__real@4f800000 DD 04f800000r			; 4.29497e+009
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Float@aRandom@@QAEMMM@Z
_TEXT	SEGMENT
_Min$ = 8						; size = 4
tv138 = 12						; size = 4
tv77 = 12						; size = 4
_Max$ = 12						; size = 4
?Get_Float@aRandom@@QAEMMM@Z PROC			; aRandom::Get_Float, COMDAT
; _this$ = ecx

; 30   : 		if (Min == Max)

	fld	DWORD PTR _Max$[esp-4]
	fld	ST(0)
	fld	DWORD PTR _Min$[esp-4]
	fucom	ST(1)
	fnstsw	ax
	fstp	ST(1)
	test	ah, 68					; 00000044H
	jp	SHORT $LN2@Get_Float
	fstp	ST(1)

; 39   : 	};

	ret	8
$LN2@Get_Float:

; 31   : 			return Min;
; 32   : 		float Minimum = Min, Maximum = Max;

	fld	ST(0)
	fld	ST(2)

; 33   : 		if (Min > Max)

	fxch	ST(2)
	fcom	ST(3)
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN12@Get_Float

; 34   : 		{
; 35   : 			Maximum = Min;
; 36   : 			Minimum = Max;

	fstp	ST(1)
	fstp	ST(1)
	jmp	SHORT $LN1@Get_Float
$LN12@Get_Float:
	fstp	ST(0)
	fstp	ST(2)
$LN1@Get_Float:

; 37   : 		}
; 38   : 		return (int)(Minimum) + ((Maximum - Minimum) * (this->Get() % 4097) / 4097);

	mov	eax, DWORD PTR [ecx]
	cmp	eax, 64					; 00000040H
	lea	edx, DWORD PTR [eax+1]
	mov	DWORD PTR [ecx], edx
	jle	SHORT $LN5@Get_Float
	mov	DWORD PTR [ecx], 1
$LN5@Get_Float:
	mov	eax, DWORD PTR [ecx+4]
	imul	eax, 22695475				; 015a4e33H
	add	eax, DWORD PTR [ecx]
	xor	edx, edx
	mov	DWORD PTR [ecx+4], eax
	movzx	eax, WORD PTR [ecx+6]
	mov	ecx, 4097				; 00001001H
	div	ecx
	test	edx, edx
	mov	DWORD PTR tv138[esp-4], edx
	fild	DWORD PTR tv138[esp-4]
	jge	SHORT $LN17@Get_Float
	fadd	DWORD PTR __real@4f800000
$LN17@Get_Float:
	fxch	ST(1)
	fsub	ST(0), ST(2)
	fmulp	ST(1), ST(0)
	fmul	DWORD PTR __real@397ff001
	fxch	ST(1)
	call	__ftol2_sse
	mov	DWORD PTR tv77[esp-4], eax
	fiadd	DWORD PTR tv77[esp-4]

; 39   : 	};

	ret	8
?Get_Float@aRandom@@QAEMMM@Z ENDP			; aRandom::Get_Float
_TEXT	ENDS
PUBLIC	?GetID@nc_GameObjObserverClass@@QAEHXZ		; nc_GameObjObserverClass::GetID
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_scripts.h
;	COMDAT ?GetID@nc_GameObjObserverClass@@QAEHXZ
_TEXT	SEGMENT
?GetID@nc_GameObjObserverClass@@QAEHXZ PROC		; nc_GameObjObserverClass::GetID, COMDAT
; _this$ = ecx

; 80   : 		return ID;

	mov	eax, DWORD PTR [ecx+4]

; 81   : 	}

	ret	0
?GetID@nc_GameObjObserverClass@@QAEHXZ ENDP		; nc_GameObjObserverClass::GetID
_TEXT	ENDS
PUBLIC	??0nc_StringClass@@QAE@XZ			; nc_StringClass::nc_StringClass
EXTRN	?m_EmptyString@nc_StringClass@@2PAPADA:DWORD	; nc_StringClass::m_EmptyString
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_string.h
;	COMDAT ??0nc_StringClass@@QAE@XZ
_TEXT	SEGMENT
??0nc_StringClass@@QAE@XZ PROC				; nc_StringClass::nc_StringClass, COMDAT
; _this$ = ecx

; 9    : 	nc_StringClass() {

	mov	eax, ecx

; 10   : 		this->m_Buffer = *this->m_EmptyString;

	mov	ecx, DWORD PTR ?m_EmptyString@nc_StringClass@@2PAPADA ; nc_StringClass::m_EmptyString
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR [eax], edx

; 11   : 	}

	ret	0
??0nc_StringClass@@QAE@XZ ENDP				; nc_StringClass::nc_StringClass
_TEXT	ENDS
PUBLIC	??4nc_StringClass@@QAEAAV0@AAV0@@Z		; nc_StringClass::operator=
EXTRN	?Store_Length@nc_StringClass@@QAEXH@Z:PROC	; nc_StringClass::Store_Length
EXTRN	?Uninitialised_Grow@nc_StringClass@@QAEXH@Z:PROC ; nc_StringClass::Uninitialised_Grow
EXTRN	_memcpy:PROC
; Function compile flags: /Ogtpy
;	COMDAT ??4nc_StringClass@@QAEAAV0@AAV0@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??4nc_StringClass@@QAEAAV0@AAV0@@Z PROC			; nc_StringClass::operator=, COMDAT
; _this$ = ecx

; 12   : 	nc_StringClass &operator=(nc_StringClass &str) {

	push	esi
	push	edi

; 13   : 		this->Uninitialised_Grow(strlen(str.m_Buffer) +1);

	mov	edi, DWORD PTR _str$[esp+4]
	mov	eax, DWORD PTR [edi]
	mov	esi, ecx
	lea	edx, DWORD PTR [eax+1]
	npad	3
$LL3@operator:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL3@operator
	sub	eax, edx
	add	eax, 1
	push	eax
	mov	ecx, esi
	call	?Uninitialised_Grow@nc_StringClass@@QAEXH@Z ; nc_StringClass::Uninitialised_Grow

; 14   : 		this->Store_Length(strlen(str.m_Buffer));

	mov	eax, DWORD PTR [edi]
	lea	edx, DWORD PTR [eax+1]
	npad	5
$LL4@operator:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL4@operator
	sub	eax, edx
	push	eax
	mov	ecx, esi
	call	?Store_Length@nc_StringClass@@QAEXH@Z	; nc_StringClass::Store_Length

; 15   : 		memcpy(this->m_Buffer,str.m_Buffer,strlen(str.m_Buffer) +1);

	mov	ecx, DWORD PTR [edi]
	mov	eax, ecx
	lea	edi, DWORD PTR [eax+1]
	npad	6
$LL5@operator:
	mov	dl, BYTE PTR [eax]
	add	eax, 1
	test	dl, dl
	jne	SHORT $LL5@operator
	sub	eax, edi
	add	eax, 1
	push	eax
	mov	eax, DWORD PTR [esi]
	push	ecx
	push	eax
	call	_memcpy
	add	esp, 12					; 0000000cH
	pop	edi

; 16   : 		return *this;

	mov	eax, esi
	pop	esi

; 17   : 	}

	ret	4
??4nc_StringClass@@QAEAAV0@AAV0@@Z ENDP			; nc_StringClass::operator=
_TEXT	ENDS
PUBLIC	??4nc_StringClass@@QAEAAV0@PBD@Z		; nc_StringClass::operator=
; Function compile flags: /Ogtpy
;	COMDAT ??4nc_StringClass@@QAEAAV0@PBD@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??4nc_StringClass@@QAEAAV0@PBD@Z PROC			; nc_StringClass::operator=, COMDAT
; _this$ = ecx

; 18   : 	nc_StringClass &operator=(const char *str) {

	push	esi
	push	edi

; 19   : 		if (str) {

	mov	edi, DWORD PTR _str$[esp+4]
	test	edi, edi
	mov	esi, ecx
	je	SHORT $LN7@operator@2

; 20   : 			this->Uninitialised_Grow(strlen(str) +1);

	mov	eax, edi
	lea	edx, DWORD PTR [eax+1]
$LL4@operator@2:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL4@operator@2
	sub	eax, edx
	add	eax, 1
	push	eax
	mov	ecx, esi
	call	?Uninitialised_Grow@nc_StringClass@@QAEXH@Z ; nc_StringClass::Uninitialised_Grow

; 21   : 			this->Store_Length(strlen(str));

	mov	eax, edi
	lea	edx, DWORD PTR [eax+1]
	npad	4
$LL5@operator@2:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL5@operator@2
	sub	eax, edx
	push	eax
	mov	ecx, esi
	call	?Store_Length@nc_StringClass@@QAEXH@Z	; nc_StringClass::Store_Length

; 22   : 			memcpy(this->m_Buffer,str,strlen(str) +1);

	mov	eax, edi
	lea	edx, DWORD PTR [eax+1]
$LL6@operator@2:
	mov	cl, BYTE PTR [eax]
	add	eax, 1
	test	cl, cl
	jne	SHORT $LL6@operator@2
	sub	eax, edx
	add	eax, 1
	push	eax
	mov	eax, DWORD PTR [esi]
	push	edi
	push	eax
	call	_memcpy
	add	esp, 12					; 0000000cH
$LN7@operator@2:
	pop	edi

; 23   : 		}
; 24   : 		return *this;

	mov	eax, esi
	pop	esi

; 25   : 	}

	ret	4
??4nc_StringClass@@QAEAAV0@PBD@Z ENDP			; nc_StringClass::operator=
_TEXT	ENDS
PUBLIC	??1nc_StringClass@@QAE@XZ			; nc_StringClass::~nc_StringClass
EXTRN	?Free_String@nc_StringClass@@QAEXXZ:PROC	; nc_StringClass::Free_String
; Function compile flags: /Ogtpy
;	COMDAT ??1nc_StringClass@@QAE@XZ
_TEXT	SEGMENT
??1nc_StringClass@@QAE@XZ PROC				; nc_StringClass::~nc_StringClass, COMDAT
; _this$ = ecx

; 27   : 		this->Free_String();

	jmp	?Free_String@nc_StringClass@@QAEXXZ	; nc_StringClass::Free_String
??1nc_StringClass@@QAE@XZ ENDP				; nc_StringClass::~nc_StringClass
_TEXT	ENDS
PUBLIC	??0nc_WideStringClass@@QAE@XZ			; nc_WideStringClass::nc_WideStringClass
EXTRN	?m_EmptyString@nc_WideStringClass@@2PAPA_WA:DWORD ; nc_WideStringClass::m_EmptyString
; Function compile flags: /Ogtpy
;	COMDAT ??0nc_WideStringClass@@QAE@XZ
_TEXT	SEGMENT
??0nc_WideStringClass@@QAE@XZ PROC			; nc_WideStringClass::nc_WideStringClass, COMDAT
; _this$ = ecx

; 49   : 	nc_WideStringClass() {

	mov	eax, ecx

; 50   : 		this->m_Buffer = *this->m_EmptyString;

	mov	ecx, DWORD PTR ?m_EmptyString@nc_WideStringClass@@2PAPA_WA ; nc_WideStringClass::m_EmptyString
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR [eax], edx

; 51   : 	}

	ret	0
??0nc_WideStringClass@@QAE@XZ ENDP			; nc_WideStringClass::nc_WideStringClass
_TEXT	ENDS
PUBLIC	??1nc_WideStringClass@@QAE@XZ			; nc_WideStringClass::~nc_WideStringClass
EXTRN	?Free_String@nc_WideStringClass@@QAEXXZ:PROC	; nc_WideStringClass::Free_String
; Function compile flags: /Ogtpy
;	COMDAT ??1nc_WideStringClass@@QAE@XZ
_TEXT	SEGMENT
??1nc_WideStringClass@@QAE@XZ PROC			; nc_WideStringClass::~nc_WideStringClass, COMDAT
; _this$ = ecx

; 63   : 		this->Free_String();

	jmp	?Free_String@nc_WideStringClass@@QAEXXZ	; nc_WideStringClass::Free_String
??1nc_WideStringClass@@QAE@XZ ENDP			; nc_WideStringClass::~nc_WideStringClass
_TEXT	ENDS
PUBLIC	??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@	; `string'
PUBLIC	??_C@_0L@MOILIICA@General?4?$CFs?$AA@		; `string'
PUBLIC	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z	; stSettingsBase::Load_Bool
EXTRN	?cGame@@3AAPAVnc_cGameData@@A:DWORD		; cGame
EXTRN	?ToLong@aString@@QAEJXZ:PROC			; aString::ToLong
EXTRN	?Format@aString@@SA?AV1@PBDZZ:PROC		; aString::Format
EXTRN	??0aString@@QAE@H@Z:PROC			; aString::aString
EXTRN	___CxxFrameHandler3:PROC
;	COMDAT ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@ DB '"%s".%s', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@MOILIICA@General?4?$CFs?$AA@
CONST	SEGMENT
??_C@_0L@MOILIICA@General?4?$CFs?$AA@ DB 'General.%s', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$4
	DD	04H
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$5
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z
_TEXT	SEGMENT
$T67704 = -60						; size = 8
$T67707 = -52						; size = 8
$T67706 = -44						; size = 8
$T67705 = -36						; size = 8
$T67709 = -28						; size = 8
$T67708 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_item$ = 8						; size = 4
_default$ = 12						; size = 1
_map$ = 16						; size = 1
_global$ = 20						; size = 1
?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z PROC		; stSettingsBase::Load_Bool, COMDAT
; _this$ = ecx

; 26   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 48					; 00000030H
	push	ebx

; 27   : 		bool ret = default;

	mov	bl, BYTE PTR _default$[esp+60]
	push	esi
	mov	esi, ecx

; 28   : 		if (this->m_cfg != NULL)

	cmp	DWORD PTR [esi+12], 0
	je	$LN31@Load_Bool

; 29   : 		{
; 30   : 			if (global)

	cmp	BYTE PTR _global$[esp+64], 0
	push	edi
	mov	edi, DWORD PTR _item$[esp+68]
	je	$LN2@Load_Bool

; 31   : 				ret = this->m_cfg->GetData(aString::Format("General.%s", item), ret).ToLong();

	movzx	eax, bl
	push	eax
	lea	ecx, DWORD PTR $T67704[esp+76]
	call	??0aString@@QAE@H@Z			; aString::aString
	push	edi
	lea	ecx, DWORD PTR $T67705[esp+76]
	push	OFFSET ??_C@_0L@MOILIICA@General?4?$CFs?$AA@
	push	ecx
	mov	DWORD PTR __$EHRec$[esp+92], 0
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	lea	ebx, DWORD PTR $T67704[esp+72]
	push	ebx
	push	eax
	lea	eax, DWORD PTR $T67706[esp+80]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+92], 1
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 2
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	test	eax, eax
	lea	ecx, DWORD PTR $T67706[esp+72]
	setne	bl
	mov	BYTE PTR __$EHRec$[esp+80], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67705[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67704[esp+72]
	mov	DWORD PTR __$EHRec$[esp+80], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN2@Load_Bool:

; 32   : 			if (map)

	cmp	BYTE PTR _map$[esp+68], 0
	je	$LN30@Load_Bool

; 33   : 				ret = this->m_cfg->GetData(aString::Format("\"%s\".%s", cGame->MapName.m_Buffer, item), ret).ToLong();

	movzx	eax, bl
	push	eax
	lea	ecx, DWORD PTR $T67707[esp+76]
	call	??0aString@@QAE@H@Z			; aString::aString
	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	push	edi
	push	eax
	lea	ecx, DWORD PTR $T67708[esp+80]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	ecx
	mov	DWORD PTR __$EHRec$[esp+96], 3
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	lea	esi, DWORD PTR $T67707[esp+72]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T67709[esp+80]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+92], 4
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 5
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	test	eax, eax
	lea	ecx, DWORD PTR $T67709[esp+72]
	setne	bl
	mov	BYTE PTR __$EHRec$[esp+80], 4
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67708[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+80], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN30@Load_Bool:
	pop	edi
	pop	esi

; 34   : 		}
; 35   : 		return ret;

	mov	al, bl
	pop	ebx

; 36   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+60]
	mov	DWORD PTR fs:0, ecx
	add	esp, 60					; 0000003cH
	ret	16					; 00000010H
$LN31@Load_Bool:
	mov	ecx, DWORD PTR __$EHRec$[esp+68]
	pop	esi
	mov	al, bl
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 60					; 0000003cH
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$0:
	lea	ecx, DWORD PTR $T67704[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$1:
	lea	ecx, DWORD PTR $T67705[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$2:
	lea	ecx, DWORD PTR $T67706[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$3:
	lea	ecx, DWORD PTR $T67707[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$4:
	lea	ecx, DWORD PTR $T67708[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z$5:
	lea	ecx, DWORD PTR $T67709[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ENDP		; stSettingsBase::Load_Bool
PUBLIC	?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z	; stSettingsBase::Load_Float
EXTRN	?ToDouble@aString@@QAENXZ:PROC			; aString::ToDouble
EXTRN	??0aString@@QAE@N@Z:PROC			; aString::aString
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__ehfuncinfo$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$4
	DD	04H
	DD	FLAT:__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$5
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z
_TEXT	SEGMENT
_ret$ = -116						; size = 4
$T67755 = -112						; size = 8
$T67758 = -104						; size = 8
$T67757 = -96						; size = 8
$T67756 = -88						; size = 8
$T67760 = -80						; size = 8
$T67759 = -72						; size = 8
__$EHRec$ = -12						; size = 12
_item$ = 8						; size = 4
_default$ = 12						; size = 4
_map$ = 16						; size = 1
_global$ = 20						; size = 1
?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z PROC		; stSettingsBase::Load_Float, COMDAT
; _this$ = ecx

; 44   : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	mov	eax, DWORD PTR fs:0

; 45   : 		float ret = default;

	fld	DWORD PTR _default$[ebp]
	push	-1
	fld	ST(0)
	push	__ehhandler$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 104				; 00000068H
	push	ebx
	push	esi
	mov	esi, ecx

; 46   : 		if (this->m_cfg != NULL)

	cmp	DWORD PTR [esi+12], 0
	push	edi
	je	$LN34@Load_Float

; 47   : 		{
; 48   : 			if (global)

	cmp	BYTE PTR _global$[ebp], 0
	mov	edi, DWORD PTR _item$[ebp]
	je	$LN37@Load_Float

; 49   : 				ret = (float)this->m_cfg->GetData(aString::Format("General.%s", item), ret).ToDouble();

	sub	esp, 8
	fstp	ST(0)
	lea	ecx, DWORD PTR $T67755[esp+136]
	fstp	QWORD PTR [esp]
	call	??0aString@@QAE@N@Z			; aString::aString
	push	edi
	lea	eax, DWORD PTR $T67756[esp+132]
	push	OFFSET ??_C@_0L@MOILIICA@General?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+148], 0
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	lea	ebx, DWORD PTR $T67755[esp+128]
	push	ebx
	push	eax
	lea	eax, DWORD PTR $T67757[esp+136]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+148], 1
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	?ToDouble@aString@@QAENXZ		; aString::ToDouble
	fstp	DWORD PTR _ret$[esp+128]
	lea	ecx, DWORD PTR $T67757[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67756[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebx
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	fld	DWORD PTR _ret$[esp+128]
	jmp	SHORT $LN2@Load_Float
$LN37@Load_Float:
	fstp	ST(1)
$LN2@Load_Float:

; 50   : 			if (map)

	cmp	BYTE PTR _map$[ebp], 0
	je	$LN1@Load_Float

; 51   : 				ret = (float)this->m_cfg->GetData(aString::Format("\"%s\".%s", cGame->MapName.m_Buffer, item), ret).ToDouble();

	sub	esp, 8
	lea	ecx, DWORD PTR $T67758[esp+136]
	fstp	QWORD PTR [esp]
	call	??0aString@@QAE@N@Z			; aString::aString
	mov	eax, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx+40]
	push	edi
	push	edx
	lea	eax, DWORD PTR $T67759[esp+136]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+152], 3
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	lea	esi, DWORD PTR $T67758[esp+128]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T67760[esp+136]
	mov	bl, 4
	push	eax
	mov	BYTE PTR __$EHRec$[esp+148], bl
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 5
	call	?ToDouble@aString@@QAENXZ		; aString::ToDouble
	fstp	DWORD PTR _ret$[esp+128]
	lea	ecx, DWORD PTR $T67760[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67759[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 52   : 		}
; 53   : 		return ret;

	fld	DWORD PTR _ret$[esp+128]

; 54   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
$LN34@Load_Float:

; 46   : 		if (this->m_cfg != NULL)

	fstp	ST(1)
$LN1@Load_Float:

; 54   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$0:
	lea	ecx, DWORD PTR $T67755[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$1:
	lea	ecx, DWORD PTR $T67756[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$2:
	lea	ecx, DWORD PTR $T67757[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$3:
	lea	ecx, DWORD PTR $T67758[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$4:
	lea	ecx, DWORD PTR $T67759[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z$5:
	lea	ecx, DWORD PTR $T67760[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z ENDP		; stSettingsBase::Load_Float
PUBLIC	?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z		; stSettingsBase::Load_Int
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__ehfuncinfo$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$4
	DD	04H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$5
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z
_TEXT	SEGMENT
$T67810 = -60						; size = 8
$T67813 = -52						; size = 8
$T67812 = -44						; size = 8
$T67811 = -36						; size = 8
$T67815 = -28						; size = 8
$T67814 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_item$ = 8						; size = 4
_default$ = 12						; size = 4
_map$ = 16						; size = 1
_global$ = 20						; size = 1
?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z PROC		; stSettingsBase::Load_Int, COMDAT
; _this$ = ecx

; 62   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 48					; 00000030H
	push	esi
	mov	esi, ecx

; 63   : 		int ret = default;
; 64   : 		if (this->m_cfg != NULL)

	cmp	DWORD PTR [esi+12], 0
	push	edi
	mov	edi, DWORD PTR _default$[esp+64]
	je	$LN31@Load_Int

; 65   : 		{
; 66   : 			if (global)

	cmp	BYTE PTR _global$[esp+64], 0
	push	ebp
	mov	ebp, DWORD PTR _item$[esp+68]
	je	SHORT $LN2@Load_Int

; 67   : 				ret = this->m_cfg->GetData(aString::Format("General.%s", item), ret).ToLong();

	push	edi
	lea	ecx, DWORD PTR $T67810[esp+76]
	call	??0aString@@QAE@H@Z			; aString::aString
	push	ebp
	lea	eax, DWORD PTR $T67811[esp+76]
	push	OFFSET ??_C@_0L@MOILIICA@General?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+92], 0
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	lea	edi, DWORD PTR $T67810[esp+72]
	push	edi
	push	eax
	lea	eax, DWORD PTR $T67812[esp+80]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+92], 1
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 2
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	lea	ecx, DWORD PTR $T67812[esp+72]
	mov	edi, eax
	mov	BYTE PTR __$EHRec$[esp+80], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67811[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67810[esp+72]
	mov	DWORD PTR __$EHRec$[esp+80], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN2@Load_Int:

; 68   : 			if (map)

	cmp	BYTE PTR _map$[esp+68], 0
	je	$LN30@Load_Int

; 69   : 				ret = this->m_cfg->GetData(aString::Format("\"%s\".%s", cGame->MapName.m_Buffer, item), ret).ToLong();

	push	edi
	lea	ecx, DWORD PTR $T67813[esp+76]
	call	??0aString@@QAE@H@Z			; aString::aString
	mov	eax, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx+40]
	push	ebp
	push	edx
	lea	eax, DWORD PTR $T67814[esp+80]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+96], 3
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	lea	esi, DWORD PTR $T67813[esp+72]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T67815[esp+80]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+92], 4
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 5
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	lea	ecx, DWORD PTR $T67815[esp+72]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+80], 4
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67814[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67813[esp+72]
	mov	DWORD PTR __$EHRec$[esp+80], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	pop	ebp
	pop	edi

; 70   : 		}
; 71   : 		return ret;

	mov	eax, esi
	pop	esi

; 72   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+60]
	mov	DWORD PTR fs:0, ecx
	add	esp, 60					; 0000003cH
	ret	16					; 00000010H
$LN30@Load_Int:
	pop	ebp

; 70   : 		}
; 71   : 		return ret;

	mov	eax, edi
	pop	edi
	pop	esi

; 72   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+60]
	mov	DWORD PTR fs:0, ecx
	add	esp, 60					; 0000003cH
	ret	16					; 00000010H
$LN31@Load_Int:
	mov	ecx, DWORD PTR __$EHRec$[esp+68]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 60					; 0000003cH
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$0:
	lea	ecx, DWORD PTR $T67810[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$1:
	lea	ecx, DWORD PTR $T67811[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$2:
	lea	ecx, DWORD PTR $T67812[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$3:
	lea	ecx, DWORD PTR $T67813[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$4:
	lea	ecx, DWORD PTR $T67814[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$5:
	lea	ecx, DWORD PTR $T67815[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z ENDP		; stSettingsBase::Load_Int
PUBLIC	?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z ; stSettingsBase::Load_String
EXTRN	??4aString@@QAEAAV0@ABV0@@Z:PROC		; aString::operator=
EXTRN	??0aString@@QAE@PBD@Z:PROC			; aString::aString
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__ehfuncinfo$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z$2
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z$4
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z
_TEXT	SEGMENT
$T67863 = -32						; size = 4
$T67860 = -28						; size = 8
$T67859 = -28						; size = 8
$T67861 = -20						; size = 8
$T67858 = -20						; size = 8
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_item$ = 12						; size = 4
_default$ = 16						; size = 4
_map$ = 20						; size = 1
_global$ = 24						; size = 1
?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z PROC ; stSettingsBase::Load_String, COMDAT
; _this$ = ecx

; 80   : 	{

	push	-1
	push	__ehhandler$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H

; 81   : 		aString ret = default;

	mov	eax, DWORD PTR _default$[esp+28]
	push	ebx
	push	esi
	xor	ebx, ebx
	push	edi
	mov	DWORD PTR $T67863[esp+44], ebx
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+40]
	mov	edi, ecx
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+56], ebx
	call	??0aString@@QAE@PBD@Z			; aString::aString

; 88   : 		}
; 89   : 		return ret;

	cmp	DWORD PTR [edi+12], ebx
	mov	DWORD PTR __$EHRec$[esp+52], ebx
	mov	DWORD PTR $T67863[esp+44], 1
	je	$LN25@Load_Strin
	cmp	BYTE PTR _global$[esp+40], bl
	push	ebp
	mov	ebp, DWORD PTR _item$[esp+44]
	je	SHORT $LN2@Load_Strin
	push	ebp
	lea	ecx, DWORD PTR $T67858[esp+52]
	push	OFFSET ??_C@_0L@MOILIICA@General?4?$CFs?$AA@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [edi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T67859[esp+56]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+68], 1
	call	edx
	push	eax
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+60], 2
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T67859[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67858[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN2@Load_Strin:

; 82   : 		if (this->m_cfg != NULL)
; 83   : 		{
; 84   : 			if (global)
; 85   : 				ret = this->m_cfg->GetData(aString::Format("General.%s", item), ret);
; 86   : 			if (map)

	cmp	BYTE PTR _map$[esp+44], bl
	je	SHORT $LN24@Load_Strin

; 87   : 				ret = this->m_cfg->GetData(aString::Format("\"%s\".%s", cGame->MapName.m_Buffer, item), ret);

	mov	eax, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx+40]
	push	ebp
	push	edx
	lea	eax, DWORD PTR $T67860[esp+56]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR [edi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T67861[esp+56]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+68], 3
	call	edx
	push	eax
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+60], 4
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T67861[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67860[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN24@Load_Strin:
	pop	ebp
	pop	edi

; 88   : 		}
; 89   : 		return ret;

	mov	eax, esi
	pop	esi
	pop	ebx

; 90   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	mov	DWORD PTR fs:0, ecx
	add	esp, 32					; 00000020H
	ret	20					; 00000014H
$LN25@Load_Strin:
	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 32					; 00000020H
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z$0:
	mov	eax, DWORD PTR $T67863[ebp]
	and	eax, 1
	je	$LN7@Load_Strin
	and	DWORD PTR $T67863[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR ___$ReturnUdt$[ebp-4]
	jmp	??1aString@@UAE@XZ
$LN7@Load_Strin:
	ret	0
__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z$1:
	lea	ecx, DWORD PTR $T67858[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z$2:
	lea	ecx, DWORD PTR $T67859[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z$3:
	lea	ecx, DWORD PTR $T67860[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z$4:
	lea	ecx, DWORD PTR $T67861[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z ENDP ; stSettingsBase::Load_String
PUBLIC	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z$1
__ehfuncinfo$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z
_TEXT	SEGMENT
$T67902 = -28						; size = 4
$T67897 = -28						; size = 8
$T67898 = -20						; size = 8
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_section$ = 12						; size = 4
_item$ = 16						; size = 4
_default$ = 20						; size = 4
?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z PROC ; stSettingsBase::Load_String, COMDAT
; _this$ = ecx

; 92   : 	{

	push	-1
	push	__ehhandler$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H
	push	esi
	mov	esi, ecx
	mov	DWORD PTR $T67902[esp+32], 0

; 93   : 		if (this->m_cfg != NULL)

	cmp	DWORD PTR [esi+12], 0
	je	SHORT $LN1@Load_Strin@2

; 94   : 			return this->m_cfg->GetData(aString::Format("\"%s\".%s", section, item), default);

	mov	eax, DWORD PTR _default$[esp+28]
	push	eax
	lea	ecx, DWORD PTR $T67897[esp+36]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR _item$[esp+28]
	mov	edx, DWORD PTR _section$[esp+28]
	push	ecx
	push	edx
	lea	eax, DWORD PTR $T67898[esp+40]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+56], 0
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	lea	esi, DWORD PTR $T67897[esp+32]
	push	esi
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+32]
	push	eax
	mov	eax, DWORD PTR [edx+24]
	push	esi
	mov	BYTE PTR __$EHRec$[esp+52], 1
	call	eax
	lea	ecx, DWORD PTR $T67898[esp+32]
	mov	BYTE PTR __$EHRec$[esp+40], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67897[esp+32]
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 95   : 		return default;

	mov	eax, esi
	pop	esi

; 96   : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	16					; 00000010H
$LN1@Load_Strin@2:

; 95   : 		return default;

	mov	ecx, DWORD PTR _default$[esp+28]
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+28]
	push	ecx
	mov	ecx, esi
	call	??0aString@@QAE@PBD@Z			; aString::aString

; 96   : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z$0:
	lea	ecx, DWORD PTR $T67897[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z$1:
	lea	ecx, DWORD PTR $T67898[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ENDP ; stSettingsBase::Load_String
PUBLIC	??_7stSettingsBase@@6B@				; stSettingsBase::`vftable'
PUBLIC	??0stSettingsBase@@QAE@XZ			; stSettingsBase::stSettingsBase
PUBLIC	??_R4stSettingsBase@@6B@			; stSettingsBase::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVstSettingsBase@@@8			; stSettingsBase `RTTI Type Descriptor'
PUBLIC	??_R3stSettingsBase@@8				; stSettingsBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2stSettingsBase@@8				; stSettingsBase::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@stSettingsBase@@8			; stSettingsBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Delete@stSettingsBase@@UAEXXZ			; stSettingsBase::Delete
EXTRN	?gzSettingsMgr@@3PAVgzSettingsManager@@A:DWORD	; gzSettingsMgr
EXTRN	__purecall:PROC
;	COMDAT ??_R1A@?0A@EA@stSettingsBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@stSettingsBase@@8 DD FLAT:??_R0?AVstSettingsBase@@@8 ; stSettingsBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_R2stSettingsBase@@8
rdata$r	SEGMENT
??_R2stSettingsBase@@8 DD FLAT:??_R1A@?0A@EA@stSettingsBase@@8 ; stSettingsBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3stSettingsBase@@8
rdata$r	SEGMENT
??_R3stSettingsBase@@8 DD 00H				; stSettingsBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVstSettingsBase@@@8
_DATA	SEGMENT
??_R0?AVstSettingsBase@@@8 DD FLAT:??_7type_info@@6B@	; stSettingsBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVstSettingsBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R4stSettingsBase@@6B@
rdata$r	SEGMENT
??_R4stSettingsBase@@6B@ DD 00H				; stSettingsBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVstSettingsBase@@@8
	DD	FLAT:??_R3stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_7stSettingsBase@@6B@
CONST	SEGMENT
??_7stSettingsBase@@6B@ DD FLAT:??_R4stSettingsBase@@6B@ ; stSettingsBase::`vftable'
	DD	FLAT:?Delete@stSettingsBase@@UAEXXZ
	DD	FLAT:__purecall
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0stSettingsBase@@QAE@XZ
_TEXT	SEGMENT
$T67922 = -4						; size = 4
??0stSettingsBase@@QAE@XZ PROC				; stSettingsBase::stSettingsBase, COMDAT
; _this$ = ecx

; 101  : 	stSettingsBase()

	push	ecx

; 102  : 	{
; 103  : 		this->m_cfg = NULL;

	xor	eax, eax
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi+12], eax

; 104  : 		this->m_confModTime = 0;

	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+20], eax

; 105  : 		this->m_owner = NULL;

	mov	DWORD PTR [esi+8], eax
	mov	DWORD PTR [esi], OFFSET ??_7stSettingsBase@@6B@

; 106  : 		gzSettingsMgr->m_list.Add(this);

	mov	ecx, DWORD PTR ?gzSettingsMgr@@3PAVgzSettingsManager@@A ; gzSettingsMgr
	add	ecx, 36					; 00000024H
	mov	DWORD PTR $T67922[esp+8], esi
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+12]
	lea	edx, DWORD PTR $T67922[esp+8]
	push	edx
	call	eax

; 107  : 	};

	mov	eax, esi
	pop	esi
	pop	ecx
	ret	0
??0stSettingsBase@@QAE@XZ ENDP				; stSettingsBase::stSettingsBase
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@stSettingsBase@@UAEXXZ
_TEXT	SEGMENT
?Delete@stSettingsBase@@UAEXXZ PROC			; stSettingsBase::Delete, COMDAT
; _this$ = ecx

; 108  : 	virtual void Delete() { };

	ret	0
?Delete@stSettingsBase@@UAEXXZ ENDP			; stSettingsBase::Delete
_TEXT	ENDS
PUBLIC	?SetOwner@stSettingsBase@@QAEXPAVgzSettingsEvent@@@Z ; stSettingsBase::SetOwner
; Function compile flags: /Ogtpy
;	COMDAT ?SetOwner@stSettingsBase@@QAEXPAVgzSettingsEvent@@@Z
_TEXT	SEGMENT
_owner$ = 8						; size = 4
?SetOwner@stSettingsBase@@QAEXPAVgzSettingsEvent@@@Z PROC ; stSettingsBase::SetOwner, COMDAT
; _this$ = ecx

; 113  : 	void SetOwner(gzSettingsEvent *owner) { this->m_owner = owner; };

	mov	eax, DWORD PTR _owner$[esp-4]
	mov	DWORD PTR [ecx+8], eax
	ret	4
?SetOwner@stSettingsBase@@QAEXPAVgzSettingsEvent@@@Z ENDP ; stSettingsBase::SetOwner
_TEXT	ENDS
PUBLIC	?GetGamelogFileHandler@gzGameManager@@QAEPAU_iobuf@@XZ ; gzGameManager::GetGamelogFileHandler
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.h
;	COMDAT ?GetGamelogFileHandler@gzGameManager@@QAEPAU_iobuf@@XZ
_TEXT	SEGMENT
?GetGamelogFileHandler@gzGameManager@@QAEPAU_iobuf@@XZ PROC ; gzGameManager::GetGamelogFileHandler, COMDAT
; _this$ = ecx

; 109  : 	FILE *GetGamelogFileHandler() { return this->m_gamelogFile; };

	mov	eax, DWORD PTR [ecx+44]
	ret	0
?GetGamelogFileHandler@gzGameManager@@QAEPAU_iobuf@@XZ ENDP ; gzGameManager::GetGamelogFileHandler
_TEXT	ENDS
PUBLIC	?Delete@gzSettingsGameClass@@UAEXXZ		; gzSettingsGameClass::Delete
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
;	COMDAT ?Delete@gzSettingsGameClass@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzSettingsGameClass@@UAEXXZ PROC		; gzSettingsGameClass::Delete, COMDAT
; _this$ = ecx

; 44   : {

	push	esi
	mov	esi, ecx

; 45   : 	this->m_SpawnChar[0].Free_String();

	lea	ecx, DWORD PTR [esi+40]
	call	?Clear@aStringBase@@QAEXXZ		; aStringBase::Clear

; 46   : 	this->m_SpawnChar[1].Free_String();

	lea	ecx, DWORD PTR [esi+48]
	call	?Clear@aStringBase@@QAEXXZ		; aStringBase::Clear

; 47   : 	this->m_DisablePreset.Clear();

	mov	eax, DWORD PTR [esi+56]
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR [esi+56]
	call	edx

; 48   : 	this->m_LogRoot.Free_String();

	lea	ecx, DWORD PTR [esi+104]
	call	?Clear@aStringBase@@QAEXXZ		; aStringBase::Clear

; 49   : 
; 50   : 	this->m_DisableSpawner.Clear();

	mov	eax, DWORD PTR [esi+120]
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR [esi+120]
	pop	esi
	jmp	edx
?Delete@gzSettingsGameClass@@UAEXXZ ENDP		; gzSettingsGameClass::Delete
_TEXT	ENDS
PUBLIC	??_7gzSettingsEvent@@6B@			; gzSettingsEvent::`vftable'
PUBLIC	??0gzSettingsEvent@@QAE@XZ			; gzSettingsEvent::gzSettingsEvent
PUBLIC	??_R4gzSettingsEvent@@6B@			; gzSettingsEvent::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzSettingsEvent@@@8			; gzSettingsEvent `RTTI Type Descriptor'
PUBLIC	??_R3gzSettingsEvent@@8				; gzSettingsEvent::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzSettingsEvent@@8				; gzSettingsEvent::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzSettingsEvent@@8		; gzSettingsEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
;	COMDAT ??_R1A@?0A@EA@gzSettingsEvent@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzSettingsEvent@@8 DD FLAT:??_R0?AVgzSettingsEvent@@@8 ; gzSettingsEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R2gzSettingsEvent@@8
rdata$r	SEGMENT
??_R2gzSettingsEvent@@8 DD FLAT:??_R1A@?0A@EA@gzSettingsEvent@@8 ; gzSettingsEvent::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzSettingsEvent@@8
rdata$r	SEGMENT
??_R3gzSettingsEvent@@8 DD 00H				; gzSettingsEvent::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzSettingsEvent@@@8
_DATA	SEGMENT
??_R0?AVgzSettingsEvent@@@8 DD FLAT:??_7type_info@@6B@	; gzSettingsEvent `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzSettingsEvent@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzSettingsEvent@@6B@
rdata$r	SEGMENT
??_R4gzSettingsEvent@@6B@ DD 00H			; gzSettingsEvent::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzSettingsEvent@@@8
	DD	FLAT:??_R3gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_7gzSettingsEvent@@6B@
CONST	SEGMENT
??_7gzSettingsEvent@@6B@ DD FLAT:??_R4gzSettingsEvent@@6B@ ; gzSettingsEvent::`vftable'
	DD	FLAT:__purecall
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzSettingsEvent@@QAE@XZ
_TEXT	SEGMENT
??0gzSettingsEvent@@QAE@XZ PROC				; gzSettingsEvent::gzSettingsEvent, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET ??_7gzSettingsEvent@@6B@
	ret	0
??0gzSettingsEvent@@QAE@XZ ENDP				; gzSettingsEvent::gzSettingsEvent
_TEXT	ENDS
PUBLIC	??1gzGameModeBase@@UAE@XZ			; gzGameModeBase::~gzGameModeBase
EXTRN	??1EventHandler@@UAE@XZ:PROC			; EventHandler::~EventHandler
; Function compile flags: /Ogtpy
;	COMDAT ??1gzGameModeBase@@UAE@XZ
_TEXT	SEGMENT
??1gzGameModeBase@@UAE@XZ PROC				; gzGameModeBase::~gzGameModeBase, COMDAT
; _this$ = ecx
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
??1gzGameModeBase@@UAE@XZ ENDP				; gzGameModeBase::~gzGameModeBase
_TEXT	ENDS
PUBLIC	??1gzGameSniper@@UAE@XZ				; gzGameSniper::~gzGameSniper
; Function compile flags: /Ogtpy
;	COMDAT ??1gzGameSniper@@UAE@XZ
_TEXT	SEGMENT
??1gzGameSniper@@UAE@XZ PROC				; gzGameSniper::~gzGameSniper, COMDAT
; _this$ = ecx
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
??1gzGameSniper@@UAE@XZ ENDP				; gzGameSniper::~gzGameSniper
_TEXT	ENDS
PUBLIC	?AddObserver@gzGameManager@@QAEXKPBD0@Z		; gzGameManager::AddObserver
; Function compile flags: /Ogtpy
;	COMDAT ?AddObserver@gzGameManager@@QAEXKPBD0@Z
_TEXT	SEGMENT
_ob$ = -16						; size = 16
_type$ = 8						; size = 4
_name$ = 12						; size = 4
_param$ = 16						; size = 4
?AddObserver@gzGameManager@@QAEXKPBD0@Z PROC		; gzGameManager::AddObserver, COMDAT
; _this$ = ecx

; 434  : {

	sub	esp, 16					; 00000010H

; 435  : 	stObserverDataStruct ob;
; 436  : 	ob.type = type;

	mov	eax, DWORD PTR _type$[esp+12]

; 437  : 	ob.preset = NULL;
; 438  : 	ob.name = name;

	mov	edx, DWORD PTR _name$[esp+12]
	mov	DWORD PTR _ob$[esp+16], eax

; 439  : 	ob.param = (param ? param : "");

	mov	eax, DWORD PTR _param$[esp+12]
	test	eax, eax
	mov	DWORD PTR _ob$[esp+20], 0
	mov	DWORD PTR _ob$[esp+24], edx
	mov	DWORD PTR _ob$[esp+28], eax
	jne	SHORT $LN4@AddObserve
	mov	DWORD PTR _ob$[esp+28], OFFSET ??_C@_00CNPNBAHC@?$AA@
$LN4@AddObserve:

; 440  : 	this->m_observerList.Add(ob);

	mov	eax, DWORD PTR [ecx+56]
	mov	eax, DWORD PTR [eax+12]
	add	ecx, 56					; 00000038H
	lea	edx, DWORD PTR _ob$[esp+16]
	push	edx
	call	eax

; 441  : }

	add	esp, 16					; 00000010H
	ret	12					; 0000000cH
?AddObserver@gzGameManager@@QAEXKPBD0@Z ENDP		; gzGameManager::AddObserver
_TEXT	ENDS
PUBLIC	?AddObserver@gzGameManager@@QAEXPBD00@Z		; gzGameManager::AddObserver
; Function compile flags: /Ogtpy
;	COMDAT ?AddObserver@gzGameManager@@QAEXPBD00@Z
_TEXT	SEGMENT
_ob$ = -16						; size = 16
_preset$ = 8						; size = 4
_name$ = 12						; size = 4
_param$ = 16						; size = 4
?AddObserver@gzGameManager@@QAEXPBD00@Z PROC		; gzGameManager::AddObserver, COMDAT
; _this$ = ecx

; 443  : {

	sub	esp, 16					; 00000010H

; 444  : 	stObserverDataStruct ob;
; 445  : 	ob.type = 0;
; 446  : 	ob.preset = preset;

	mov	eax, DWORD PTR _preset$[esp+12]

; 447  : 	ob.name = name;

	mov	edx, DWORD PTR _name$[esp+12]
	mov	DWORD PTR _ob$[esp+20], eax

; 448  : 	ob.param = param;

	mov	eax, DWORD PTR _param$[esp+12]
	mov	DWORD PTR _ob$[esp+24], edx

; 449  : 	this->m_observerList.Add(ob);

	mov	edx, DWORD PTR [ecx+56]
	mov	edx, DWORD PTR [edx+12]
	add	ecx, 56					; 00000038H
	mov	DWORD PTR _ob$[esp+28], eax
	lea	eax, DWORD PTR _ob$[esp+16]
	push	eax
	mov	DWORD PTR _ob$[esp+20], 0
	call	edx

; 450  : }

	add	esp, 16					; 00000010H
	ret	12					; 0000000cH
?AddObserver@gzGameManager@@QAEXPBD00@Z ENDP		; gzGameManager::AddObserver
_TEXT	ENDS
PUBLIC	__real@00000000
PUBLIC	__real@3f800000
PUBLIC	__real@3f000000
PUBLIC	??_7gzWeatherManager@@6B@			; gzWeatherManager::`vftable'
PUBLIC	??0gzWeatherManager@@QAE@XZ			; gzWeatherManager::gzWeatherManager
PUBLIC	??_R4gzWeatherManager@@6B@			; gzWeatherManager::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzWeatherManager@@@8			; gzWeatherManager `RTTI Type Descriptor'
PUBLIC	??_R3gzWeatherManager@@8			; gzWeatherManager::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzWeatherManager@@8			; gzWeatherManager::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzWeatherManager@@8		; gzWeatherManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@EventHandler@@8			; EventHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVEventHandler@@@8			; EventHandler `RTTI Type Descriptor'
PUBLIC	??_R3EventHandler@@8				; EventHandler::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2EventHandler@@8				; EventHandler::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzBase@@8				; gzBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVgzBase@@@8				; gzBase `RTTI Type Descriptor'
PUBLIC	??_R3gzBase@@8					; gzBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzBase@@8					; gzBase::`RTTI Base Class Array'
PUBLIC	?GetName@gzWeatherManager@@UAEPBDXZ		; gzWeatherManager::GetName
PUBLIC	?Delete@gzWeatherManager@@UAEXXZ		; gzWeatherManager::Delete
PUBLIC	?Level_Loaded@EventHandler@@UAEXXZ		; EventHandler::Level_Loaded
PUBLIC	?Level_Ended@EventHandler@@UAEXXZ		; EventHandler::Level_Ended
PUBLIC	?Think@gzWeatherManager@@UAEXXZ			; gzWeatherManager::Think
PUBLIC	?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_Joined
PUBLIC	?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_Left
PUBLIC	?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z ; EventHandler::Player_Purchase
PUBLIC	?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z ; EventHandler::Player_BandwidthChange
PUBLIC	?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_Suicide
PUBLIC	?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_TeamChange
PUBLIC	?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z ; EventHandler::Player_Chat
PUBLIC	?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z ; EventHandler::Player_Radio
PUBLIC	?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z ; EventHandler::Player_SerialHash
PUBLIC	?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z ; EventHandler::Player_RawDamage
PUBLIC	?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z ; EventHandler::Object_Created
PUBLIC	?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z ; EventHandler::Object_Init
PUBLIC	?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z ; EventHandler::Object_Damaged
PUBLIC	?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z ; EventHandler::Object_Killed
PUBLIC	?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z ; EventHandler::Object_Transition
PUBLIC	?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ; EventHandler::Object_JumpStart
PUBLIC	?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ; EventHandler::Object_JumpComplete
PUBLIC	?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z ; EventHandler::Object_SoldierSquished
PUBLIC	?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z ; EventHandler::Object_C4Creation
PUBLIC	?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z ; EventHandler::Object_C4Detonate
PUBLIC	?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z ; EventHandler::Object_PowerupGrant
PUBLIC	?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z ; EventHandler::Object_Fire
PUBLIC	?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z ; EventHandler::Object_FlipKill
PUBLIC	?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z ; EventHandler::Net_WolPage
PUBLIC	?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z ; EventHandler::Net_SerialAuth
PUBLIC	?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z ; EventHandler::Bhs_Poke
PUBLIC	?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z ; EventHandler::Bhs_Version
EXTRN	?stRandom@@3VaRandom@@A:QWORD			; stRandom
EXTRN	?RegisterEvent@EventHandler@@QAEXHH@Z:PROC	; EventHandler::RegisterEvent
EXTRN	??0EventHandler@@QAE@XZ:PROC			; EventHandler::EventHandler
EXTRN	??_EgzWeatherManager@@UAEPAXI@Z:PROC		; gzWeatherManager::`vector deleting destructor'
EXTRN	?SetDeletePending@gzBase@@UAEXXZ:PROC		; gzBase::SetDeletePending
;	COMDAT ??_R2gzBase@@8
rdata$r	SEGMENT
??_R2gzBase@@8 DD FLAT:??_R1A@?0A@EA@gzBase@@8		; gzBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzBase@@8
rdata$r	SEGMENT
??_R3gzBase@@8 DD 00H					; gzBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzBase@@@8
_DATA	SEGMENT
??_R0?AVgzBase@@@8 DD FLAT:??_7type_info@@6B@		; gzBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@gzBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzBase@@8 DD FLAT:??_R0?AVgzBase@@@8	; gzBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R2EventHandler@@8
rdata$r	SEGMENT
??_R2EventHandler@@8 DD FLAT:??_R1A@?0A@EA@EventHandler@@8 ; EventHandler::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3EventHandler@@8
rdata$r	SEGMENT
??_R3EventHandler@@8 DD 00H				; EventHandler::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2EventHandler@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVEventHandler@@@8
_DATA	SEGMENT
??_R0?AVEventHandler@@@8 DD FLAT:??_7type_info@@6B@	; EventHandler `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVEventHandler@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@EventHandler@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@EventHandler@@8 DD FLAT:??_R0?AVEventHandler@@@8 ; EventHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3EventHandler@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzWeatherManager@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzWeatherManager@@8 DD FLAT:??_R0?AVgzWeatherManager@@@8 ; gzWeatherManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzWeatherManager@@8
rdata$r	ENDS
;	COMDAT ??_R2gzWeatherManager@@8
rdata$r	SEGMENT
??_R2gzWeatherManager@@8 DD FLAT:??_R1A@?0A@EA@gzWeatherManager@@8 ; gzWeatherManager::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzWeatherManager@@8
rdata$r	SEGMENT
??_R3gzWeatherManager@@8 DD 00H				; gzWeatherManager::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2gzWeatherManager@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzWeatherManager@@@8
_DATA	SEGMENT
??_R0?AVgzWeatherManager@@@8 DD FLAT:??_7type_info@@6B@	; gzWeatherManager `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzWeatherManager@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzWeatherManager@@6B@
rdata$r	SEGMENT
??_R4gzWeatherManager@@6B@ DD 00H			; gzWeatherManager::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzWeatherManager@@@8
	DD	FLAT:??_R3gzWeatherManager@@8
rdata$r	ENDS
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
CONST	ENDS
;	COMDAT __real@3f800000
CONST	SEGMENT
__real@3f800000 DD 03f800000r			; 1
CONST	ENDS
;	COMDAT __real@3f000000
CONST	SEGMENT
__real@3f000000 DD 03f000000r			; 0.5
CONST	ENDS
;	COMDAT ??_7gzWeatherManager@@6B@
CONST	SEGMENT
??_7gzWeatherManager@@6B@ DD FLAT:??_R4gzWeatherManager@@6B@ ; gzWeatherManager::`vftable'
	DD	FLAT:??_EgzWeatherManager@@UAEPAXI@Z
	DD	FLAT:?GetName@gzWeatherManager@@UAEPBDXZ
	DD	FLAT:?Delete@gzWeatherManager@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@EventHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@EventHandler@@UAEXXZ
	DD	FLAT:?Think@gzWeatherManager@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzWeatherManager@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzWeatherManager@@QAE@XZ$0
__ehfuncinfo$??0gzWeatherManager@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzWeatherManager@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzWeatherManager@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzWeatherManager@@QAE@XZ PROC			; gzWeatherManager::gzWeatherManager, COMDAT
; _this$ = ecx

; 457  : {

	push	-1
	push	__ehhandler$??0gzWeatherManager@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	call	??0EventHandler@@QAE@XZ			; EventHandler::EventHandler

; 458  : 	this->RegisterEvent(EVT_GAME_THINK);

	push	0
	push	4098					; 00001002H
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR [esi], OFFSET ??_7gzWeatherManager@@6B@
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 459  : 
; 460  : 	this->m_timer = 0.5f;

	fld	DWORD PTR __real@3f000000
	fstp	DWORD PTR [esi+36]

; 461  : 	this->m_clouds = stRandom.Get_Float(0.0f, 1.0f);

	sub	esp, 8
	fld1
	mov	ecx, OFFSET ?stRandom@@3VaRandom@@A	; stRandom
	fstp	DWORD PTR [esp+4]
	fldz
	fstp	DWORD PTR [esp]
	call	?Get_Float@aRandom@@QAEMMM@Z		; aRandom::Get_Float
	fstp	DWORD PTR [esi+44]

; 462  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzWeatherManager@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__ehhandler$??0gzWeatherManager@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzWeatherManager@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzWeatherManager@@QAE@XZ ENDP			; gzWeatherManager::gzWeatherManager
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stevent.h
;	COMDAT ?Level_Loaded@EventHandler@@UAEXXZ
_TEXT	SEGMENT
?Level_Loaded@EventHandler@@UAEXXZ PROC			; EventHandler::Level_Loaded, COMDAT
; _this$ = ecx

; 62   : 	virtual void Level_Loaded()	{ };

	ret	0
?Level_Loaded@EventHandler@@UAEXXZ ENDP			; EventHandler::Level_Loaded
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Level_Ended@EventHandler@@UAEXXZ
_TEXT	SEGMENT
?Level_Ended@EventHandler@@UAEXXZ PROC			; EventHandler::Level_Ended, COMDAT
; _this$ = ecx

; 63   : 	virtual void Level_Ended() { };

	ret	0
?Level_Ended@EventHandler@@UAEXXZ ENDP			; EventHandler::Level_Ended
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z PROC ; EventHandler::Player_Joined, COMDAT
; _this$ = ecx

; 67   : 	virtual void Player_Joined(gzEventPlayerBase &) { };

	ret	4
?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; EventHandler::Player_Joined
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z PROC ; EventHandler::Player_Left, COMDAT
; _this$ = ecx

; 68   : 	virtual void Player_Left(gzEventPlayerBase &) { };

	ret	4
?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; EventHandler::Player_Left
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z PROC ; EventHandler::Player_Purchase, COMDAT
; _this$ = ecx

; 69   : 	virtual void Player_Purchase(gzEventPlayerPurchase &) { };

	ret	4
?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z ENDP ; EventHandler::Player_Purchase
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z PROC ; EventHandler::Player_BandwidthChange, COMDAT
; _this$ = ecx

; 70   : 	virtual void Player_BandwidthChange(gzEventPlayerBandwidth &) { };

	ret	4
?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z ENDP ; EventHandler::Player_BandwidthChange
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z PROC ; EventHandler::Player_Suicide, COMDAT
; _this$ = ecx

; 71   : 	virtual void Player_Suicide(gzEventPlayerBase &) { };

	ret	4
?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; EventHandler::Player_Suicide
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z PROC ; EventHandler::Player_TeamChange, COMDAT
; _this$ = ecx

; 72   : 	virtual void Player_TeamChange(gzEventPlayerBase &) { };

	ret	4
?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; EventHandler::Player_TeamChange
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z PROC ; EventHandler::Player_Chat, COMDAT
; _this$ = ecx

; 73   : 	virtual void Player_Chat(gzEventPlayerChat &) { };

	ret	4
?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z ENDP ; EventHandler::Player_Chat
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z PROC ; EventHandler::Player_Radio, COMDAT
; _this$ = ecx

; 74   : 	virtual void Player_Radio(gzEventPlayerRadio &) { };

	ret	4
?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z ENDP ; EventHandler::Player_Radio
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z PROC ; EventHandler::Player_SerialHash, COMDAT
; _this$ = ecx

; 75   : 	virtual void Player_SerialHash(gzEventPlayerSerialHash &) { };

	ret	4
?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z ENDP ; EventHandler::Player_SerialHash
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z PROC ; EventHandler::Player_RawDamage, COMDAT
; _this$ = ecx

; 76   : 	virtual void Player_RawDamage(gzEventObjectDamage &) { };

	ret	4
?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z ENDP ; EventHandler::Player_RawDamage
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z PROC ; EventHandler::Object_Created, COMDAT
; _this$ = ecx

; 79   : 	virtual void Object_Created(gzEventObjectCreate &) { };

	ret	4
?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z ENDP ; EventHandler::Object_Created
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z PROC ; EventHandler::Object_Init, COMDAT
; _this$ = ecx

; 80   : 	virtual void Object_Init(gzEventObjectInit &) { };

	ret	4
?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z ENDP ; EventHandler::Object_Init
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z PROC ; EventHandler::Object_Damaged, COMDAT
; _this$ = ecx

; 81   : 	virtual void Object_Damaged(gzEventObjectDamage &) { };

	ret	4
?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z ENDP ; EventHandler::Object_Damaged
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z PROC ; EventHandler::Object_Killed, COMDAT
; _this$ = ecx

; 82   : 	virtual void Object_Killed(gzEventObjectKill &) { };

	ret	4
?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z ENDP ; EventHandler::Object_Killed
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z PROC ; EventHandler::Object_Transition, COMDAT
; _this$ = ecx

; 83   : 	virtual void Object_Transition(gzEventObjectTransition &) { };

	ret	4
?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z ENDP ; EventHandler::Object_Transition
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z PROC ; EventHandler::Object_JumpStart, COMDAT
; _this$ = ecx

; 84   : 	virtual void Object_JumpStart(gzEventObjectJump &) { };

	ret	4
?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ENDP ; EventHandler::Object_JumpStart
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z PROC ; EventHandler::Object_JumpComplete, COMDAT
; _this$ = ecx

; 85   : 	virtual void Object_JumpComplete(gzEventObjectJump &) { };

	ret	4
?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ENDP ; EventHandler::Object_JumpComplete
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z PROC ; EventHandler::Object_SoldierSquished, COMDAT
; _this$ = ecx

; 86   : 	virtual void Object_SoldierSquished(gzEventObjectKill &) { };

	ret	4
?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z ENDP ; EventHandler::Object_SoldierSquished
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z PROC ; EventHandler::Object_C4Creation, COMDAT
; _this$ = ecx

; 87   : 	virtual void Object_C4Creation(gzEventObjectC4Creation &) { };

	ret	4
?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z ENDP ; EventHandler::Object_C4Creation
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z PROC ; EventHandler::Object_C4Detonate, COMDAT
; _this$ = ecx

; 88   : 	virtual void Object_C4Detonate(gzEventObjectC4Detonation &) { };

	ret	4
?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z ENDP ; EventHandler::Object_C4Detonate
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z PROC ; EventHandler::Object_PowerupGrant, COMDAT
; _this$ = ecx

; 89   : 	virtual void Object_PowerupGrant(gzEventObjectPowerupGrant &) { };

	ret	4
?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z ENDP ; EventHandler::Object_PowerupGrant
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z PROC ; EventHandler::Object_Fire, COMDAT
; _this$ = ecx

; 90   : 	virtual void Object_Fire(gzEventObjectFire &) { };

	ret	4
?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z ENDP ; EventHandler::Object_Fire
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z PROC ; EventHandler::Object_FlipKill, COMDAT
; _this$ = ecx

; 91   : 	virtual void Object_FlipKill(gzEventObjectFlipKill &) { };

	ret	4
?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z ENDP ; EventHandler::Object_FlipKill
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z PROC ; EventHandler::Net_WolPage, COMDAT
; _this$ = ecx

; 94   : 	virtual void Net_WolPage(gzEventNetWolPage &) { };

	ret	4
?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z ENDP ; EventHandler::Net_WolPage
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z PROC ; EventHandler::Net_SerialAuth, COMDAT
; _this$ = ecx

; 95   : 	virtual void Net_SerialAuth(gzEventNetSerialAuth &) { };

	ret	4
?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z ENDP ; EventHandler::Net_SerialAuth
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z PROC	; EventHandler::Bhs_Poke, COMDAT
; _this$ = ecx

; 98   : 	virtual void Bhs_Poke(gzEventBhsPoke &) { };

	ret	4
?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z ENDP	; EventHandler::Bhs_Poke
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z PROC ; EventHandler::Bhs_Version, COMDAT
; _this$ = ecx

; 99   : 	virtual void Bhs_Version(gzEventBhsVersion &) { };

	ret	4
?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z ENDP ; EventHandler::Bhs_Version
_TEXT	ENDS
PUBLIC	??_C@_0BB@FIOALBKL@gzWeatherManager?$AA@	; `string'
;	COMDAT ??_C@_0BB@FIOALBKL@gzWeatherManager?$AA@
; File d:\source code\stgm\stgame.h
CONST	SEGMENT
??_C@_0BB@FIOALBKL@gzWeatherManager?$AA@ DB 'gzWeatherManager', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzWeatherManager@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzWeatherManager@@UAEPBDXZ PROC		; gzWeatherManager::GetName, COMDAT
; _this$ = ecx

; 139  : 		return "gzWeatherManager";

	mov	eax, OFFSET ??_C@_0BB@FIOALBKL@gzWeatherManager?$AA@

; 140  : 	};

	ret	0
?GetName@gzWeatherManager@@UAEPBDXZ ENDP		; gzWeatherManager::GetName
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@gzWeatherManager@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzWeatherManager@@UAEXXZ PROC			; gzWeatherManager::Delete, COMDAT
; _this$ = ecx

; 141  : 	void Delete() { };

	ret	0
?Delete@gzWeatherManager@@UAEXXZ ENDP			; gzWeatherManager::Delete
_TEXT	ENDS
PUBLIC	??1gzWeatherManager@@UAE@XZ			; gzWeatherManager::~gzWeatherManager
; Function compile flags: /Ogtpy
;	COMDAT ??1gzWeatherManager@@UAE@XZ
_TEXT	SEGMENT
??1gzWeatherManager@@UAE@XZ PROC			; gzWeatherManager::~gzWeatherManager, COMDAT
; _this$ = ecx
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
??1gzWeatherManager@@UAE@XZ ENDP			; gzWeatherManager::~gzWeatherManager
_TEXT	ENDS
PUBLIC	__real@3e000000
PUBLIC	__real@3f600000
PUBLIC	__real@3e4ccccd
PUBLIC	__real@3eaaaaab
PUBLIC	__real@40a00000
PUBLIC	__real@41000000
PUBLIC	__real@3f200000
PUBLIC	__real@41200000
PUBLIC	__real@3a83126f
EXTRN	?gzCommands@@3PAUnc_ScriptCommands@@A:DWORD	; gzCommands
EXTRN	?SubFrameTime@@YAXAAM_N@Z:PROC			; SubFrameTime
;	COMDAT __real@3e000000
; File d:\source code\stgm\stgame.cpp
CONST	SEGMENT
__real@3e000000 DD 03e000000r			; 0.125
CONST	ENDS
;	COMDAT __real@3f600000
CONST	SEGMENT
__real@3f600000 DD 03f600000r			; 0.875
CONST	ENDS
;	COMDAT __real@3e4ccccd
CONST	SEGMENT
__real@3e4ccccd DD 03e4ccccdr			; 0.2
CONST	ENDS
;	COMDAT __real@3eaaaaab
CONST	SEGMENT
__real@3eaaaaab DD 03eaaaaabr			; 0.333333
CONST	ENDS
;	COMDAT __real@40a00000
CONST	SEGMENT
__real@40a00000 DD 040a00000r			; 5
CONST	ENDS
;	COMDAT __real@41000000
CONST	SEGMENT
__real@41000000 DD 041000000r			; 8
CONST	ENDS
;	COMDAT __real@3f200000
CONST	SEGMENT
__real@3f200000 DD 03f200000r			; 0.625
CONST	ENDS
;	COMDAT __real@41200000
CONST	SEGMENT
__real@41200000 DD 041200000r			; 10
CONST	ENDS
;	COMDAT __real@3a83126f
CONST	SEGMENT
__real@3a83126f DD 03a83126fr			; 0.001
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Think@gzWeatherManager@@UAEXXZ
_TEXT	SEGMENT
?Think@gzWeatherManager@@UAEXXZ PROC			; gzWeatherManager::Think, COMDAT
; _this$ = ecx

; 464  : {

	push	esi
	push	edi
	mov	esi, ecx

; 465  : 	SubFrameTime(this->m_timer, true);

	lea	edi, DWORD PTR [esi+36]
	push	1
	push	edi
	call	?SubFrameTime@@YAXAAM_N@Z		; SubFrameTime

; 466  : 
; 467  : 	// Times up
; 468  : 	if (this->m_timer < 0.0f)

	fldz
	fcomp	DWORD PTR [edi]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN22@Think

; 469  : 	{
; 470  : 		// Set clouds
; 471  : 		if (this->m_clouds < this->m_range)

	fld	DWORD PTR [esi+40]
	fcomp	DWORD PTR [esi+44]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN21@Think

; 472  : 		{
; 473  : 			if ((this->m_clouds + 0.001f) >= this->m_range)

	fld	DWORD PTR [esi+44]
	fadd	DWORD PTR __real@3a83126f
	fcom	DWORD PTR [esi+40]
	fnstsw	ax
	test	ah, 1
	jne	SHORT $LN16@Think

; 474  : 				this->m_clouds = this->m_range;
; 475  : 			else

	jmp	SHORT $LN33@Think
$LN21@Think:

; 476  : 				this->m_clouds += 0.001f;
; 477  : 		}
; 478  : 		else if (this->m_clouds > this->m_range)

	fld	DWORD PTR [esi+40]
	fcomp	DWORD PTR [esi+44]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN15@Think

; 479  : 		{
; 480  : 			if ((this->m_clouds - 0.001f) <= this->m_range)

	fld	DWORD PTR [esi+44]
	fsub	DWORD PTR __real@3a83126f
	fcom	DWORD PTR [esi+40]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN16@Think
$LN33@Think:
	fstp	ST(0)

; 481  : 				this->m_clouds = this->m_range;

	fld	DWORD PTR [esi+40]
$LN16@Think:

; 482  : 			else
; 483  : 				this->m_clouds -= 0.001f;

	fstp	DWORD PTR [esi+44]
$LN15@Think:

; 484  : 		}
; 485  : 		gzCommands->Set_Clouds(this->m_clouds, this->m_clouds, 1.0f);

	fld1
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+672]
	sub	esp, 12					; 0000000cH
	fstp	DWORD PTR [esp+8]
	fld	DWORD PTR [esi+44]
	fstp	DWORD PTR [esp+4]
	fld	DWORD PTR [esi+44]
	fstp	DWORD PTR [esp]
	call	ecx

; 486  : 
; 487  : 		// Set winds
; 488  : 		float winds = (this->m_clouds * 10.0f);
; 489  : 		gzCommands->Set_Wind(0.0f, winds, 1.0f, true);

	fld1
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+684]
	fst	DWORD PTR [esp+8]
	fstp	DWORD PTR [esp+4]
	fld	DWORD PTR [esi+44]
	fmul	DWORD PTR __real@41200000
	fstp	DWORD PTR [esp]
	push	ecx
	fldz
	fstp	DWORD PTR [esp]
	call	eax

; 490  : 
; 491  : 		// Fog - Increase 2-5kbps bandwidth usage per player
; 492  : 		//gzCommands->Set_Fog_Enable(true);
; 493  : 		//gzCommands->Set_Fog_Range(((-175.0f * this->m_clouds) + 275.0f), 300.0f, 1.0f);
; 494  : 
; 495  : 		// Change weather status
; 496  : 		switch (gzGameMgr->m_settings->m_WeatherType)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	edx, DWORD PTR [ecx+72]
	mov	eax, DWORD PTR [edx+88]
	add	esp, 16					; 00000010H
	sub	eax, 1
	je	$LN12@Think
	sub	eax, 1
	je	SHORT $LN7@Think
	sub	eax, 1
	jne	$LN8@Think

; 525  : 
; 526  : 			case WEATHER_ASH:
; 527  : 				if (this->m_clouds >= 0.625f)

	fld	DWORD PTR __real@3f200000

; 528  : 				{
; 529  : 					float ash = (((8.0f * this->m_clouds) - 5.0f) / 3.0f);
; 530  : 					gzCommands->Set_Ash(ash, ash, true);

	push	1
	fcomp	DWORD PTR [esi+44]
	sub	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN3@Think
	fld	DWORD PTR [esi+44]
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	fmul	DWORD PTR __real@41000000
	mov	ecx, DWORD PTR [eax+696]
	fsub	DWORD PTR __real@40a00000
	fmul	DWORD PTR __real@3eaaaaab
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	ecx
	add	esp, 12					; 0000000cH

; 531  : 				}
; 532  : 				else

	jmp	$LN8@Think
$LN3@Think:

; 533  : 					gzCommands->Set_Ash(0.0f, 0.0f, true);

	fldz
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+696]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	eax
	add	esp, 12					; 0000000cH

; 534  : 				break;

	jmp	$LN8@Think
$LN7@Think:

; 514  : 				break;
; 515  : 				
; 516  : 			case WEATHER_SNOW:
; 517  : 				if (this->m_clouds >= 0.625f)

	fld	DWORD PTR __real@3f200000

; 518  : 				{
; 519  : 					float snow = (((8.0f * this->m_clouds) - 5.0f) / 3.0f);
; 520  : 					gzCommands->Set_Snow(snow, snow, true);

	push	1
	fcomp	DWORD PTR [esi+44]
	sub	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN6@Think
	fld	DWORD PTR [esi+44]
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	fmul	DWORD PTR __real@41000000
	mov	edx, DWORD PTR [ecx+692]
	fsub	DWORD PTR __real@40a00000
	fmul	DWORD PTR __real@3eaaaaab
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	edx
	add	esp, 12					; 0000000cH

; 521  : 				}
; 522  : 				else

	jmp	$LN8@Think
$LN6@Think:

; 523  : 					gzCommands->Set_Snow(0.0f, 0.0f, true);

	fldz
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+692]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	ecx
	add	esp, 12					; 0000000cH

; 524  : 				break;

	jmp	$LN8@Think
$LN12@Think:

; 497  : 		{
; 498  : 			case WEATHER_RAIN:
; 499  : 				if (this->m_clouds >= 0.625f)

	fld	DWORD PTR __real@3f200000

; 500  : 				{
; 501  : 					float rain = ((2.0f * this->m_clouds) - 0.2f);
; 502  : 					gzCommands->Set_Rain(rain, rain, true);

	push	1
	fcomp	DWORD PTR [esi+44]
	sub	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN11@Think
	fld	DWORD PTR [esi+44]
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+688]
	fadd	ST(0), ST(0)
	fsub	DWORD PTR __real@3e4ccccd
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	eax

; 503  : 				}
; 504  : 				else

	jmp	SHORT $LN31@Think
$LN11@Think:

; 505  : 					gzCommands->Set_Rain(0.0f, 0.0f, true);

	fldz
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+688]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	edx
$LN31@Think:

; 506  : 
; 507  : 				if (this->m_clouds >= 0.875f)

	fld	DWORD PTR __real@3f600000
	add	esp, 12					; 0000000cH
	fcomp	DWORD PTR [esi+44]

; 508  : 				{
; 509  : 					float lightning = ((8.0f * (this->m_clouds + 0.125f)) - 8.0f);
; 510  : 					gzCommands->Set_Lightning(lightning, 0.0f, 1.0f, 0.0f, 1.0f, true);

	sub	esp, 24					; 00000018H
	fnstsw	ax
	fld1
	test	ah, 65					; 00000041H
	fst	DWORD PTR [esp+20]
	fst	DWORD PTR [esp+16]
	fldz
	fst	DWORD PTR [esp+12]
	fxch	ST(1)
	fstp	DWORD PTR [esp+8]
	jp	SHORT $LN9@Think
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	fstp	DWORD PTR [esp+4]
	fld	DWORD PTR [esi+44]
	mov	ecx, DWORD PTR [eax+676]
	fadd	DWORD PTR __real@3e000000
	fld	DWORD PTR __real@41000000
	fmul	ST(1), ST(0)
	fsubp	ST(1), ST(0)
	fstp	DWORD PTR [esp]
	call	ecx

; 511  : 				}
; 512  : 				else

	jmp	SHORT $LN32@Think
$LN9@Think:

; 513  : 					gzCommands->Set_Lightning(0.0f, 0.0f, 1.0f, 0.0f, 1.0f, true);

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	fst	DWORD PTR [esp+4]
	mov	eax, DWORD PTR [edx+676]
	fstp	DWORD PTR [esp]
	call	eax
$LN32@Think:
	add	esp, 24					; 00000018H
$LN8@Think:

; 535  : 		}
; 536  : 
; 537  : 		// Stop weather
; 538  : 		if (this->m_clouds == this->m_range)

	fld	DWORD PTR [esi+40]
	fcomp	DWORD PTR [esi+44]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN1@Think

; 539  : 			this->m_range = stRandom.Get_Float(0.0f, 1.0f);

	fld1
	sub	esp, 8
	fstp	DWORD PTR [esp+4]
	mov	ecx, OFFSET ?stRandom@@3VaRandom@@A	; stRandom
	fldz
	fstp	DWORD PTR [esp]
	call	?Get_Float@aRandom@@QAEMMM@Z		; aRandom::Get_Float
	fstp	DWORD PTR [esi+40]
$LN1@Think:

; 540  : 
; 541  : 		this->m_timer = 0.5f;

	fld	DWORD PTR __real@3f000000
	fstp	DWORD PTR [edi]
$LN22@Think:
	pop	edi
	pop	esi

; 542  : 	}
; 543  : }

	ret	0
?Think@gzWeatherManager@@UAEXXZ ENDP			; gzWeatherManager::Think
_TEXT	ENDS
PUBLIC	??_7gzGameModeBase@@6B@				; gzGameModeBase::`vftable'
PUBLIC	??0gzGameModeBase@@QAE@XZ			; gzGameModeBase::gzGameModeBase
PUBLIC	??_R4gzGameModeBase@@6B@			; gzGameModeBase::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzGameModeBase@@@8			; gzGameModeBase `RTTI Type Descriptor'
PUBLIC	??_R3gzGameModeBase@@8				; gzGameModeBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzGameModeBase@@8				; gzGameModeBase::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzGameModeBase@@8			; gzGameModeBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Think@EventHandler@@UAEXXZ			; EventHandler::Think
PUBLIC	?Object_JumpStart@gzGameModeBase@@UAEXAAVgzEventObjectJump@@@Z ; gzGameModeBase::Object_JumpStart
PUBLIC	?Object_SoldierSquished@gzGameModeBase@@UAEXAAVgzEventObjectKill@@@Z ; gzGameModeBase::Object_SoldierSquished
PUBLIC	?As_GameAow@gzGameModeBase@@UAEPAVgzGameAow@@XZ	; gzGameModeBase::As_GameAow
PUBLIC	?As_GameCTF@gzGameModeBase@@UAEPAVgzGameCTF@@XZ	; gzGameModeBase::As_GameCTF
PUBLIC	?As_GameInfOnly@gzGameModeBase@@UAEPAVgzGameInfOnly@@XZ ; gzGameModeBase::As_GameInfOnly
PUBLIC	?As_GameSniper@gzGameModeBase@@UAEPAVgzGameSniper@@XZ ; gzGameModeBase::As_GameSniper
PUBLIC	?As_Game500Snip@gzGameModeBase@@UAEPAVgzGame500Snip@@XZ ; gzGameModeBase::As_Game500Snip
PUBLIC	?As_GameDM@gzGameModeBase@@UAEPAVgzGameDM@@XZ	; gzGameModeBase::As_GameDM
EXTRN	??_EgzGameModeBase@@UAEPAXI@Z:PROC		; gzGameModeBase::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzGameModeBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzGameModeBase@@8 DD FLAT:??_R0?AVgzGameModeBase@@@8 ; gzGameModeBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzGameModeBase@@8
rdata$r	ENDS
;	COMDAT ??_R2gzGameModeBase@@8
rdata$r	SEGMENT
??_R2gzGameModeBase@@8 DD FLAT:??_R1A@?0A@EA@gzGameModeBase@@8 ; gzGameModeBase::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzGameModeBase@@8
rdata$r	SEGMENT
??_R3gzGameModeBase@@8 DD 00H				; gzGameModeBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2gzGameModeBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzGameModeBase@@@8
_DATA	SEGMENT
??_R0?AVgzGameModeBase@@@8 DD FLAT:??_7type_info@@6B@	; gzGameModeBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzGameModeBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzGameModeBase@@6B@
rdata$r	SEGMENT
??_R4gzGameModeBase@@6B@ DD 00H				; gzGameModeBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzGameModeBase@@@8
	DD	FLAT:??_R3gzGameModeBase@@8
rdata$r	ENDS
;	COMDAT ??_7gzGameModeBase@@6B@
CONST	SEGMENT
??_7gzGameModeBase@@6B@ DD FLAT:??_R4gzGameModeBase@@6B@ ; gzGameModeBase::`vftable'
	DD	FLAT:??_EgzGameModeBase@@UAEPAXI@Z
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@EventHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@EventHandler@@UAEXXZ
	DD	FLAT:?Think@EventHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzGameModeBase@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzGameModeBase@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
	DD	FLAT:__purecall
	DD	FLAT:?As_GameAow@gzGameModeBase@@UAEPAVgzGameAow@@XZ
	DD	FLAT:?As_GameCTF@gzGameModeBase@@UAEPAVgzGameCTF@@XZ
	DD	FLAT:?As_GameInfOnly@gzGameModeBase@@UAEPAVgzGameInfOnly@@XZ
	DD	FLAT:?As_GameSniper@gzGameModeBase@@UAEPAVgzGameSniper@@XZ
	DD	FLAT:?As_Game500Snip@gzGameModeBase@@UAEPAVgzGame500Snip@@XZ
	DD	FLAT:?As_GameDM@gzGameModeBase@@UAEPAVgzGameDM@@XZ
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzGameModeBase@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzGameModeBase@@QAE@XZ$0
__ehfuncinfo$??0gzGameModeBase@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzGameModeBase@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzGameModeBase@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzGameModeBase@@QAE@XZ PROC				; gzGameModeBase::gzGameModeBase, COMDAT
; _this$ = ecx

; 550  : {

	push	-1
	push	__ehhandler$??0gzGameModeBase@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	call	??0EventHandler@@QAE@XZ			; EventHandler::EventHandler

; 551  : 	this->RegisterEvent(EVT_OBJECT_SQUISH);

	push	0
	push	12292					; 00003004H
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR [esi], OFFSET ??_7gzGameModeBase@@6B@
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 552  : 	this->RegisterEvent(EVT_OBJECT_JUMP_START);

	push	0
	push	12294					; 00003006H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 553  : 
; 554  : 	this->m_settings = gzGameMgr->m_settings;

	mov	eax, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	ecx, DWORD PTR [eax+72]
	mov	DWORD PTR [esi+36], ecx

; 555  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzGameModeBase@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__ehhandler$??0gzGameModeBase@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzGameModeBase@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzGameModeBase@@QAE@XZ ENDP				; gzGameModeBase::gzGameModeBase
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stevent.h
;	COMDAT ?Think@EventHandler@@UAEXXZ
_TEXT	SEGMENT
?Think@EventHandler@@UAEXXZ PROC			; EventHandler::Think, COMDAT
; _this$ = ecx

; 64   : 	virtual void Think() { };

	ret	0
?Think@EventHandler@@UAEXXZ ENDP			; EventHandler::Think
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.h
_TEXT	ENDS
;	COMDAT ?As_GameAow@gzGameModeBase@@UAEPAVgzGameAow@@XZ
_TEXT	SEGMENT
?As_GameAow@gzGameModeBase@@UAEPAVgzGameAow@@XZ PROC	; gzGameModeBase::As_GameAow, COMDAT
; _this$ = ecx

; 157  : 		return NULL;

	xor	eax, eax

; 158  : 	};

	ret	0
?As_GameAow@gzGameModeBase@@UAEPAVgzGameAow@@XZ ENDP	; gzGameModeBase::As_GameAow
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?As_GameCTF@gzGameModeBase@@UAEPAVgzGameCTF@@XZ
_TEXT	SEGMENT
?As_GameCTF@gzGameModeBase@@UAEPAVgzGameCTF@@XZ PROC	; gzGameModeBase::As_GameCTF, COMDAT
; _this$ = ecx

; 161  : 		return NULL;

	xor	eax, eax

; 162  : 	};

	ret	0
?As_GameCTF@gzGameModeBase@@UAEPAVgzGameCTF@@XZ ENDP	; gzGameModeBase::As_GameCTF
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?As_GameInfOnly@gzGameModeBase@@UAEPAVgzGameInfOnly@@XZ
_TEXT	SEGMENT
?As_GameInfOnly@gzGameModeBase@@UAEPAVgzGameInfOnly@@XZ PROC ; gzGameModeBase::As_GameInfOnly, COMDAT
; _this$ = ecx

; 165  : 		return NULL;

	xor	eax, eax

; 166  : 	};

	ret	0
?As_GameInfOnly@gzGameModeBase@@UAEPAVgzGameInfOnly@@XZ ENDP ; gzGameModeBase::As_GameInfOnly
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?As_GameSniper@gzGameModeBase@@UAEPAVgzGameSniper@@XZ
_TEXT	SEGMENT
?As_GameSniper@gzGameModeBase@@UAEPAVgzGameSniper@@XZ PROC ; gzGameModeBase::As_GameSniper, COMDAT
; _this$ = ecx

; 169  : 		return NULL;

	xor	eax, eax

; 170  : 	};

	ret	0
?As_GameSniper@gzGameModeBase@@UAEPAVgzGameSniper@@XZ ENDP ; gzGameModeBase::As_GameSniper
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?As_Game500Snip@gzGameModeBase@@UAEPAVgzGame500Snip@@XZ
_TEXT	SEGMENT
?As_Game500Snip@gzGameModeBase@@UAEPAVgzGame500Snip@@XZ PROC ; gzGameModeBase::As_Game500Snip, COMDAT
; _this$ = ecx

; 173  : 		return NULL;

	xor	eax, eax

; 174  : 	};

	ret	0
?As_Game500Snip@gzGameModeBase@@UAEPAVgzGame500Snip@@XZ ENDP ; gzGameModeBase::As_Game500Snip
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?As_GameDM@gzGameModeBase@@UAEPAVgzGameDM@@XZ
_TEXT	SEGMENT
?As_GameDM@gzGameModeBase@@UAEPAVgzGameDM@@XZ PROC	; gzGameModeBase::As_GameDM, COMDAT
; _this$ = ecx

; 177  : 		return NULL;

	xor	eax, eax

; 178  : 	};

	ret	0
?As_GameDM@gzGameModeBase@@UAEPAVgzGameDM@@XZ ENDP	; gzGameModeBase::As_GameDM
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzGameModeBase@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzGameModeBase@@UAEPAXI@Z PROC			; gzGameModeBase::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@2
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@2:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzGameModeBase@@UAEPAXI@Z ENDP			; gzGameModeBase::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_7gzGamelogBase@@6B@				; gzGamelogBase::`vftable'
PUBLIC	??0gzGamelogBase@@IAE@XZ			; gzGamelogBase::gzGamelogBase
PUBLIC	??_R4gzGamelogBase@@6B@				; gzGamelogBase::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzGamelogBase@@@8			; gzGamelogBase `RTTI Type Descriptor'
PUBLIC	??_R3gzGamelogBase@@8				; gzGamelogBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzGamelogBase@@8				; gzGamelogBase::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzGamelogBase@@8			; gzGamelogBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@nc_ScriptImpClass@@8		; nc_ScriptImpClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_ScriptImpClass@@@8			; nc_ScriptImpClass `RTTI Type Descriptor'
PUBLIC	??_R3nc_ScriptImpClass@@8			; nc_ScriptImpClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_ScriptImpClass@@8			; nc_ScriptImpClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@nc_ScriptClass@@8			; nc_ScriptClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_ScriptClass@@@8			; nc_ScriptClass `RTTI Type Descriptor'
PUBLIC	??_R3nc_ScriptClass@@8				; nc_ScriptClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_ScriptClass@@8				; nc_ScriptClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@nc_GameObjObserverClass@@8	; nc_GameObjObserverClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_GameObjObserverClass@@@8		; nc_GameObjObserverClass `RTTI Type Descriptor'
PUBLIC	??_R3nc_GameObjObserverClass@@8			; nc_GameObjObserverClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_GameObjObserverClass@@8			; nc_GameObjObserverClass::`RTTI Base Class Array'
EXTRN	??0nc_ScriptImpClass@@QAE@XZ:PROC		; nc_ScriptImpClass::nc_ScriptImpClass
EXTRN	??_EgzGamelogBase@@UAEPAXI@Z:PROC		; gzGamelogBase::`vector deleting destructor'
EXTRN	?Get_Name@nc_ScriptImpClass@@UAEPADXZ:PROC	; nc_ScriptImpClass::Get_Name
EXTRN	?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z:PROC ; nc_ScriptImpClass::Attach
EXTRN	?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z:PROC ; nc_ScriptImpClass::Detach
EXTRN	?Created@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z:PROC ; nc_ScriptImpClass::Created
EXTRN	?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z:PROC ; nc_ScriptImpClass::Destroyed
EXTRN	?Killed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Killed
EXTRN	?Damaged@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0M@Z:PROC ; nc_ScriptImpClass::Damaged
EXTRN	?Custom@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HH0@Z:PROC ; nc_ScriptImpClass::Custom
EXTRN	?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z:PROC ; nc_ScriptImpClass::Sound_Heard
EXTRN	?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Enemy_Seen
EXTRN	?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z:PROC ; nc_ScriptImpClass::Action_Complete
EXTRN	?Timer_Expired@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@H@Z:PROC ; nc_ScriptImpClass::Timer_Expired
EXTRN	?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z:PROC ; nc_ScriptImpClass::Animation_Complete
EXTRN	?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Poked
EXTRN	?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Entered
EXTRN	?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Exited
EXTRN	?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ:PROC ; nc_ScriptImpClass::Owner
EXTRN	?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ:PROC ; nc_ScriptImpClass::Get_Owner_Ptr
EXTRN	?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z:PROC ; nc_ScriptImpClass::Set_Parameters_String
EXTRN	?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z:PROC ; nc_ScriptImpClass::Get_Parameters_String
EXTRN	?Save@nc_ScriptImpClass@@UAEXAAE@Z:PROC		; nc_ScriptImpClass::Save
EXTRN	?Load@nc_ScriptImpClass@@UAEXAAE@Z:PROC		; nc_ScriptImpClass::Load
EXTRN	?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z:PROC	; nc_ScriptImpClass::Save_Data
EXTRN	?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z:PROC	; nc_ScriptImpClass::Load_Data
EXTRN	?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ:PROC ; nc_ScriptImpClass::Register_Auto_Save_Variables
;	COMDAT ??_R2nc_GameObjObserverClass@@8
; File d:\source code\stgm\stgame.cpp
rdata$r	SEGMENT
??_R2nc_GameObjObserverClass@@8 DD FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8 ; nc_GameObjObserverClass::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3nc_GameObjObserverClass@@8
rdata$r	SEGMENT
??_R3nc_GameObjObserverClass@@8 DD 00H			; nc_GameObjObserverClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_GameObjObserverClass@@@8
_DATA	SEGMENT
??_R0?AVnc_GameObjObserverClass@@@8 DD FLAT:??_7type_info@@6B@ ; nc_GameObjObserverClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_GameObjObserverClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_GameObjObserverClass@@8 DD FLAT:??_R0?AVnc_GameObjObserverClass@@@8 ; nc_GameObjObserverClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R2nc_ScriptClass@@8
rdata$r	SEGMENT
??_R2nc_ScriptClass@@8 DD FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8 ; nc_ScriptClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3nc_ScriptClass@@8
rdata$r	SEGMENT
??_R3nc_ScriptClass@@8 DD 00H				; nc_ScriptClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2nc_ScriptClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_ScriptClass@@@8
_DATA	SEGMENT
??_R0?AVnc_ScriptClass@@@8 DD FLAT:??_7type_info@@6B@	; nc_ScriptClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_ScriptClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_ScriptClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_ScriptClass@@8 DD FLAT:??_R0?AVnc_ScriptClass@@@8 ; nc_ScriptClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_ScriptClass@@8
rdata$r	ENDS
;	COMDAT ??_R2nc_ScriptImpClass@@8
rdata$r	SEGMENT
??_R2nc_ScriptImpClass@@8 DD FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8 ; nc_ScriptImpClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3nc_ScriptImpClass@@8
rdata$r	SEGMENT
??_R3nc_ScriptImpClass@@8 DD 00H			; nc_ScriptImpClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2nc_ScriptImpClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_ScriptImpClass@@@8
_DATA	SEGMENT
??_R0?AVnc_ScriptImpClass@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptImpClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_ScriptImpClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_ScriptImpClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_ScriptImpClass@@8 DD FLAT:??_R0?AVnc_ScriptImpClass@@@8 ; nc_ScriptImpClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_ScriptImpClass@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzGamelogBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzGamelogBase@@8 DD FLAT:??_R0?AVgzGamelogBase@@@8 ; gzGamelogBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzGamelogBase@@8
rdata$r	ENDS
;	COMDAT ??_R2gzGamelogBase@@8
rdata$r	SEGMENT
??_R2gzGamelogBase@@8 DD FLAT:??_R1A@?0A@EA@gzGamelogBase@@8 ; gzGamelogBase::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzGamelogBase@@8
rdata$r	SEGMENT
??_R3gzGamelogBase@@8 DD 00H				; gzGamelogBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzGamelogBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzGamelogBase@@@8
_DATA	SEGMENT
??_R0?AVgzGamelogBase@@@8 DD FLAT:??_7type_info@@6B@	; gzGamelogBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzGamelogBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzGamelogBase@@6B@
rdata$r	SEGMENT
??_R4gzGamelogBase@@6B@ DD 00H				; gzGamelogBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzGamelogBase@@@8
	DD	FLAT:??_R3gzGamelogBase@@8
rdata$r	ENDS
;	COMDAT ??_7gzGamelogBase@@6B@
CONST	SEGMENT
??_7gzGamelogBase@@6B@ DD FLAT:??_R4gzGamelogBase@@6B@	; gzGamelogBase::`vftable'
	DD	FLAT:??_EgzGamelogBase@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzGamelogBase@@IAE@XZ
_TEXT	SEGMENT
??0gzGamelogBase@@IAE@XZ PROC				; gzGamelogBase::gzGamelogBase, COMDAT
; _this$ = ecx

; 600  : {

	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzGamelogBase@@6B@

; 601  : 	this->m_objType = 0;

	mov	DWORD PTR [esi+28], 0

; 602  : }

	mov	eax, esi
	pop	esi
	ret	0
??0gzGamelogBase@@IAE@XZ ENDP				; gzGamelogBase::gzGamelogBase
_TEXT	ENDS
PUBLIC	??1gzGamelogBase@@UAE@XZ			; gzGamelogBase::~gzGamelogBase
EXTRN	??1nc_ScriptImpClass@@UAE@XZ:PROC		; nc_ScriptImpClass::~nc_ScriptImpClass
; Function compile flags: /Ogtpy
;	COMDAT ??1gzGamelogBase@@UAE@XZ
_TEXT	SEGMENT
??1gzGamelogBase@@UAE@XZ PROC				; gzGamelogBase::~gzGamelogBase, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzGamelogBase@@UAE@XZ ENDP				; gzGamelogBase::~gzGamelogBase
_TEXT	ENDS
PUBLIC	??_C@_0BF@MLMEJKGL@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFs?6?$AA@ ; `string'
PUBLIC	??_C@_0N@KCLHNPAP@?4?2stgame?4cpp?$AA@		; `string'
PUBLIC	?Log@gzGamelogBase@@SAXPBDZZ			; gzGamelogBase::Log
EXTRN	_fflush:PROC
EXTRN	??_V@YAXPAX@Z:PROC				; operator delete[]
EXTRN	_fputs:PROC
EXTRN	?GetHour@aDateTime@@QAEIXZ:PROC			; aDateTime::GetHour
EXTRN	?GetMinute@aDateTime@@QAEIXZ:PROC		; aDateTime::GetMinute
EXTRN	?GetSecond@aDateTime@@QAEIXZ:PROC		; aDateTime::GetSecond
EXTRN	?Now@aDateTime@@SA?AV1@XZ:PROC			; aDateTime::Now
EXTRN	_vsprintf:PROC
EXTRN	??_U@YAPAXI@Z:PROC				; operator new[]
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
EXTRN	__vscprintf:PROC
;	COMDAT ??_C@_0BF@MLMEJKGL@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFs?6?$AA@
; File d:\source code\stgm\stgame.h
CONST	SEGMENT
??_C@_0BF@MLMEJKGL@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFs?6?$AA@ DB '[%'
	DB	'02d:%02d:%02d] %s', 0aH, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@KCLHNPAP@?4?2stgame?4cpp?$AA@
CONST	SEGMENT
??_C@_0N@KCLHNPAP@?4?2stgame?4cpp?$AA@ DB '.\stgame.cpp', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
CONST	ENDS
;	COMDAT ?Log@gzGamelogBase@@SAXPBDZZ
_TEXT	SEGMENT
$T68170 = -32						; size = 8
_now$58766 = -24					; size = 24
_message$ = 8						; size = 4
?Log@gzGamelogBase@@SAXPBDZZ PROC			; gzGamelogBase::Log, COMDAT

; 605  : 	if (gzGameMgr->GetGamelogFileHandler())

	mov	eax, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	sub	esp, 32					; 00000020H
	cmp	DWORD PTR [eax+44], 0
	je	$LN1@Log

; 606  : 	{
; 607  : 		va_list args;
; 608  : 		va_start(args, message);
; 609  : 		int size = _vscprintf(message, args);

	mov	edx, DWORD PTR _message$[esp+28]
	push	esi
	lea	ecx, DWORD PTR _message$[esp+36]
	push	ecx
	push	edx
	call	__vscprintf

; 610  : 		char *fmsg = new char[size + 1];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	610					; 00000262H
	push	OFFSET ??_C@_0N@KCLHNPAP@?4?2stgame?4cpp?$AA@
	mov	esi, eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	add	esi, 1
	push	esi
	call	??_U@YAPAXI@Z				; operator new[]

; 611  : 		vsprintf(fmsg, message, args);

	mov	ecx, DWORD PTR _message$[esp+56]
	mov	esi, eax
	lea	eax, DWORD PTR _message$[esp+60]
	push	eax
	push	ecx
	push	esi
	call	_vsprintf

; 612  : 		va_end(args);
; 613  : 		aDateTime now = aDateTime::Now();

	lea	edx, DWORD PTR _now$58766[esp+72]
	push	edx
	call	?Now@aDateTime@@SA?AV1@XZ		; aDateTime::Now
	add	esp, 40					; 00000028H

; 614  : 		fputs(aString::Format("[%02d:%02d:%02d] %s\n", now.GetHour(), now.GetMinute(), now.GetSecond(), fmsg).GetString(), gzGameMgr->GetGamelogFileHandler());

	push	esi
	lea	ecx, DWORD PTR _now$58766[esp+40]
	call	?GetSecond@aDateTime@@QAEIXZ		; aDateTime::GetSecond
	push	eax
	lea	ecx, DWORD PTR _now$58766[esp+44]
	call	?GetMinute@aDateTime@@QAEIXZ		; aDateTime::GetMinute
	push	eax
	lea	ecx, DWORD PTR _now$58766[esp+48]
	call	?GetHour@aDateTime@@QAEIXZ		; aDateTime::GetHour
	push	eax
	lea	eax, DWORD PTR $T68170[esp+52]
	push	OFFSET ??_C@_0BF@MLMEJKGL@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFs?6?$AA@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	mov	eax, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	ecx, DWORD PTR [ecx+44]
	add	esp, 24					; 00000018H
	test	eax, eax
	je	SHORT $LN15@Log
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN16@Log
$LN15@Log:
	xor	eax, eax
$LN16@Log:
	push	ecx
	push	eax
	call	_fputs
	add	esp, 8
	lea	ecx, DWORD PTR $T68170[esp+36]
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 615  : 		delete[] fmsg;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	615					; 00000267H
	push	OFFSET ??_C@_0N@KCLHNPAP@?4?2stgame?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??_V@YAXPAX@Z				; operator delete[]

; 616  : 		fflush(gzGameMgr->GetGamelogFileHandler());

	mov	edx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [edx+44]
	push	eax
	call	_fflush
	add	esp, 20					; 00000014H
	pop	esi
$LN1@Log:

; 617  : 	}
; 618  : }

	add	esp, 32					; 00000020H
	ret	0
?Log@gzGamelogBase@@SAXPBDZZ ENDP			; gzGamelogBase::Log
_TEXT	ENDS
PUBLIC	??_C@_0M@BPABCLGK@gamelog?4txt?$AA@		; `string'
PUBLIC	??_C@_0CJ@JBEKJNHC@gamelog_?$CFs_?$CFd?9?$CFd?9?$CF04d_?$CF02d_?$CF02d_@ ; `string'
PUBLIC	?RenameLog@gzGamelogBase@@SAXXZ			; gzGamelogBase::RenameLog
EXTRN	_rename:PROC
EXTRN	?GetMonth@aDateTime@@QAEIXZ:PROC		; aDateTime::GetMonth
EXTRN	?GetDay@aDateTime@@QAEIXZ:PROC			; aDateTime::GetDay
EXTRN	?GetYear@aDateTime@@QAEIXZ:PROC			; aDateTime::GetYear
;	COMDAT ??_C@_0M@BPABCLGK@gamelog?4txt?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0M@BPABCLGK@gamelog?4txt?$AA@ DB 'gamelog.txt', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CJ@JBEKJNHC@gamelog_?$CFs_?$CFd?9?$CFd?9?$CF04d_?$CF02d_?$CF02d_@
CONST	SEGMENT
??_C@_0CJ@JBEKJNHC@gamelog_?$CFs_?$CFd?9?$CFd?9?$CF04d_?$CF02d_?$CF02d_@ DB 'g'
	DB	'amelog_%s_%d-%d-%04d_%02d_%02d_%02d.txt', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
CONST	ENDS
;	COMDAT ?RenameLog@gzGamelogBase@@SAXXZ
_TEXT	SEGMENT
$T68209 = -32						; size = 8
_now$ = -24						; size = 24
?RenameLog@gzGamelogBase@@SAXXZ PROC			; gzGamelogBase::RenameLog, COMDAT

; 621  : 	aDateTime now = aDateTime::Now();

	lea	eax, DWORD PTR _now$[esp]
	sub	esp, 32					; 00000020H
	push	eax
	call	?Now@aDateTime@@SA?AV1@XZ		; aDateTime::Now
	add	esp, 4

; 622  : 	rename(
; 623  : 		GAMELOG_FILENAME,
; 624  : 		aString::Format("gamelog_%s_%d-%d-%04d_%02d_%02d_%02d.txt",
; 625  : 			cGame->MapName.m_Buffer,
; 626  : 			now.GetMonth(),
; 627  : 			now.GetDay(),
; 628  : 			now.GetYear(),
; 629  : 			now.GetHour(),
; 630  : 			now.GetMinute(),
; 631  : 			now.GetSecond()
; 632  : 		).GetString()
; 633  : 	);

	lea	ecx, DWORD PTR _now$[esp+32]
	call	?GetSecond@aDateTime@@QAEIXZ		; aDateTime::GetSecond
	push	eax
	lea	ecx, DWORD PTR _now$[esp+36]
	call	?GetMinute@aDateTime@@QAEIXZ		; aDateTime::GetMinute
	push	eax
	lea	ecx, DWORD PTR _now$[esp+40]
	call	?GetHour@aDateTime@@QAEIXZ		; aDateTime::GetHour
	push	eax
	lea	ecx, DWORD PTR _now$[esp+44]
	call	?GetYear@aDateTime@@QAEIXZ		; aDateTime::GetYear
	push	eax
	lea	ecx, DWORD PTR _now$[esp+48]
	call	?GetDay@aDateTime@@QAEIXZ		; aDateTime::GetDay
	push	eax
	lea	ecx, DWORD PTR _now$[esp+52]
	call	?GetMonth@aDateTime@@QAEIXZ		; aDateTime::GetMonth
	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [ecx]
	push	eax
	mov	eax, DWORD PTR [edx+40]
	push	eax
	lea	ecx, DWORD PTR $T68209[esp+60]
	push	OFFSET ??_C@_0CJ@JBEKJNHC@gamelog_?$CFs_?$CFd?9?$CFd?9?$CF04d_?$CF02d_?$CF02d_@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	mov	eax, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	test	eax, eax
	je	SHORT $LN6@RenameLog
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN7@RenameLog
$LN6@RenameLog:
	xor	eax, eax
$LN7@RenameLog:
	push	eax
	push	OFFSET ??_C@_0M@BPABCLGK@gamelog?4txt?$AA@
	call	_rename
	add	esp, 8
	lea	ecx, DWORD PTR $T68209[esp+32]
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 634  : }

	add	esp, 32					; 00000020H
	ret	0
?RenameLog@gzGamelogBase@@SAXXZ ENDP			; gzGamelogBase::RenameLog
_TEXT	ENDS
PUBLIC	__real@40000000
PUBLIC	??_C@_0DF@JLMEOPP@CREATED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF@ ; `string'
PUBLIC	??_C@_0CO@OLMDJJPL@CREATED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@ ; `string'
PUBLIC	??_C@_0DH@CFNFCBIM@CREATED?$DLSOLDIER?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL@ ; `string'
PUBLIC	??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ ; `string'
PUBLIC	?Created@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzGamelogObserver::Created
EXTRN	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z:PROC ; nc_ScriptableGameObj::Start_Observer_Timer
EXTRN	?Get@nc_FloatDataSafeClass@@QAEMXZ:PROC		; nc_FloatDataSafeClass::Get
;	COMDAT __real@40000000
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
__real@40000000 DD 040000000r			; 2
CONST	ENDS
;	COMDAT ??_C@_0DF@JLMEOPP@CREATED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF@
CONST	SEGMENT
??_C@_0DF@JLMEOPP@CREATED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF@ DB 'C'
	DB	'REATED;OBJECT;%d;%s;%.0f;%.0f;%.0f;%.0f;%f;%f;%d;%d', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CO@OLMDJJPL@CREATED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@
CONST	SEGMENT
??_C@_0CO@OLMDJJPL@CREATED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@ DB 'C'
	DB	'REATED;%s;%d;%s;%.0f;%.0f;%.0f;%.0f;%f;%f;%d', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DH@CFNFCBIM@CREATED?$DLSOLDIER?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL@
CONST	SEGMENT
??_C@_0DH@CFNFCBIM@CREATED?$DLSOLDIER?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL@ DB 'C'
	DB	'REATED;SOLDIER;%d;%s;%.0f;%.0f;%.0f;%.0f;%f;%f;%d;%ls', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@
CONST	SEGMENT
??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ DB '(', 00H
	DB	'n', 00H, 'u', 00H, 'l', 00H, 'l', 00H, ')', 00H, 00H, 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
CONST	ENDS
;	COMDAT ?Created@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_pos$ = -12						; size = 12
_obj$ = 8						; size = 4
?Created@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzGamelogObserver::Created, COMDAT
; _this$ = ecx

; 637  : {

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	sub	esp, 52					; 00000034H
	push	ebx
	push	esi

; 638  : 	nc_Vector3 pos;
; 639  : 	obj->Get_Position(&pos);

	mov	esi, DWORD PTR _obj$[ebp]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+56]
	mov	ebx, ecx
	push	edi
	lea	ecx, DWORD PTR _pos$[esp+64]
	push	ecx
	mov	ecx, esi
	call	edx

; 640  : 
; 641  : 	if (obj->As_BuildingGameObj())

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+64]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	SHORT $LN18@Created

; 642  : 		this->m_objType = GAMELOG_BUILDING;

	mov	DWORD PTR [ebx+28], 1
	jmp	$LN7@Created
$LN18@Created:

; 643  : 
; 644  : 	else if (obj->As_SoldierGameObj())

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

; 645  : 	{
; 646  : 		if (obj->As_SoldierGameObj()->Player)

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	je	SHORT $LN16@Created
	mov	edx, DWORD PTR [eax+68]
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN15@Created

; 647  : 			this->Timer_Expired(obj, 100);

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+48]
	push	100					; 00000064H
	push	esi
	mov	ecx, ebx
	call	edx
$LN15@Created:

; 648  : 		this->m_objType = GAMELOG_SOLDIER;

	mov	DWORD PTR [ebx+28], 2
	jmp	SHORT $LN7@Created
$LN16@Created:

; 649  : 	}
; 650  : 
; 651  : 	else if (obj->As_VehicleGameObj())

	mov	edx, DWORD PTR [eax+40]
	call	edx
	test	eax, eax
	je	SHORT $LN13@Created

; 652  : 	{
; 653  : 		if (((nc_VehicleGameObjDef *)obj->definition)->VehicleType == 4)

	mov	eax, DWORD PTR [esi+1724]
	xor	ecx, ecx
	cmp	DWORD PTR [eax+224], 4
	setne	cl
	lea	ecx, DWORD PTR [ecx+ecx+1]
	mov	DWORD PTR [ebx+28], ecx

; 654  : 			this->m_objType = GAMELOG_BUILDING;
; 655  : 		else
; 656  : 			this->m_objType = GAMELOG_VEHICLE;

	jmp	SHORT $LN7@Created
$LN13@Created:

; 657  : 	}
; 658  : 
; 659  : 	else if (obj->definition->Get_Class_ID() == 0x3006) // C4

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12294				; 00003006H
	jne	SHORT $LN9@Created

; 660  : 		this->m_objType = GAMELOG_C4;

	mov	DWORD PTR [ebx+28], 5
	jmp	SHORT $LN7@Created
$LN9@Created:

; 661  : 
; 662  : 	else if (obj->definition->Get_Class_ID() == 0x3016) // Beacon

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12310				; 00003016H
	jne	SHORT $LN7@Created

; 663  : 		this->m_objType = GAMELOG_BEACON;

	mov	DWORD PTR [ebx+28], 4
$LN7@Created:

; 664  : 
; 665  : 	switch (this->m_objType)

	mov	eax, DWORD PTR [ebx+28]
	add	eax, -1
	cmp	eax, 5
	ja	$LN5@Created
	jmp	DWORD PTR $LN31@Created[eax*4]
$LN4@Created:

; 666  : 	{
; 667  : 		case GAMELOG_SOLDIER:
; 668  : 			this->Log("CREATED;SOLDIER;%d;%s;%.0f;%.0f;%.0f;%.0f;%f;%f;%d;%ls",
; 669  : 				obj->NetworkID,
; 670  : 				obj->definition->Get_Name(),
; 671  : 				pos.Y,
; 672  : 				pos.X,
; 673  : 				pos.Z,
; 674  : 				gzCommands->Get_Facing(obj),
; 675  : 				obj->As_DamageableGameObj()->Defense.HealthMax.Get(),
; 676  : 				obj->As_DamageableGameObj()->Defense.ShieldStrengthMax.Get(),
; 677  : 				obj->As_DamageableGameObj()->PlayerType,
; 678  : 				obj->As_SoldierGameObj()->Player ? obj->As_SoldierGameObj()->Player->PlayerName.m_Buffer : L"(null)"
; 679  : 			);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN21@Created
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	eax, DWORD PTR [ecx+1880]
	jmp	SHORT $LN22@Created
$LN21@Created:
	mov	eax, OFFSET ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@
$LN22@Created:
	mov	edx, DWORD PTR [esi]
	mov	edi, DWORD PTR [esi+1724]
	push	eax
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+1892]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	push	ecx
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1856				; 00000740H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	sub	esp, 8
	mov	ecx, esi
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, eax
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+72]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	esi
	call	edx
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+48]
	sub	esp, 28					; 0000001cH
	fstp	QWORD PTR [esp+24]
	mov	ecx, edi
	fld	DWORD PTR _pos$[esp+128]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+120]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+124]
	fstp	QWORD PTR [esp]
	call	edx
	push	eax
	mov	eax, DWORD PTR [esi+12]
	push	eax
	push	OFFSET ??_C@_0DH@CFNFCBIM@CREATED?$DLSOLDIER?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL@

; 680  : 			break;

	jmp	$LN29@Created
$LN3@Created:

; 681  : 
; 682  : 		case GAMELOG_BUILDING:
; 683  : 		case GAMELOG_VEHICLE:
; 684  : 		case GAMELOG_CRATE:
; 685  : 			this->Log("CREATED;%s;%d;%s;%.0f;%.0f;%.0f;%.0f;%f;%f;%d",
; 686  : 				this->m_typeString[this->m_objType],
; 687  : 				obj->NetworkID,
; 688  : 				obj->definition->Get_Name(),
; 689  : 				pos.Y,
; 690  : 				pos.X,
; 691  : 				pos.Z,
; 692  : 				gzCommands->Get_Facing(obj),
; 693  : 				obj->As_DamageableGameObj()->Defense.HealthMax.Get(),
; 694  : 				obj->As_DamageableGameObj()->Defense.ShieldStrengthMax.Get(),
; 695  : 				obj->As_DamageableGameObj()->PlayerType
; 696  : 			);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	edi, DWORD PTR [esi+1724]
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+1892]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	push	ecx
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1856				; 00000740H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	sub	esp, 8
	mov	ecx, esi
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, eax
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+72]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	esi
	call	edx
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+48]
	sub	esp, 28					; 0000001cH
	fstp	QWORD PTR [esp+24]
	mov	ecx, edi
	fld	DWORD PTR _pos$[esp+124]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+116]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+120]
	fstp	QWORD PTR [esp]
	call	edx
	mov	ecx, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR ?m_typeString@gzGamelogBase@@1PAPBDA[ecx*4]
	push	eax
	mov	eax, DWORD PTR [esi+12]
	push	eax
	push	edx
	push	OFFSET ??_C@_0CO@OLMDJJPL@CREATED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@

; 697  : 			break;

	jmp	$LN29@Created
$LN2@Created:

; 698  : 
; 699  : 		case GAMELOG_BEACON:
; 700  : 			this->Log("CREATED;OBJECT;%d;%s;%.0f;%.0f;%.0f;%.0f;%f;%f;%d;%d",
; 701  : 				obj->NetworkID,
; 702  : 				obj->definition->Get_Name(),
; 703  : 				pos.Y,
; 704  : 				pos.X,
; 705  : 				pos.Z,
; 706  : 				gzCommands->Get_Facing(obj),
; 707  : 				obj->As_DamageableGameObj()->Defense.HealthMax.Get(),
; 708  : 				obj->As_DamageableGameObj()->Defense.ShieldStrengthMax.Get(),
; 709  : 				obj->As_DamageableGameObj()->PlayerType,
; 710  : 				(((nc_BeaconGameObj *)obj)->Owner.Reference ? ((nc_BeaconGameObj *)obj)->Owner.Reference->obj->NetworkID : 0)
; 711  : 			);

	mov	eax, DWORD PTR [esi+1976]
	test	eax, eax
	je	SHORT $LN25@Created
	mov	eax, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+12]
	jmp	SHORT $LN26@Created
$LN1@Created:

; 712  : 			break;
; 713  : 
; 714  : 		case GAMELOG_C4:
; 715  : 			this->Log("CREATED;OBJECT;%d;%s;%.0f;%.0f;%.0f;%.0f;%f;%f;%d;%d",
; 716  : 				obj->NetworkID,
; 717  : 				obj->definition->Get_Name(),
; 718  : 				pos.Y,
; 719  : 				pos.X,
; 720  : 				pos.Z,
; 721  : 				gzCommands->Get_Facing(obj),
; 722  : 				obj->As_DamageableGameObj()->Defense.HealthMax.Get(),
; 723  : 				obj->As_DamageableGameObj()->Defense.ShieldStrengthMax.Get(),
; 724  : 				obj->As_DamageableGameObj()->PlayerType,
; 725  : 				(((nc_C4GameObj *)obj)->Owner.Reference ? ((nc_C4GameObj *)obj)->Owner.Reference->obj->NetworkID : 0)
; 726  : 			);

	mov	eax, DWORD PTR [esi+1980]
	test	eax, eax
	je	SHORT $LN25@Created
	mov	ecx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [ecx+12]
	jmp	SHORT $LN26@Created
$LN25@Created:
	xor	eax, eax
$LN26@Created:
	mov	edx, DWORD PTR [esi]
	mov	edi, DWORD PTR [esi+1724]
	push	eax
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+1892]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	push	ecx
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1856				; 00000740H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	sub	esp, 8
	mov	ecx, esi
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, eax
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+72]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	esi
	call	edx
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+48]
	sub	esp, 28					; 0000001cH
	fstp	QWORD PTR [esp+24]
	mov	ecx, edi
	fld	DWORD PTR _pos$[esp+128]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+120]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+124]
	fstp	QWORD PTR [esp]
	call	edx
	push	eax
	mov	eax, DWORD PTR [esi+12]
	push	eax
	push	OFFSET ??_C@_0DF@JLMEOPP@CREATED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF@
$LN29@Created:
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log
	add	esp, 68					; 00000044H
$LN5@Created:

; 727  : 			break;
; 728  : 	}
; 729  : 	obj->Start_Observer_Timer(this->GetID(), 2.0f, 101);

	fld	DWORD PTR __real@40000000
	push	101					; 00000065H
	push	ecx
	mov	ecx, DWORD PTR [ebx+4]
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, esi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer

; 730  : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
	npad	2
$LN31@Created:
	DD	$LN3@Created
	DD	$LN4@Created
	DD	$LN3@Created
	DD	$LN2@Created
	DD	$LN1@Created
	DD	$LN3@Created
?Created@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzGamelogObserver::Created
_TEXT	ENDS
PUBLIC	??_C@_0DA@NFBGELMK@ENTER?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CFd?$DL?$CFs@ ; `string'
PUBLIC	??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@		; `string'
PUBLIC	??_C@_0CP@EMDGJGMF@EXIT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CFd?$DL?$CFs?$DL@ ; `string'
PUBLIC	?Custom@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ; gzGamelogObserver::Custom
;	COMDAT ??_C@_0DA@NFBGELMK@ENTER?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CFd?$DL?$CFs@
CONST	SEGMENT
??_C@_0DA@NFBGELMK@ENTER?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CFd?$DL?$CFs@ DB 'E'
	DB	'NTER;%d;%s;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@
CONST	SEGMENT
??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@ DB '(null)', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CP@EMDGJGMF@EXIT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CFd?$DL?$CFs?$DL@
CONST	SEGMENT
??_C@_0CP@EMDGJGMF@EXIT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CFd?$DL?$CFs?$DL@ DB 'E'
	DB	'XIT;%d;%s;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Custom@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
_TEXT	SEGMENT
tv163 = -36						; size = 4
tv92 = -36						; size = 4
tv169 = -32						; size = 4
tv86 = -32						; size = 4
tv175 = -28						; size = 4
tv80 = -28						; size = 4
_pos$ = -24						; size = 24
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@HH0@Z PROC ; gzGamelogObserver::Custom, COMDAT
; _this$ = ecx

; 732  : {

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	sub	esp, 52					; 00000034H
	push	ebx
	push	esi
	push	edi

; 733  : 	nc_Vector3 pos[2];
; 734  : 	obj->Get_Position(&pos[0]);

	mov	edi, DWORD PTR _obj$[ebp]
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+56]
	mov	ebx, ecx
	lea	ecx, DWORD PTR _pos$[esp+64]
	push	ecx
	mov	ecx, edi
	call	edx

; 735  : 	if (sender)

	mov	esi, DWORD PTR _sender$[ebp]
	test	esi, esi
	je	SHORT $LN8@Custom

; 736  : 		sender->Get_Position(&pos[1]);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+56]
	lea	ecx, DWORD PTR _pos$[esp+76]
	push	ecx
	mov	ecx, esi
	call	edx
$LN8@Custom:

; 737  : 	switch (this->m_objType)

	cmp	DWORD PTR [ebx+28], 3
	jne	$LN3@Custom

; 738  : 	{
; 739  : 		case GAMELOG_VEHICLE:
; 740  : 			switch (message)

	mov	eax, DWORD PTR _message$[ebp]
	sub	eax, 1000000028				; 3b9aca1cH
	je	$LN2@Custom
	sub	eax, 1
	jne	$LN3@Custom

; 755  : 					break;
; 756  : 
; 757  : 				case CUSTOM_EVENT_VEHICLE_EXIT:
; 758  : 					this->Log("EXIT;%d;%s;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f",
; 759  : 						obj->NetworkID,
; 760  : 						obj->definition->Get_Name(),
; 761  : 						pos[0].Y,
; 762  : 						pos[0].X,
; 763  : 						pos[0].Z,
; 764  : 						(sender ? sender->NetworkID : 0),
; 765  : 						(sender ? sender->definition->Get_Name() : "(null)"),
; 766  : 						(sender ? pos[1].Y : 0.0f),
; 767  : 						(sender ? pos[1].X : 0.0f),
; 768  : 						(sender ? pos[1].Z : 0.0f)
; 769  : 					);

	test	esi, esi
	je	$LN21@Custom
	fld	DWORD PTR _pos$[esp+84]
	mov	ecx, DWORD PTR [esi+1724]
	mov	eax, DWORD PTR [ecx]
	fstp	DWORD PTR tv163[esp+64]
	fld	DWORD PTR _pos$[esp+76]
	mov	edx, DWORD PTR [eax+48]
	fstp	DWORD PTR tv169[esp+64]
	fld	DWORD PTR _pos$[esp+80]
	fstp	DWORD PTR tv175[esp+64]
	call	edx
	fld	DWORD PTR tv163[esp+64]
	mov	esi, DWORD PTR [esi+12]
	fld	DWORD PTR tv169[esp+64]
	fld	DWORD PTR tv175[esp+64]
	fxch	ST(2)
	fxch	ST(1)
$LN30@Custom:
	mov	ecx, DWORD PTR [edi+1724]
	fxch	ST(1)
	sub	esp, 24					; 00000018H
	fstp	QWORD PTR [esp+16]
	fstp	QWORD PTR [esp+8]
	fstp	QWORD PTR [esp]
	push	eax
	fld	DWORD PTR _pos$[esp+100]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+48]
	push	esi
	sub	esp, 24					; 00000018H
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+120]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+124]
	fstp	QWORD PTR [esp]
	call	edx
	push	eax
	mov	eax, DWORD PTR [edi+12]
	push	eax
	push	OFFSET ??_C@_0CP@EMDGJGMF@EXIT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CFd?$DL?$CFs?$DL@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log
	add	esp, 68					; 00000044H

; 770  : 					break;
; 771  : 			}
; 772  : 			break;
; 773  : 	}
; 774  : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
$LN21@Custom:

; 755  : 					break;
; 756  : 
; 757  : 				case CUSTOM_EVENT_VEHICLE_EXIT:
; 758  : 					this->Log("EXIT;%d;%s;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f",
; 759  : 						obj->NetworkID,
; 760  : 						obj->definition->Get_Name(),
; 761  : 						pos[0].Y,
; 762  : 						pos[0].X,
; 763  : 						pos[0].Z,
; 764  : 						(sender ? sender->NetworkID : 0),
; 765  : 						(sender ? sender->definition->Get_Name() : "(null)"),
; 766  : 						(sender ? pos[1].Y : 0.0f),
; 767  : 						(sender ? pos[1].X : 0.0f),
; 768  : 						(sender ? pos[1].Z : 0.0f)
; 769  : 					);

	fldz
	mov	eax, OFFSET ??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@
	fld	ST(0)
	xor	esi, esi
	fld	ST(1)
	jmp	SHORT $LN30@Custom
$LN2@Custom:

; 741  : 			{
; 742  : 				case CUSTOM_EVENT_VEHICLE_ENTER:
; 743  : 					this->Log("ENTER;%d;%s;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f",
; 744  : 						obj->NetworkID,
; 745  : 						obj->definition->Get_Name(),
; 746  : 						pos[0].Y,
; 747  : 						pos[0].X,
; 748  : 						pos[0].Z,
; 749  : 						(sender ? sender->NetworkID : 0),
; 750  : 						(sender ? sender->definition->Get_Name() : "(null)"),
; 751  : 						(sender ? pos[1].Y : 0.0f),
; 752  : 						(sender ? pos[1].X : 0.0f),
; 753  : 						(sender ? pos[1].Z : 0.0f)
; 754  : 					);

	test	esi, esi
	je	$LN11@Custom
	fld	DWORD PTR _pos$[esp+84]
	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	fstp	DWORD PTR tv80[esp+64]
	fld	DWORD PTR _pos$[esp+76]
	mov	eax, DWORD PTR [edx+48]
	fstp	DWORD PTR tv86[esp+64]
	fld	DWORD PTR _pos$[esp+80]
	fstp	DWORD PTR tv92[esp+64]
	call	eax
	fld	DWORD PTR tv80[esp+64]
	mov	esi, DWORD PTR [esi+12]
	fld	DWORD PTR tv86[esp+64]
	fld	DWORD PTR tv92[esp+64]
	fxch	ST(2)
	fxch	ST(1)
$LN20@Custom:
	mov	ecx, DWORD PTR [edi+1724]
	fxch	ST(1)
	mov	edx, DWORD PTR [ecx]
	sub	esp, 24					; 00000018H
	fstp	QWORD PTR [esp+16]
	fstp	QWORD PTR [esp+8]
	fstp	QWORD PTR [esp]
	push	eax
	fld	DWORD PTR _pos$[esp+100]
	mov	eax, DWORD PTR [edx+48]
	push	esi
	sub	esp, 24					; 00000018H
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+120]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+124]
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR [edi+12]
	push	eax
	push	ecx
	push	OFFSET ??_C@_0DA@NFBGELMK@ENTER?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CFd?$DL?$CFs@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log
	add	esp, 68					; 00000044H
$LN3@Custom:

; 770  : 					break;
; 771  : 			}
; 772  : 			break;
; 773  : 	}
; 774  : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
$LN11@Custom:

; 741  : 			{
; 742  : 				case CUSTOM_EVENT_VEHICLE_ENTER:
; 743  : 					this->Log("ENTER;%d;%s;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f",
; 744  : 						obj->NetworkID,
; 745  : 						obj->definition->Get_Name(),
; 746  : 						pos[0].Y,
; 747  : 						pos[0].X,
; 748  : 						pos[0].Z,
; 749  : 						(sender ? sender->NetworkID : 0),
; 750  : 						(sender ? sender->definition->Get_Name() : "(null)"),
; 751  : 						(sender ? pos[1].Y : 0.0f),
; 752  : 						(sender ? pos[1].X : 0.0f),
; 753  : 						(sender ? pos[1].Z : 0.0f)
; 754  : 					);

	fldz
	mov	eax, OFFSET ??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@
	fld	ST(0)
	xor	esi, esi
	fld	ST(1)
	jmp	SHORT $LN20@Custom
?Custom@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ENDP ; gzGamelogObserver::Custom
_TEXT	ENDS
PUBLIC	??_C@_0EM@OLBAKPPG@DAMAGED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@ ; `string'
PUBLIC	??_C@_0FB@EDGNIDFP@DAMAGED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@ ; `string'
PUBLIC	?Damaged@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0M@Z ; gzGamelogObserver::Damaged
;	COMDAT ??_C@_0EM@OLBAKPPG@DAMAGED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@
CONST	SEGMENT
??_C@_0EM@OLBAKPPG@DAMAGED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@ DB 'D'
	DB	'AMAGED;%s;%d;%s;%.0f;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f;%.0f'
	DB	';%f;%.0f;%.0f', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0FB@EDGNIDFP@DAMAGED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@
CONST	SEGMENT
??_C@_0FB@EDGNIDFP@DAMAGED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@ DB 'D'
	DB	'AMAGED;%s;%d;%s;%.0f;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f;%.0f'
	DB	';%f;%.0f;%.0f;%.0f', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Damaged@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0M@Z
_TEXT	SEGMENT
_this$ = -40						; size = 4
tv286 = -36						; size = 4
tv95 = -36						; size = 4
tv367 = -32						; size = 4
tv282 = -32						; size = 4
tv178 = -32						; size = 4
tv363 = -28						; size = 4
tv231 = -28						; size = 4
tv182 = -28						; size = 4
_pos$ = -24						; size = 24
_obj$ = 8						; size = 4
_damager$ = 12						; size = 4
_damage$ = 16						; size = 4
?Damaged@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0M@Z PROC ; gzGamelogObserver::Damaged, COMDAT
; _this$ = ecx

; 776  : {

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	sub	esp, 52					; 00000034H
	push	ebx
	push	esi

; 777  : 	nc_Vector3 pos[2];
; 778  : 	obj->Get_Position(&pos[0]);

	mov	esi, DWORD PTR _obj$[ebp]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+56]
	mov	ebx, ecx
	push	edi
	lea	ecx, DWORD PTR _pos$[esp+64]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _this$[esp+68], ebx
	call	edx

; 779  : 	if (damager)

	mov	edi, DWORD PTR _damager$[ebp]
	test	edi, edi
	je	SHORT $LN6@Damaged

; 780  : 		damager->Get_Position(&pos[1]);

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+56]
	lea	ecx, DWORD PTR _pos$[esp+76]
	push	ecx
	mov	ecx, edi
	call	edx
$LN6@Damaged:

; 781  : 	switch (this->m_objType)

	mov	ebx, DWORD PTR [ebx+28]
	lea	eax, DWORD PTR [ebx-1]
	cmp	eax, 5
	ja	$LN4@Damaged
	jmp	DWORD PTR $LN29@Damaged[eax*4]
$LN3@Damaged:

; 782  : 	{
; 783  : 		case GAMELOG_BUILDING:
; 784  : 			this->Log("DAMAGED;%s;%d;%s;%.0f;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f;%.0f;%f;%.0f;%.0f;%.0f",
; 785  : 				this->m_typeString[this->m_objType],
; 786  : 				obj->NetworkID,
; 787  : 				obj->definition->Get_Name(),
; 788  : 				pos[0].Y,
; 789  : 				pos[0].X,
; 790  : 				pos[0].Z,
; 791  : 				gzCommands->Get_Facing(obj),
; 792  : 				(damager ? damager->NetworkID : 0),
; 793  : 				(damager ? damager->definition->Get_Name() : NULL),
; 794  : 				pos[1].Y,
; 795  : 				pos[1].X,
; 796  : 				pos[1].Z,
; 797  : 				gzCommands->Get_Facing(damager),
; 798  : 				damage,
; 799  : 				obj->As_DamageableGameObj()->Defense.Health.Get(),
; 800  : 				obj->As_DamageableGameObj()->Defense.ShieldStrength.Get(),
; 801  : 				(obj->As_SoldierGameObj() && obj->As_SoldierGameObj()->Player) ? obj->As_SoldierGameObj()->Player->Score.Get() : 0.0f
; 802  : 			);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	SHORT $LN9@Damaged
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN9@Damaged
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	mov	ecx, DWORD PTR [eax+2400]
	add	ecx, 4
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	jmp	SHORT $LN27@Damaged
$LN9@Damaged:
	fldz
$LN27@Damaged:
	xor	eax, eax
	fstp	DWORD PTR tv95[esp+64]
	cmp	edi, eax
	je	$LN11@Damaged
	mov	ecx, DWORD PTR [edi+1724]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+48]
	call	edx
	mov	DWORD PTR tv178[esp+64], eax
	mov	eax, DWORD PTR [edi+12]
$LN13@Damaged:
	mov	edx, DWORD PTR [esi]
	fld	DWORD PTR tv95[esp+64]
	mov	ebx, DWORD PTR [esi+1724]
	mov	DWORD PTR tv182[esp+64], eax
	mov	eax, DWORD PTR [edx+60]
	sub	esp, 8
	mov	ecx, esi
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, eax
	add	ecx, 1852				; 0000073cH
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	sub	esp, 8
	mov	ecx, esi
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, eax
	add	ecx, 1840				; 00000730H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+72]
	sub	esp, 16					; 00000010H
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _damage$[ebp]
	fstp	QWORD PTR [esp]
	push	edi
	call	edx
	mov	eax, DWORD PTR tv178[esp+100]
	mov	ecx, DWORD PTR tv182[esp+100]
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	sub	esp, 28					; 0000001cH
	fstp	QWORD PTR [esp+24]
	fld	DWORD PTR _pos$[esp+148]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+140]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+144]
	fstp	QWORD PTR [esp]
	push	eax
	mov	eax, DWORD PTR [edx+72]
	push	ecx
	push	esi
	call	eax
	mov	edx, DWORD PTR [ebx]
	mov	eax, DWORD PTR [edx+48]
	sub	esp, 28					; 0000001cH
	fstp	QWORD PTR [esp+24]
	mov	ecx, ebx
	fld	DWORD PTR _pos$[esp+176]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+168]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+172]
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR _this$[esp+168]
	push	eax
	mov	eax, DWORD PTR [edx+28]
	push	ecx
	mov	ecx, DWORD PTR ?m_typeString@gzGamelogBase@@1PAPBDA[eax*4]
	push	ecx
	push	OFFSET ??_C@_0FB@EDGNIDFP@DAMAGED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log
	add	esp, 120				; 00000078H

; 849  : 			break;
; 850  : 	}
; 851  : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	12					; 0000000cH
$LN11@Damaged:

; 782  : 	{
; 783  : 		case GAMELOG_BUILDING:
; 784  : 			this->Log("DAMAGED;%s;%d;%s;%.0f;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f;%.0f;%f;%.0f;%.0f;%.0f",
; 785  : 				this->m_typeString[this->m_objType],
; 786  : 				obj->NetworkID,
; 787  : 				obj->definition->Get_Name(),
; 788  : 				pos[0].Y,
; 789  : 				pos[0].X,
; 790  : 				pos[0].Z,
; 791  : 				gzCommands->Get_Facing(obj),
; 792  : 				(damager ? damager->NetworkID : 0),
; 793  : 				(damager ? damager->definition->Get_Name() : NULL),
; 794  : 				pos[1].Y,
; 795  : 				pos[1].X,
; 796  : 				pos[1].Z,
; 797  : 				gzCommands->Get_Facing(damager),
; 798  : 				damage,
; 799  : 				obj->As_DamageableGameObj()->Defense.Health.Get(),
; 800  : 				obj->As_DamageableGameObj()->Defense.ShieldStrength.Get(),
; 801  : 				(obj->As_SoldierGameObj() && obj->As_SoldierGameObj()->Player) ? obj->As_SoldierGameObj()->Player->Score.Get() : 0.0f
; 802  : 			);

	mov	DWORD PTR tv178[esp+64], eax
	jmp	$LN13@Damaged
$LN2@Damaged:

; 803  : 			break;
; 804  : 			
; 805  : 		case GAMELOG_SOLDIER:
; 806  : 		case GAMELOG_VEHICLE:
; 807  : 			this->Log("DAMAGED;%s;%d;%s;%.0f;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f;%.0f;%f;%.0f;%.0f;%.0f",
; 808  : 				this->m_typeString[this->m_objType],
; 809  : 				obj->NetworkID,
; 810  : 				obj->definition->Get_Name(),
; 811  : 				pos[0].Y,
; 812  : 				pos[0].X,
; 813  : 				pos[0].Z,
; 814  : 				gzCommands->Get_Facing(obj),
; 815  : 				(damager ? damager->NetworkID : 0),
; 816  : 				(damager ? damager->definition->Get_Name() : NULL),
; 817  : 				pos[1].Y,
; 818  : 				pos[1].X,
; 819  : 				pos[1].Z,
; 820  : 				gzCommands->Get_Facing(damager),
; 821  : 				damage,
; 822  : 				obj->As_DamageableGameObj()->Defense.Health.Get(),
; 823  : 				obj->As_DamageableGameObj()->Defense.ShieldStrength.Get(),
; 824  : 				((damager && damager->As_SoldierGameObj() && damager->As_SoldierGameObj()->Player) ? damager->As_SoldierGameObj()->Player->Score.Get() : 0.0f)
; 825  : 			);

	test	edi, edi
	je	SHORT $LN15@Damaged
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, edi
	call	eax
	test	eax, eax
	je	SHORT $LN15@Damaged
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, edi
	call	eax
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN15@Damaged
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, edi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	add	ecx, 4
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	jmp	SHORT $LN28@Damaged
$LN15@Damaged:
	fldz
$LN28@Damaged:
	xor	eax, eax
	fstp	DWORD PTR tv231[esp+64]
	cmp	edi, eax
	je	SHORT $LN17@Damaged
	mov	ecx, DWORD PTR [edi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR [edi+12]
	mov	DWORD PTR tv282[esp+64], eax
	mov	DWORD PTR tv286[esp+64], ecx
	jmp	SHORT $LN20@Damaged
$LN17@Damaged:
	mov	DWORD PTR tv282[esp+64], eax
	mov	DWORD PTR tv286[esp+64], eax
$LN20@Damaged:
	mov	edx, DWORD PTR [esi]
	fld	DWORD PTR tv231[esp+64]
	mov	eax, DWORD PTR [edx+60]
	mov	ebx, DWORD PTR [esi+1724]
	sub	esp, 8
	mov	ecx, esi
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, eax
	add	ecx, 1852				; 0000073cH
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	sub	esp, 8
	mov	ecx, esi
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, eax
	add	ecx, 1840				; 00000730H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+72]
	sub	esp, 16					; 00000010H
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _damage$[ebp]
	fstp	QWORD PTR [esp]
	push	edi
	call	edx
	mov	eax, DWORD PTR tv282[esp+100]
	mov	ecx, DWORD PTR tv286[esp+100]
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	sub	esp, 28					; 0000001cH
	fstp	QWORD PTR [esp+24]
	fld	DWORD PTR _pos$[esp+148]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+140]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+144]
	fstp	QWORD PTR [esp]
	push	eax
	mov	eax, DWORD PTR [edx+72]
	push	ecx
	push	esi
	call	eax
	mov	edx, DWORD PTR [ebx]
	mov	eax, DWORD PTR [edx+48]
	sub	esp, 28					; 0000001cH
	fstp	QWORD PTR [esp+24]
	mov	ecx, ebx
	fld	DWORD PTR _pos$[esp+176]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+168]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+172]
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR _this$[esp+168]
	push	eax
	mov	eax, DWORD PTR [edx+28]
	push	ecx
	mov	ecx, DWORD PTR ?m_typeString@gzGamelogBase@@1PAPBDA[eax*4]
	push	ecx
	push	OFFSET ??_C@_0FB@EDGNIDFP@DAMAGED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log
	add	esp, 120				; 00000078H

; 849  : 			break;
; 850  : 	}
; 851  : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	12					; 0000000cH
$LN1@Damaged:

; 826  : 			break;
; 827  : 
; 828  : 		case GAMELOG_BEACON:
; 829  : 		case GAMELOG_C4:
; 830  : 		case GAMELOG_CRATE:
; 831  : 			this->Log("DAMAGED;%s;%d;%s;%.0f;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f;%.0f;%f;%.0f;%.0f",
; 832  : 				this->m_typeString[this->m_objType],
; 833  : 				obj->NetworkID,
; 834  : 				obj->definition->Get_Name(),
; 835  : 				pos[0].Y,
; 836  : 				pos[0].X,
; 837  : 				pos[0].Z,
; 838  : 				gzCommands->Get_Facing(obj),
; 839  : 				(damager ? damager->NetworkID : 0),
; 840  : 				(damager ? damager->definition->Get_Name() : NULL),
; 841  : 				pos[1].Y,
; 842  : 				pos[1].X,
; 843  : 				pos[1].Z,
; 844  : 				gzCommands->Get_Facing(damager),
; 845  : 				damage,
; 846  : 				obj->As_DamageableGameObj()->Defense.Health.Get(),
; 847  : 				obj->As_DamageableGameObj()->Defense.ShieldStrength.Get()
; 848  : 			);

	xor	eax, eax
	cmp	edi, eax
	je	SHORT $LN21@Damaged
	mov	ecx, DWORD PTR [edi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR [edi+12]
	mov	DWORD PTR tv363[esp+64], eax
	mov	DWORD PTR tv367[esp+64], ecx
	jmp	SHORT $LN24@Damaged
$LN21@Damaged:
	mov	DWORD PTR tv363[esp+64], eax
	mov	DWORD PTR tv367[esp+64], eax
$LN24@Damaged:
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ebx, DWORD PTR [esi+1724]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1852				; 0000073cH
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	sub	esp, 8
	mov	ecx, esi
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, eax
	add	ecx, 1840				; 00000730H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+72]
	sub	esp, 16					; 00000010H
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _damage$[ebp]
	fstp	QWORD PTR [esp]
	push	edi
	call	edx
	mov	eax, DWORD PTR tv363[esp+92]
	mov	ecx, DWORD PTR tv367[esp+92]
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	sub	esp, 28					; 0000001cH
	fstp	QWORD PTR [esp+24]
	fld	DWORD PTR _pos$[esp+140]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+132]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+136]
	fstp	QWORD PTR [esp]
	push	eax
	mov	eax, DWORD PTR [edx+72]
	push	ecx
	push	esi
	call	eax
	mov	edx, DWORD PTR [ebx]
	mov	eax, DWORD PTR [edx+48]
	sub	esp, 28					; 0000001cH
	fstp	QWORD PTR [esp+24]
	mov	ecx, ebx
	fld	DWORD PTR _pos$[esp+168]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+160]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+164]
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR _this$[esp+160]
	push	eax
	mov	eax, DWORD PTR [edx+28]
	push	ecx
	mov	ecx, DWORD PTR ?m_typeString@gzGamelogBase@@1PAPBDA[eax*4]
	push	ecx
	push	OFFSET ??_C@_0EM@OLBAKPPG@DAMAGED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log
	add	esp, 112				; 00000070H
$LN4@Damaged:

; 849  : 			break;
; 850  : 	}
; 851  : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	12					; 0000000cH
$LN29@Damaged:
	DD	$LN3@Damaged
	DD	$LN2@Damaged
	DD	$LN2@Damaged
	DD	$LN1@Damaged
	DD	$LN1@Damaged
	DD	$LN1@Damaged
?Damaged@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0M@Z ENDP ; gzGamelogObserver::Damaged
_TEXT	ENDS
PUBLIC	??_C@_0CL@JHLJIANO@DESTROYED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f@ ; `string'
PUBLIC	??_C@_0CG@DCKFCDBD@DESTROYED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f@ ; `string'
PUBLIC	?Destroyed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzGamelogObserver::Destroyed
;	COMDAT ??_C@_0CL@JHLJIANO@DESTROYED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f@
CONST	SEGMENT
??_C@_0CL@JHLJIANO@DESTROYED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f@ DB 'D'
	DB	'ESTROYED;OBJECT;%d;%s;%.0f;%.0f;%.0f;%.0f', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CG@DCKFCDBD@DESTROYED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f@
CONST	SEGMENT
??_C@_0CG@DCKFCDBD@DESTROYED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f@ DB 'D'
	DB	'ESTROYED;OBJECT;%d;%s;%.0f;%.0f;%.0f', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Destroyed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_pos$ = -12						; size = 12
_obj$ = 8						; size = 4
?Destroyed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzGamelogObserver::Destroyed, COMDAT
; _this$ = ecx

; 853  : {

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	sub	esp, 56					; 00000038H
	push	esi

; 854  : 	nc_Vector3 pos;
; 855  : 	obj->Get_Position(&pos);

	mov	esi, DWORD PTR _obj$[ebp]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+56]
	push	edi
	mov	edi, ecx
	lea	ecx, DWORD PTR _pos$[esp+64]
	push	ecx
	mov	ecx, esi
	call	edx

; 856  : 
; 857  : 	switch (this->m_objType)

	mov	edi, DWORD PTR [edi+28]
	lea	eax, DWORD PTR [edi-1]
	cmp	eax, 5
	ja	$LN3@Destroyed
	jmp	DWORD PTR $LN7@Destroyed[eax*4]
$LN2@Destroyed:

; 858  : 	{
; 859  : 		case GAMELOG_BUILDING:
; 860  : 		case GAMELOG_VEHICLE:
; 861  : 		case GAMELOG_BEACON:
; 862  : 		case GAMELOG_C4:
; 863  : 		case GAMELOG_CRATE:
; 864  : 			this->Log("DESTROYED;OBJECT;%d;%s;%.0f;%.0f;%.0f",
; 865  : 				obj->NetworkID,
; 866  : 				obj->definition->Get_Name(),
; 867  : 				pos.Y,
; 868  : 				pos.X,
; 869  : 				pos.Z
; 870  : 			);

	fld	DWORD PTR _pos$[esp+72]
	mov	ecx, DWORD PTR [esi+1724]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+48]
	sub	esp, 24					; 00000018H
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+88]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+92]
	fstp	QWORD PTR [esp]
	call	edx
	push	eax
	mov	eax, DWORD PTR [esi+12]
	push	eax
	push	OFFSET ??_C@_0CG@DCKFCDBD@DESTROYED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log
	add	esp, 36					; 00000024H

; 882  : 			break;
; 883  : 	}
; 884  : }

	pop	edi
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	4
$LN1@Destroyed:

; 871  : 			break;
; 872  : 
; 873  : 		case GAMELOG_SOLDIER:
; 874  : 			this->Log("DESTROYED;OBJECT;%d;%s;%.0f;%.0f;%.0f;%.0f",
; 875  : 				obj->NetworkID,
; 876  : 				obj->definition->Get_Name(),
; 877  : 				pos.Y,
; 878  : 				pos.X,
; 879  : 				pos.Z,
; 880  : 				obj->As_SoldierGameObj()->Player->Score.Get()
; 881  : 			);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	edi, DWORD PTR [esi+1724]
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	add	ecx, 4
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+48]
	sub	esp, 32					; 00000020H
	fstp	QWORD PTR [esp+24]
	mov	ecx, edi
	fld	DWORD PTR _pos$[esp+104]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+96]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+100]
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR [esi+12]
	push	eax
	push	ecx
	push	OFFSET ??_C@_0CL@JHLJIANO@DESTROYED?$DLOBJECT?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log
	add	esp, 44					; 0000002cH
$LN3@Destroyed:

; 882  : 			break;
; 883  : 	}
; 884  : }

	pop	edi
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	4
	npad	1
$LN7@Destroyed:
	DD	$LN2@Destroyed
	DD	$LN1@Destroyed
	DD	$LN2@Destroyed
	DD	$LN2@Destroyed
	DD	$LN2@Destroyed
	DD	$LN2@Destroyed
?Destroyed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzGamelogObserver::Destroyed
_TEXT	ENDS
PUBLIC	__real@42700000
PUBLIC	??_C@_0BD@OGONBEGL@SCORE?$DL?$CFu?$DL?$CF?40f?$DL?$CF?40f?$AA@ ; `string'
PUBLIC	?Timer_Expired@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzGamelogObserver::Timer_Expired
;	COMDAT __real@42700000
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
__real@42700000 DD 042700000r			; 60
CONST	ENDS
;	COMDAT ??_C@_0BD@OGONBEGL@SCORE?$DL?$CFu?$DL?$CF?40f?$DL?$CF?40f?$AA@
CONST	SEGMENT
??_C@_0BD@OGONBEGL@SCORE?$DL?$CFu?$DL?$CF?40f?$DL?$CF?40f?$AA@ DB 'SCORE;'
	DB	'%u;%.0f;%.0f', 00H				; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
CONST	ENDS
;	COMDAT ?Timer_Expired@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzGamelogObserver::Timer_Expired, COMDAT
; _this$ = ecx

; 942  : 	switch (number)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	eax, 100				; 00000064H
	push	edi
	mov	edi, ecx
	je	SHORT $LN4@Timer_Expi
	sub	eax, 1
	jne	$LN2@Timer_Expi

; 955  : 			break;
; 956  : 
; 957  : 		// Object position
; 958  : 		case 101:
; 959  : 			obj->Start_Observer_Timer(this->GetID(), 2.0f, 101);

	fld	DWORD PTR __real@40000000
	mov	eax, DWORD PTR [edi+4]
	push	101					; 00000065H
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+8]
	fstp	DWORD PTR [esp]
	push	eax
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi

; 960  : 			break;
; 961  : 	}
; 962  : }

	ret	8
$LN4@Timer_Expi:
	push	esi

; 943  : 	{
; 944  : 		// Player status
; 945  : 		case 100:
; 946  : 			if (!obj->As_SoldierGameObj() || !obj->As_SoldierGameObj()->Player)

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	test	eax, eax
	je	SHORT $LN13@Timer_Expi
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN13@Timer_Expi

; 947  : 				break;
; 948  : 
; 949  : 			this->Log("SCORE;%u;%.0f;%.0f",
; 950  : 				obj->NetworkID,
; 951  : 				obj->As_SoldierGameObj()->Player->Score.Get(),
; 952  : 				obj->As_SoldierGameObj()->Player->Money.Get()
; 953  : 			);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	add	ecx, 8
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	sub	esp, 8
	mov	ecx, esi
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	add	ecx, 4
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR [esi+12]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	ecx
	push	OFFSET ??_C@_0BD@OGONBEGL@SCORE?$DL?$CFu?$DL?$CF?40f?$DL?$CF?40f?$AA@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log

; 954  : 			obj->Start_Observer_Timer(this->GetID(), 60.0f, 100);

	fld	DWORD PTR __real@42700000
	mov	edx, DWORD PTR [edi+4]
	add	esp, 24					; 00000018H
	push	100					; 00000064H
	push	ecx
	fstp	DWORD PTR [esp]
	push	edx
	mov	ecx, esi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
$LN13@Timer_Expi:
	pop	esi
$LN2@Timer_Expi:
	pop	edi

; 960  : 			break;
; 961  : 	}
; 962  : }

	ret	8
?Timer_Expired@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzGamelogObserver::Timer_Expired
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAE@XZ ; nc_ScriptRegistrant<gzGamelogObserver>::~nc_ScriptRegistrant<gzGamelogObserver>
EXTRN	??1nc_ScriptFactory@@UAE@XZ:PROC		; nc_ScriptFactory::~nc_ScriptFactory
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzGamelogObserver>::~nc_ScriptRegistrant<gzGamelogObserver>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzGamelogObserver>::~nc_ScriptRegistrant<gzGamelogObserver>
_TEXT	ENDS
PUBLIC	__real@41f00000
PUBLIC	??_C@_0BP@KENAIKH@M00BNTR_HLTH0001I1EVAN_SND?4wav?$AA@ ; `string'
PUBLIC	??_C@_0BA@GBHDNIFA@mp_Nod_Refinery?$AA@		; `string'
PUBLIC	??_C@_0BP@LALPLICE@M00BNPP_HLTH0001I1EVAN_SND?4wav?$AA@ ; `string'
PUBLIC	??_C@_0BD@IDHODGJA@mp_Nod_Power_Plant?$AA@	; `string'
PUBLIC	??_C@_0BP@MODMAOAD@M00BNAF_HLTH0001I1EVAN_SND?4wav?$AA@ ; `string'
PUBLIC	??_C@_0BA@LEGCDNFG@mp_Nod_Airstrip?$AA@		; `string'
PUBLIC	??_C@_0BP@FAADBGJP@M00BNHN_HLTH0001I1EVAN_SND?4wav?$AA@ ; `string'
PUBLIC	??_C@_0P@JHNKJCOA@mp_Hand_of_Nod?$AA@		; `string'
PUBLIC	??_C@_0BP@BIKGELOE@M00BNOL_HLTH0001I1EVAN_SND?4wav?$AA@ ; `string'
PUBLIC	??_C@_0P@EDOPODIP@mp_Nod_Obelisk?$AA@		; `string'
PUBLIC	??_C@_0BP@FKFGOOKG@M00BGTR_HLTH0001I1EVAG_SND?4wav?$AA@ ; `string'
PUBLIC	??_C@_0BA@MCENGPJO@mp_GDI_Refinery?$AA@		; `string'
PUBLIC	??_C@_0BP@OAKEFOCF@M00BGPP_HLTH0001I1EVAG_SND?4wav?$AA@ ; `string'
PUBLIC	??_C@_0BD@HCKKKIKN@mp_GDI_Power_Plant?$AA@	; `string'
PUBLIC	??_C@_0BP@LKLGOML@M00BGWF_HLTH0001I1EVAG_SND?4wav?$AA@ ; `string'
PUBLIC	??_C@_0BD@GCJKJCIO@mp_GDI_War_Factory?$AA@	; `string'
PUBLIC	??_C@_0BP@DALDIPEF@M00BGIB_HLTH0001I1EVAG_SND?4wav?$AA@ ; `string'
PUBLIC	??_C@_0BA@FOGENBOI@mp_GDI_Barracks?$AA@		; `string'
PUBLIC	??_C@_0BP@FGFGOJDB@M00BGAT_HLTH0001I1EVAG_SND?4wav?$AA@ ; `string'
PUBLIC	??_C@_0BM@BKDLMOIE@mp_GDI_Advanced_Guard_Tower?$AA@ ; `string'
PUBLIC	??_C@_05MBDEGLCK@ERROR?$AA@			; `string'
PUBLIC	?Damaged@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0M@Z ; gzObserverBuilding::Damaged
;	COMDAT __real@41f00000
; File c:\program files (x86)\microsoft visual studio 8\vc\include\string.h
CONST	SEGMENT
__real@41f00000 DD 041f00000r			; 30
CONST	ENDS
;	COMDAT ??_C@_0BP@KENAIKH@M00BNTR_HLTH0001I1EVAN_SND?4wav?$AA@
CONST	SEGMENT
??_C@_0BP@KENAIKH@M00BNTR_HLTH0001I1EVAN_SND?4wav?$AA@ DB 'M00BNTR_HLTH00'
	DB	'01I1EVAN_SND.wav', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@GBHDNIFA@mp_Nod_Refinery?$AA@
CONST	SEGMENT
??_C@_0BA@GBHDNIFA@mp_Nod_Refinery?$AA@ DB 'mp_Nod_Refinery', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@LALPLICE@M00BNPP_HLTH0001I1EVAN_SND?4wav?$AA@
CONST	SEGMENT
??_C@_0BP@LALPLICE@M00BNPP_HLTH0001I1EVAN_SND?4wav?$AA@ DB 'M00BNPP_HLTH0'
	DB	'001I1EVAN_SND.wav', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@IDHODGJA@mp_Nod_Power_Plant?$AA@
CONST	SEGMENT
??_C@_0BD@IDHODGJA@mp_Nod_Power_Plant?$AA@ DB 'mp_Nod_Power_Plant', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@MODMAOAD@M00BNAF_HLTH0001I1EVAN_SND?4wav?$AA@
CONST	SEGMENT
??_C@_0BP@MODMAOAD@M00BNAF_HLTH0001I1EVAN_SND?4wav?$AA@ DB 'M00BNAF_HLTH0'
	DB	'001I1EVAN_SND.wav', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@LEGCDNFG@mp_Nod_Airstrip?$AA@
CONST	SEGMENT
??_C@_0BA@LEGCDNFG@mp_Nod_Airstrip?$AA@ DB 'mp_Nod_Airstrip', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@FAADBGJP@M00BNHN_HLTH0001I1EVAN_SND?4wav?$AA@
CONST	SEGMENT
??_C@_0BP@FAADBGJP@M00BNHN_HLTH0001I1EVAN_SND?4wav?$AA@ DB 'M00BNHN_HLTH0'
	DB	'001I1EVAN_SND.wav', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@JHNKJCOA@mp_Hand_of_Nod?$AA@
CONST	SEGMENT
??_C@_0P@JHNKJCOA@mp_Hand_of_Nod?$AA@ DB 'mp_Hand_of_Nod', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@BIKGELOE@M00BNOL_HLTH0001I1EVAN_SND?4wav?$AA@
CONST	SEGMENT
??_C@_0BP@BIKGELOE@M00BNOL_HLTH0001I1EVAN_SND?4wav?$AA@ DB 'M00BNOL_HLTH0'
	DB	'001I1EVAN_SND.wav', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@EDOPODIP@mp_Nod_Obelisk?$AA@
CONST	SEGMENT
??_C@_0P@EDOPODIP@mp_Nod_Obelisk?$AA@ DB 'mp_Nod_Obelisk', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@FKFGOOKG@M00BGTR_HLTH0001I1EVAG_SND?4wav?$AA@
CONST	SEGMENT
??_C@_0BP@FKFGOOKG@M00BGTR_HLTH0001I1EVAG_SND?4wav?$AA@ DB 'M00BGTR_HLTH0'
	DB	'001I1EVAG_SND.wav', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@MCENGPJO@mp_GDI_Refinery?$AA@
CONST	SEGMENT
??_C@_0BA@MCENGPJO@mp_GDI_Refinery?$AA@ DB 'mp_GDI_Refinery', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@OAKEFOCF@M00BGPP_HLTH0001I1EVAG_SND?4wav?$AA@
CONST	SEGMENT
??_C@_0BP@OAKEFOCF@M00BGPP_HLTH0001I1EVAG_SND?4wav?$AA@ DB 'M00BGPP_HLTH0'
	DB	'001I1EVAG_SND.wav', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@HCKKKIKN@mp_GDI_Power_Plant?$AA@
CONST	SEGMENT
??_C@_0BD@HCKKKIKN@mp_GDI_Power_Plant?$AA@ DB 'mp_GDI_Power_Plant', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@LKLGOML@M00BGWF_HLTH0001I1EVAG_SND?4wav?$AA@
CONST	SEGMENT
??_C@_0BP@LKLGOML@M00BGWF_HLTH0001I1EVAG_SND?4wav?$AA@ DB 'M00BGWF_HLTH00'
	DB	'01I1EVAG_SND.wav', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@GCJKJCIO@mp_GDI_War_Factory?$AA@
CONST	SEGMENT
??_C@_0BD@GCJKJCIO@mp_GDI_War_Factory?$AA@ DB 'mp_GDI_War_Factory', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@DALDIPEF@M00BGIB_HLTH0001I1EVAG_SND?4wav?$AA@
CONST	SEGMENT
??_C@_0BP@DALDIPEF@M00BGIB_HLTH0001I1EVAG_SND?4wav?$AA@ DB 'M00BGIB_HLTH0'
	DB	'001I1EVAG_SND.wav', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@FOGENBOI@mp_GDI_Barracks?$AA@
CONST	SEGMENT
??_C@_0BA@FOGENBOI@mp_GDI_Barracks?$AA@ DB 'mp_GDI_Barracks', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@FGFGOJDB@M00BGAT_HLTH0001I1EVAG_SND?4wav?$AA@
CONST	SEGMENT
??_C@_0BP@FGFGOJDB@M00BGAT_HLTH0001I1EVAG_SND?4wav?$AA@ DB 'M00BGAT_HLTH0'
	DB	'001I1EVAG_SND.wav', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@BKDLMOIE@mp_GDI_Advanced_Guard_Tower?$AA@
CONST	SEGMENT
??_C@_0BM@BKDLMOIE@mp_GDI_Advanced_Guard_Tower?$AA@ DB 'mp_GDI_Advanced_G'
	DB	'uard_Tower', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_05MBDEGLCK@ERROR?$AA@
CONST	SEGMENT
??_C@_05MBDEGLCK@ERROR?$AA@ DB 'ERROR', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
CONST	ENDS
;	COMDAT ?Damaged@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0M@Z
_TEXT	SEGMENT
tv173 = -4						; size = 4
tv352 = 8						; size = 4
tv350 = 8						; size = 4
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
_damage$ = 16						; size = 4
?Damaged@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0M@Z PROC ; gzObserverBuilding::Damaged, COMDAT
; _this$ = ecx

; 986  : {

	push	ecx

; 987  : 	if (this->PlayHealth && (gzCommands->Get_Health(obj) + gzCommands->Get_Shield_Strength(obj)) <= ((gzCommands->Get_Max_Health(obj) + gzCommands->Get_Max_Shield_Strength(obj)) * 0.2f)) {

	fldz
	push	ebx
	mov	ebx, ecx
	fcomp	DWORD PTR [ebx+32]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	$LN1@Damaged@2
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+232]
	push	esi
	mov	esi, DWORD PTR _obj$[esp+8]
	push	esi
	call	ecx
	fstp	DWORD PTR tv350[esp+12]
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+220]
	push	esi
	call	eax
	fadd	DWORD PTR tv350[esp+16]
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+236]
	push	esi
	fstp	DWORD PTR tv173[esp+24]
	call	edx
	fstp	DWORD PTR tv352[esp+20]
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+224]
	push	esi
	call	ecx
	fadd	DWORD PTR tv352[esp+24]
	add	esp, 16					; 00000010H
	fmul	DWORD PTR __real@3e4ccccd
	fcomp	DWORD PTR tv173[esp+12]
	fnstsw	ax
	test	ah, 1
	jne	$LN44@Damaged@2

; 988  : 		this->PlayHealth = false;

	fldz
	push	edi
	fstp	DWORD PTR [ebx+32]

; 989  : 		char *Announcement = "ERROR";

	mov	edi, OFFSET ??_C@_05MBDEGLCK@ERROR?$AA@

; 990  : 		if (strstr(obj->definition->Get_Name(), "mp_GDI_Advanced_Guard_Tower"))

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	OFFSET ??_C@_0BM@BKDLMOIE@mp_GDI_Advanced_Guard_Tower?$AA@
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax
	je	SHORT $LN20@Damaged@2

; 991  : 			Announcement = "M00BGAT_HLTH0001I1EVAG_SND.wav";

	mov	edi, OFFSET ??_C@_0BP@FGFGOJDB@M00BGAT_HLTH0001I1EVAG_SND?4wav?$AA@
	jmp	$LN2@Damaged@2
$LN20@Damaged@2:

; 992  : 		else if (strstr(obj->definition->Get_Name(), "mp_GDI_Barracks"))

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	OFFSET ??_C@_0BA@FOGENBOI@mp_GDI_Barracks?$AA@
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax
	je	SHORT $LN18@Damaged@2

; 993  : 			Announcement = "M00BGIB_HLTH0001I1EVAG_SND.wav";

	mov	edi, OFFSET ??_C@_0BP@DALDIPEF@M00BGIB_HLTH0001I1EVAG_SND?4wav?$AA@
	jmp	$LN2@Damaged@2
$LN18@Damaged@2:

; 994  : 		else if (strstr(obj->definition->Get_Name(), "mp_GDI_War_Factory"))

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	OFFSET ??_C@_0BD@GCJKJCIO@mp_GDI_War_Factory?$AA@
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax
	je	SHORT $LN16@Damaged@2

; 995  : 			Announcement = "M00BGWF_HLTH0001I1EVAG_SND.wav";

	mov	edi, OFFSET ??_C@_0BP@LKLGOML@M00BGWF_HLTH0001I1EVAG_SND?4wav?$AA@
	jmp	$LN2@Damaged@2
$LN16@Damaged@2:

; 996  : 		else if (strstr(obj->definition->Get_Name(), "mp_GDI_Power_Plant"))

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	OFFSET ??_C@_0BD@HCKKKIKN@mp_GDI_Power_Plant?$AA@
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax
	je	SHORT $LN14@Damaged@2

; 997  : 			Announcement = "M00BGPP_HLTH0001I1EVAG_SND.wav";

	mov	edi, OFFSET ??_C@_0BP@OAKEFOCF@M00BGPP_HLTH0001I1EVAG_SND?4wav?$AA@
	jmp	$LN2@Damaged@2
$LN14@Damaged@2:

; 998  : 		else if (strstr(obj->definition->Get_Name(), "mp_GDI_Refinery"))

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	OFFSET ??_C@_0BA@MCENGPJO@mp_GDI_Refinery?$AA@
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax
	je	SHORT $LN12@Damaged@2

; 999  : 			Announcement = "M00BGTR_HLTH0001I1EVAG_SND.wav";

	mov	edi, OFFSET ??_C@_0BP@FKFGOOKG@M00BGTR_HLTH0001I1EVAG_SND?4wav?$AA@
	jmp	$LN2@Damaged@2
$LN12@Damaged@2:

; 1000 : 		else if (strstr(obj->definition->Get_Name(), "mp_Nod_Obelisk"))

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	OFFSET ??_C@_0P@EDOPODIP@mp_Nod_Obelisk?$AA@
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax
	je	SHORT $LN10@Damaged@2

; 1001 : 			Announcement = "M00BNOL_HLTH0001I1EVAN_SND.wav";

	mov	edi, OFFSET ??_C@_0BP@BIKGELOE@M00BNOL_HLTH0001I1EVAN_SND?4wav?$AA@
	jmp	$LN2@Damaged@2
$LN10@Damaged@2:

; 1002 : 		else if (strstr(obj->definition->Get_Name(), "mp_Hand_of_Nod"))

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	OFFSET ??_C@_0P@JHNKJCOA@mp_Hand_of_Nod?$AA@
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax
	je	SHORT $LN8@Damaged@2

; 1003 : 			Announcement = "M00BNHN_HLTH0001I1EVAN_SND.wav";

	mov	edi, OFFSET ??_C@_0BP@FAADBGJP@M00BNHN_HLTH0001I1EVAN_SND?4wav?$AA@
	jmp	SHORT $LN2@Damaged@2
$LN8@Damaged@2:

; 1004 : 		else if (strstr(obj->definition->Get_Name(), "mp_Nod_Airstrip"))

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	OFFSET ??_C@_0BA@LEGCDNFG@mp_Nod_Airstrip?$AA@
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax
	je	SHORT $LN6@Damaged@2

; 1005 : 			Announcement = "M00BNAF_HLTH0001I1EVAN_SND.wav";

	mov	edi, OFFSET ??_C@_0BP@MODMAOAD@M00BNAF_HLTH0001I1EVAN_SND?4wav?$AA@
	jmp	SHORT $LN2@Damaged@2
$LN6@Damaged@2:

; 1006 : 		else if (strstr(obj->definition->Get_Name(), "mp_Nod_Power_Plant"))

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	OFFSET ??_C@_0BD@IDHODGJA@mp_Nod_Power_Plant?$AA@
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax
	je	SHORT $LN4@Damaged@2

; 1007 : 			Announcement = "M00BNPP_HLTH0001I1EVAN_SND.wav";

	mov	edi, OFFSET ??_C@_0BP@LALPLICE@M00BNPP_HLTH0001I1EVAN_SND?4wav?$AA@
	jmp	SHORT $LN2@Damaged@2
$LN4@Damaged@2:

; 1008 : 		else if (strstr(obj->definition->Get_Name(), "mp_Nod_Refinery"))

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	OFFSET ??_C@_0BA@GBHDNIFA@mp_Nod_Refinery?$AA@
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax
	je	SHORT $LN2@Damaged@2

; 1009 : 			Announcement = "M00BNTR_HLTH0001I1EVAN_SND.wav";

	mov	edi, OFFSET ??_C@_0BP@KENAIKH@M00BNTR_HLTH0001I1EVAN_SND?4wav?$AA@
$LN2@Damaged@2:

; 1010 : 
; 1011 : 		if (!obj->As_BuildingGameObj()->Destroyed)

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+64]
	mov	ecx, esi
	call	eax
	cmp	BYTE PTR [eax+1912], 0
	jne	SHORT $LN45@Damaged@2

; 1012 : 		{
; 1013 : 			gzCommands->Create_2D_Sound(Announcement);

	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+176]
	push	edi
	call	edx

; 1014 : 			gzCommands->Start_Timer(obj,this, 30.0f, 22);

	fld	DWORD PTR __real@41f00000
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	add	esp, 4
	push	22					; 00000016H
	push	ecx
	mov	ecx, DWORD PTR [eax+128]
	fstp	DWORD PTR [esp]
	push	ebx
	push	esi
	call	ecx
	add	esp, 16					; 00000010H
$LN45@Damaged@2:
	pop	edi
$LN44@Damaged@2:
	pop	esi
$LN1@Damaged@2:
	pop	ebx

; 1015 : 		}
; 1016 : 	}
; 1017 : }

	pop	ecx
	ret	12					; 0000000cH
?Damaged@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0M@Z ENDP ; gzObserverBuilding::Damaged
_TEXT	ENDS
PUBLIC	??_C@_0BB@OLMLCJEO@?$CFs?5was?5destroyed?$AA@	; `string'
PUBLIC	??_C@_1FC@CPOBINPC@?$AAT?$AAh?$AAe?$AA?5?$AA?$CF?$AAS?$AA?5?$AAh?$AAa?$AAs?$AA?5?$AAb?$AAe?$AAe?$AAn?$AA?5?$AAd?$AAe?$AAs?$AAt?$AAr?$AAo?$AAy?$AAe?$AAd?$AA?5?$AAt?$AAh?$AAa?$AAn?$AAk?$AAs@ ; `string'
PUBLIC	??_C@_09JOJCPGOE@_BUILDING?$AA@			; `string'
PUBLIC	??_C@_0CA@KDOENAMP@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$AA@ ; `string'
PUBLIC	??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@ ; `string'
PUBLIC	?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzObserverBuilding::Killed
EXTRN	?Send_Text_Msg@@YAXABVnc_WideStringClass@@H_NHH@Z:PROC ; Send_Text_Msg
EXTRN	?Format@nc_WideStringClass@@QAAXPB_WZZ:PROC	; nc_WideStringClass::Format
EXTRN	?gzLogger@@YAXPBD0ZZ:PROC			; gzLogger
EXTRN	?Get@gzTranslateManager@@QAEPBDPBD@Z:PROC	; gzTranslateManager::Get
EXTRN	?gzTranslator@@3PAVgzTranslateManager@@A:DWORD	; gzTranslator
EXTRN	?GetPresetInfo@@YA?AVaString@@PAVnc_PhysicalGameObj@@_N@Z:PROC ; GetPresetInfo
;	COMDAT ??_C@_0BB@OLMLCJEO@?$CFs?5was?5destroyed?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BB@OLMLCJEO@?$CFs?5was?5destroyed?$AA@ DB '%s was destroyed', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1FC@CPOBINPC@?$AAT?$AAh?$AAe?$AA?5?$AA?$CF?$AAS?$AA?5?$AAh?$AAa?$AAs?$AA?5?$AAb?$AAe?$AAe?$AAn?$AA?5?$AAd?$AAe?$AAs?$AAt?$AAr?$AAo?$AAy?$AAe?$AAd?$AA?5?$AAt?$AAh?$AAa?$AAn?$AAk?$AAs@
CONST	SEGMENT
??_C@_1FC@CPOBINPC@?$AAT?$AAh?$AAe?$AA?5?$AA?$CF?$AAS?$AA?5?$AAh?$AAa?$AAs?$AA?5?$AAb?$AAe?$AAe?$AAn?$AA?5?$AAd?$AAe?$AAs?$AAt?$AAr?$AAo?$AAy?$AAe?$AAd?$AA?5?$AAt?$AAh?$AAa?$AAn?$AAk?$AAs@ DB 'T'
	DB	00H, 'h', 00H, 'e', 00H, ' ', 00H, '%', 00H, 'S', 00H, ' ', 00H
	DB	'h', 00H, 'a', 00H, 's', 00H, ' ', 00H, 'b', 00H, 'e', 00H, 'e'
	DB	00H, 'n', 00H, ' ', 00H, 'd', 00H, 'e', 00H, 's', 00H, 't', 00H
	DB	'r', 00H, 'o', 00H, 'y', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 't'
	DB	00H, 'h', 00H, 'a', 00H, 'n', 00H, 'k', 00H, 's', 00H, ' ', 00H
	DB	't', 00H, 'o', 00H, ' ', 00H, 'y', 00H, 'o', 00H, 'u', 00H, '!'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_09JOJCPGOE@_BUILDING?$AA@
CONST	SEGMENT
??_C@_09JOJCPGOE@_BUILDING?$AA@ DB '_BUILDING', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CA@KDOENAMP@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$AA@
CONST	SEGMENT
??_C@_0CA@KDOENAMP@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$AA@ DB '%'
	DB	's destroyed thanks to %ls (%s)', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@
CONST	SEGMENT
??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@ DB 'N'
	DB	00H, 'o', 00H, 't', 00H, 'P', 00H, 'l', 00H, 'a', 00H, 'y', 00H
	DB	'e', 00H, 'r', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z$1
__ehfuncinfo$?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
_pInfo$58994 = -20					; size = 8
__$EHRec$ = -12						; size = 12
_reward$59000 = 8					; size = 4
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzObserverBuilding::Killed, COMDAT
; _this$ = ecx

; 1019 : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	push	esi

; 1020 : 	if (shooter)

	mov	esi, DWORD PTR _shooter$[esp+20]
	test	esi, esi
	je	$LN4@Killed

; 1021 : 	{
; 1022 : 		aString pInfo = ::GetPresetInfo(shooter->As_PhysicalGameObj(), true);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+36]
	push	1
	mov	ecx, esi
	call	edx
	push	eax
	lea	eax, DWORD PTR _pInfo$58994[esp+32]
	push	eax
	call	?GetPresetInfo@@YA?AVaString@@PAVnc_PhysicalGameObj@@_N@Z ; GetPresetInfo
	add	esp, 12					; 0000000cH

; 1023 : 		gzLogger(
; 1024 : 			"_BUILDING",
; 1025 : 			"%s destroyed thanks to %ls (%s)",
; 1026 : 			gzTranslator->Get(obj->definition->Get_Name()),
; 1027 : 			(shooter->As_SoldierGameObj() && shooter->As_SmartGameObj()->Player) ? shooter->As_SmartGameObj()->Player->PlayerName.m_Buffer : L"NotPlayer",
; 1028 : 			pInfo.GetString()
; 1029 : 		);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	call	eax
	test	eax, eax
	je	SHORT $LN7@Killed
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+44]
	mov	ecx, esi
	call	eax
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN7@Killed
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+44]
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1880]
	jmp	SHORT $LN8@Killed
$LN7@Killed:
	mov	edx, OFFSET ??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@
$LN8@Killed:
	mov	eax, DWORD PTR _pInfo$58994[esp+28]
	test	eax, eax
	je	SHORT $LN13@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN14@Killed
$LN13@Killed:
	xor	eax, eax
$LN14@Killed:
	push	edi
	mov	edi, DWORD PTR _obj$[esp+24]
	mov	ecx, DWORD PTR [edi+1724]
	push	eax
	push	edx
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0CA@KDOENAMP@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$AA@
	push	OFFSET ??_C@_09JOJCPGOE@_BUILDING?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger

; 1030 : 
; 1031 : 		if (shooter->As_SoldierGameObj() && shooter->As_SoldierGameObj()->Player)

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	add	esp, 20					; 00000014H
	mov	ecx, esi
	call	eax
	test	eax, eax
	je	$LN19@Killed
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN19@Killed

; 1032 : 		{
; 1033 : 			nc_WideStringClass reward;

	mov	ecx, DWORD PTR ?m_EmptyString@nc_WideStringClass@@2PAPA_WA ; nc_WideStringClass::m_EmptyString
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _reward$59000[esp+24], edx

; 1034 : 			reward.Format(L"The %S has been destroyed thanks to you!", gzTranslator->Get(obj->definition->Get_Name()));

	mov	ecx, DWORD PTR [edi+1724]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+48]
	mov	BYTE PTR __$EHRec$[esp+36], 1
	call	edx
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	lea	eax, DWORD PTR _reward$59000[esp+28]
	push	OFFSET ??_C@_1FC@CPOBINPC@?$AAT?$AAh?$AAe?$AA?5?$AA?$CF?$AAS?$AA?5?$AAh?$AAa?$AAs?$AA?5?$AAb?$AAe?$AAe?$AAn?$AA?5?$AAd?$AAe?$AAs?$AAt?$AAr?$AAo?$AAy?$AAe?$AAd?$AA?5?$AAt?$AAh?$AAa?$AAn?$AAk?$AAs@
	push	eax
	call	?Format@nc_WideStringClass@@QAAXPB_WZZ	; nc_WideStringClass::Format

; 1035 : 			Send_Text_Msg(reward, 2, false, -1, shooter->As_SoldierGameObj()->Player->PlayerId);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	add	esp, 12					; 0000000cH
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1884]
	push	edx
	push	-1
	push	0
	lea	eax, DWORD PTR _reward$59000[esp+36]
	push	2
	push	eax
	call	?Send_Text_Msg@@YAXABVnc_WideStringClass@@H_NHH@Z ; Send_Text_Msg
	add	esp, 20					; 00000014H

; 1036 : 			reward.Free_String();

	lea	ecx, DWORD PTR _reward$59000[esp+24]
	call	?Free_String@nc_WideStringClass@@QAEXXZ	; nc_WideStringClass::Free_String

; 1037 : 		}

	lea	ecx, DWORD PTR _reward$59000[esp+24]
	mov	BYTE PTR __$EHRec$[esp+36], 0
	call	?Free_String@nc_WideStringClass@@QAEXXZ	; nc_WideStringClass::Free_String
$LN19@Killed:

; 1038 : 
; 1039 : 		// Remove the spy crate ability of "shooter" after building destruction
; 1040 : 		if (shooter->As_SoldierGameObj() && gzGameMgr->m_settings->m_GameMode == 1)

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	test	eax, eax
	pop	edi
	je	SHORT $LN2@Killed
	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	edx, DWORD PTR [ecx+72]
	cmp	DWORD PTR [edx+24], 1
	jne	SHORT $LN2@Killed

; 1041 : 			shooter->As_SoldierGameObj()->IsVisible = true;

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	mov	BYTE PTR [eax+3365], 1
$LN2@Killed:

; 1042 : 	}

	lea	ecx, DWORD PTR _pInfo$58994[esp+24]
	mov	DWORD PTR __$EHRec$[esp+32], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	pop	esi

; 1045 : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	8
$LN4@Killed:

; 1043 : 	else
; 1044 : 		gzLogger("_BUILDING", "%s was destroyed", gzTranslator->Get(obj->definition->Get_Name()));

	mov	eax, DWORD PTR _obj$[esp+20]
	mov	ecx, DWORD PTR [eax+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0BB@OLMLCJEO@?$CFs?5was?5destroyed?$AA@
	push	OFFSET ??_C@_09JOJCPGOE@_BUILDING?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger

; 1045 : }

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	add	esp, 12					; 0000000cH
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z$0:
	lea	ecx, DWORD PTR _pInfo$58994[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z$1:
	lea	ecx, DWORD PTR _reward$59000[ebp-4]
	jmp	??1nc_WideStringClass@@QAE@XZ		; nc_WideStringClass::~nc_WideStringClass
__ehhandler$?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzObserverBuilding::Killed
PUBLIC	?Timer_Expired@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzObserverBuilding::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzObserverBuilding::Timer_Expired, COMDAT
; _this$ = ecx

; 1048 : 	if (number == 22)

	cmp	DWORD PTR _number$[esp-4], 22		; 00000016H
	jne	SHORT $LN1@Timer_Expi@2

; 1049 : 		this->PlayHealth = true;

	fld1
	fstp	DWORD PTR [ecx+32]
$LN1@Timer_Expi@2:

; 1050 : }

	ret	8
?Timer_Expired@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzObserverBuilding::Timer_Expired
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserverBuilding>::~nc_ScriptRegistrant<gzObserverBuilding>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserverBuilding>::~nc_ScriptRegistrant<gzObserverBuilding>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserverBuilding>::~nc_ScriptRegistrant<gzObserverBuilding>
_TEXT	ENDS
PUBLIC	?Created@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObelisk_Powerup::Created
; Function compile flags: /Ogtpy
;	COMDAT ?Created@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObelisk_Powerup::Created, COMDAT
; _this$ = ecx

; 1059 : 	this->m_isCharging = false;

	mov	BYTE PTR [ecx+32], 0

; 1060 : }

	ret	4
?Created@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObelisk_Powerup::Created
_TEXT	ENDS
PUBLIC	__real@40400000
PUBLIC	??_C@_0BA@BAMEGIFD@Obelisk_Warm_Up?$AA@		; `string'
PUBLIC	??_C@_0P@CHBJFGHP@Obelisk?5Effect?$AA@		; `string'
PUBLIC	?Custom@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ; gzObelisk_Powerup::Custom
EXTRN	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z:PROC ; nc_PhysicalGameObj::Set_Position
EXTRN	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z:PROC ; nc_ObjectLibraryManager::Create_Object
;	COMDAT __real@40400000
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
__real@40400000 DD 040400000r			; 3
CONST	ENDS
;	COMDAT ??_C@_0BA@BAMEGIFD@Obelisk_Warm_Up?$AA@
CONST	SEGMENT
??_C@_0BA@BAMEGIFD@Obelisk_Warm_Up?$AA@ DB 'Obelisk_Warm_Up', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@CHBJFGHP@Obelisk?5Effect?$AA@
CONST	SEGMENT
??_C@_0P@CHBJFGHP@Obelisk?5Effect?$AA@ DB 'Obelisk Effect', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
CONST	ENDS
;	COMDAT ?Custom@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
_TEXT	SEGMENT
_pos$59049 = -12					; size = 12
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@HH0@Z PROC ; gzObelisk_Powerup::Custom, COMDAT
; _this$ = ecx

; 1062 : {

	sub	esp, 12					; 0000000cH

; 1063 : 	if (message == 2 && !this->m_isCharging)

	cmp	DWORD PTR _message$[esp+8], 2
	push	esi
	mov	esi, ecx
	jne	SHORT $LN1@Custom@2
	cmp	BYTE PTR [esi+32], 0
	jne	SHORT $LN1@Custom@2
	push	ebx
	push	edi

; 1064 : 	{
; 1065 : 		this->m_isCharging = true;
; 1066 : 		nc_Vector3 pos;
; 1067 : 		obj->Get_Position(&pos);

	mov	edi, DWORD PTR _obj$[esp+20]
	mov	BYTE PTR [esi+32], 1
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+56]
	lea	ecx, DWORD PTR _pos$59049[esp+24]
	push	ecx
	mov	ecx, edi
	call	edx

; 1068 : 		nc_PowerUpGameObj *effectObj = gzStatic_Cast(nc_PowerUpGameObj, nc_ObjectLibraryManager::Create_Object("Obelisk Effect"));

	push	OFFSET ??_C@_0P@CHBJFGHP@Obelisk?5Effect?$AA@
	call	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z ; nc_ObjectLibraryManager::Create_Object
	mov	ebx, eax
	add	esp, 4

; 1069 : 		effectObj->Set_Position(pos);

	lea	eax, DWORD PTR _pos$59049[esp+24]
	push	eax
	mov	ecx, ebx
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position

; 1070 : 		this->m_effectObjId = effectObj->NetworkID;

	mov	ecx, DWORD PTR [ebx+12]
	mov	DWORD PTR [esi+28], ecx

; 1071 : 		gzCommands->Create_Sound("Obelisk_Warm_Up", pos, NULL);

	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+172]
	push	0
	lea	edx, DWORD PTR _pos$59049[esp+28]
	push	edx
	push	OFFSET ??_C@_0BA@BAMEGIFD@Obelisk_Warm_Up?$AA@
	call	ecx

; 1072 : 		obj->Start_Observer_Timer(this->GetID(), 3.0f, 1);

	fld	DWORD PTR __real@40400000
	mov	edx, DWORD PTR [esi+4]
	add	esp, 12					; 0000000cH
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	edx
	mov	ecx, edi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi
	pop	ebx
$LN1@Custom@2:
	pop	esi

; 1073 : 	}
; 1074 : }

	add	esp, 12					; 0000000cH
	ret	16					; 00000010H
?Custom@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ENDP ; gzObelisk_Powerup::Custom
_TEXT	ENDS
PUBLIC	?Timer_Expired@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzObelisk_Powerup::Timer_Expired
EXTRN	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z:PROC ; nc_GameObjManager::Find_PhysicalGameObj
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzObelisk_Powerup::Timer_Expired, COMDAT
; _this$ = ecx

; 1077 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	push	esi
	mov	esi, ecx
	jne	SHORT $LN2@Timer_Expi@3

; 1078 : 	{
; 1079 : 		nc_PhysicalGameObj *effectObj = nc_GameObjManager::Find_PhysicalGameObj(this->m_effectObjId);

	mov	eax, DWORD PTR [esi+28]
	push	eax
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	add	esp, 4

; 1080 : 		if (effectObj)

	test	eax, eax
	je	SHORT $LN1@Timer_Expi@3

; 1081 : 			effectObj->Set_Delete_Pending();

	mov	edx, DWORD PTR [eax+8]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+44]
	call	eax
$LN1@Timer_Expi@3:

; 1082 : 		this->m_isCharging = false;

	mov	BYTE PTR [esi+32], 0
$LN2@Timer_Expi@3:
	pop	esi

; 1083 : 	}
; 1084 : }

	ret	8
?Timer_Expired@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzObelisk_Powerup::Timer_Expired
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAE@XZ ; nc_ScriptRegistrant<gzObelisk_Powerup>::~nc_ScriptRegistrant<gzObelisk_Powerup>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObelisk_Powerup>::~nc_ScriptRegistrant<gzObelisk_Powerup>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObelisk_Powerup>::~nc_ScriptRegistrant<gzObelisk_Powerup>
_TEXT	ENDS
PUBLIC	__real@3ca3d70a
PUBLIC	??_C@_0BK@NKAKCAFI@M00_No_Falling_Damage_DME?$AA@ ; `string'
PUBLIC	??_C@_06BIJBOFNL@Origin?$AA@			; `string'
PUBLIC	??_C@_0O@PJGKCEGJ@X5D_Parachute?$AA@		; `string'
PUBLIC	??_C@_0BB@NHJNEILC@Invisible_Object?$AA@	; `string'
PUBLIC	??_C@_04MLLLIHIP@null?$AA@			; `string'
PUBLIC	??_C@_0BF@JOBLEEOM@CnC_Beacon_IonCannon?$AA@	; `string'
PUBLIC	?Created@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserver_Parachute::Created
EXTRN	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ:PROC	; nc_ScriptImpClass::Destroy_Script
EXTRN	?Add_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z:PROC ; nc_ScriptableGameObj::Add_Observer
EXTRN	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z:PROC ; nc_ScriptManager::Create_Script
EXTRN	?Attach_To_Object_Bone@nc_PhysicalGameObj@@QAEXPAV1@PBD@Z:PROC ; nc_PhysicalGameObj::Attach_To_Object_Bone
EXTRN	?Set_Model_By_Name@nc_PhysClass@@QAEXPBD@Z:PROC	; nc_PhysClass::Set_Model_By_Name
EXTRN	?Check@nc_TransitionManager@@SAXPAVnc_SoldierGameObj@@_N@Z:PROC ; nc_TransitionManager::Check
;	COMDAT __real@3ca3d70a
CONST	SEGMENT
__real@3ca3d70a DD 03ca3d70ar			; 0.02
CONST	ENDS
;	COMDAT ??_C@_0BK@NKAKCAFI@M00_No_Falling_Damage_DME?$AA@
CONST	SEGMENT
??_C@_0BK@NKAKCAFI@M00_No_Falling_Damage_DME?$AA@ DB 'M00_No_Falling_Dama'
	DB	'ge_DME', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_06BIJBOFNL@Origin?$AA@
CONST	SEGMENT
??_C@_06BIJBOFNL@Origin?$AA@ DB 'Origin', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@PJGKCEGJ@X5D_Parachute?$AA@
CONST	SEGMENT
??_C@_0O@PJGKCEGJ@X5D_Parachute?$AA@ DB 'X5D_Parachute', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
CONST	SEGMENT
??_C@_0BB@NHJNEILC@Invisible_Object?$AA@ DB 'Invisible_Object', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_04MLLLIHIP@null?$AA@
CONST	SEGMENT
??_C@_04MLLLIHIP@null?$AA@ DB 'null', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@JOBLEEOM@CnC_Beacon_IonCannon?$AA@
CONST	SEGMENT
??_C@_0BF@JOBLEEOM@CnC_Beacon_IonCannon?$AA@ DB 'CnC_Beacon_IonCannon', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
$T68440 = -24						; size = 12
$T68441 = -12						; size = 12
tv392 = 8						; size = 4
tv245 = 8						; size = 4
_obj$ = 8						; size = 4
?Created@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserver_Parachute::Created, COMDAT
; _this$ = ecx

; 1091 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi

; 1092 : 	if (obj->As_SoldierGameObj() && obj->As_SoldierGameObj()->Player)

	mov	esi, DWORD PTR _obj$[esp+28]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ebp, ecx
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	$LN3@Created@2
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	$LN3@Created@2

; 1093 : 	{
; 1094 : 		if (obj->As_SoldierGameObj()->Vehicle)

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2444], 0
	je	SHORT $LN6@Created@2

; 1095 : 			nc_TransitionManager::Check(obj->As_SoldierGameObj(), true);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	push	1
	mov	ecx, esi
	call	edx
	push	eax
	call	?Check@nc_TransitionManager@@SAXPAVnc_SoldierGameObj@@_N@Z ; nc_TransitionManager::Check
	add	esp, 8
$LN6@Created@2:
	push	ebx
	push	edi

; 1096 : 		nc_ScriptableGameObj *floater = nc_ObjectLibraryManager::Create_Object("CnC_Beacon_IonCannon");

	push	OFFSET ??_C@_0BF@JOBLEEOM@CnC_Beacon_IonCannon?$AA@
	call	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z ; nc_ObjectLibraryManager::Create_Object
	mov	edi, eax

; 1097 : 		floater->As_DamageableGameObj()->Set_Player_Type(-4);

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+60]
	add	esp, 4
	mov	ecx, edi
	call	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+108]
	push	-4					; fffffffcH
	call	eax

; 1098 : 		floater->As_PhysicalGameObj()->Physics->Set_Model_By_Name("null");

	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+36]
	push	OFFSET ??_C@_04MLLLIHIP@null?$AA@
	mov	ecx, edi
	call	eax
	mov	ecx, DWORD PTR [eax+1908]
	call	?Set_Model_By_Name@nc_PhysClass@@QAEXPBD@Z ; nc_PhysClass::Set_Model_By_Name

; 1099 : 		floater->As_PhysicalGameObj()->Set_Position(gzCommands->Get_Position(obj));

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+64]
	lea	ecx, DWORD PTR $T68441[esp+40]
	push	esi
	push	ecx
	call	eax
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T68440[esp+48], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR $T68440[esp+52], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR [edi]
	add	esp, 8
	lea	ecx, DWORD PTR $T68440[esp+40]
	mov	DWORD PTR $T68440[esp+48], eax
	mov	eax, DWORD PTR [edx+36]
	push	ecx
	mov	ecx, edi
	call	eax
	mov	ecx, eax
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position

; 1100 : 
; 1101 : 		// Only the player who deploy the parachute will able to see the bound object
; 1102 : 		floater->Set_Object_Dirty_Bit(nc_DB_CREATION, false);

	mov	edx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [edx+56]
	lea	ebx, DWORD PTR [edi+8]
	push	0
	push	15					; 0000000fH
	mov	ecx, ebx
	call	eax

; 1103 : 		floater->Set_Object_Dirty_Bit(obj->As_SoldierGameObj()->Player->PlayerId, nc_DB_CREATION, true);

	mov	ecx, DWORD PTR [ebx]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	push	1
	mov	DWORD PTR tv392[esp+40], ecx
	push	15					; 0000000fH
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1884]
	mov	eax, DWORD PTR tv392[esp+44]
	push	edx
	mov	edx, DWORD PTR [eax+52]
	mov	ecx, ebx
	call	edx

; 1104 : 
; 1105 : 		nc_ScriptableGameObj *para = nc_ObjectLibraryManager::Create_Object("Invisible_Object");

	push	OFFSET ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
	call	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z ; nc_ObjectLibraryManager::Create_Object
	mov	ebx, eax

; 1106 : 		para->As_PhysicalGameObj()->Physics->Set_Model_By_Name("X5D_Parachute");

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+36]
	add	esp, 4
	push	OFFSET ??_C@_0O@PJGKCEGJ@X5D_Parachute?$AA@
	mov	ecx, ebx
	call	edx
	mov	ecx, DWORD PTR [eax+1908]
	call	?Set_Model_By_Name@nc_PhysClass@@QAEXPBD@Z ; nc_PhysClass::Set_Model_By_Name

; 1107 : 		gzCommands->Set_Facing(para, gzCommands->Get_Facing(obj));

	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [eax+72]
	lea	ecx, DWORD PTR [eax+76]
	mov	DWORD PTR tv245[esp+36], ecx
	push	esi
	call	edx
	fstp	DWORD PTR [esp]
	mov	eax, DWORD PTR tv245[esp+40]
	mov	ecx, DWORD PTR [eax]
	push	ebx
	call	ecx

; 1108 : 		gzCommands->Disable_All_Collisions(para);

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+80]
	push	ebx
	call	eax

; 1109 : 
; 1110 : 		obj->As_PhysicalGameObj()->Attach_To_Object_Bone(floater->As_PhysicalGameObj(), "Origin");

	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+36]
	add	esp, 12					; 0000000cH
	push	OFFSET ??_C@_06BIJBOFNL@Origin?$AA@
	mov	ecx, edi
	call	eax
	mov	edx, DWORD PTR [esi]
	push	eax
	mov	eax, DWORD PTR [edx+36]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	call	?Attach_To_Object_Bone@nc_PhysicalGameObj@@QAEXPAV1@PBD@Z ; nc_PhysicalGameObj::Attach_To_Object_Bone

; 1111 : 		para->As_PhysicalGameObj()->Attach_To_Object_Bone(obj->As_PhysicalGameObj(), "Origin");

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+36]
	push	OFFSET ??_C@_06BIJBOFNL@Origin?$AA@
	mov	ecx, esi
	call	eax
	mov	edx, DWORD PTR [ebx]
	push	eax
	mov	eax, DWORD PTR [edx+36]
	mov	ecx, ebx
	call	eax
	mov	ecx, eax
	call	?Attach_To_Object_Bone@nc_PhysicalGameObj@@QAEXPAV1@PBD@Z ; nc_PhysicalGameObj::Attach_To_Object_Bone

; 1112 : 		obj->Add_Observer(nc_ScriptManager::Create_Script("M00_No_Falling_Damage_DME"));

	push	OFFSET ??_C@_0BK@NKAKCAFI@M00_No_Falling_Damage_DME?$AA@
	call	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z ; nc_ScriptManager::Create_Script
	add	esp, 4
	push	eax
	mov	ecx, esi
	call	?Add_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z ; nc_ScriptableGameObj::Add_Observer

; 1113 : 
; 1114 : 		this->m_floaterId   = floater->NetworkID;

	mov	ecx, DWORD PTR [edi+12]
	mov	DWORD PTR [ebp+28], ecx

; 1115 : 		this->m_parachuteId = para->NetworkID;

	mov	edx, DWORD PTR [ebx+12]
	mov	DWORD PTR [ebp+32], edx

; 1116 : 		obj->Get_Position(&this->m_floaterPos);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+56]
	lea	ecx, DWORD PTR [ebp+36]
	push	ecx
	mov	ecx, esi
	call	edx

; 1117 : 		this->m_floaterPos.Z += 0.02f;

	fld	DWORD PTR [ebp+44]
	fadd	DWORD PTR __real@3ca3d70a

; 1118 : 
; 1119 : 		this->Timer_Expired(obj, 1);

	mov	eax, DWORD PTR [ebp]
	mov	edx, DWORD PTR [eax+48]
	push	1
	push	esi
	fstp	DWORD PTR [ebp+44]
	mov	ecx, ebp
	call	edx
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 1123 : }

	add	esp, 24					; 00000018H
	ret	4
$LN3@Created@2:

; 1120 : 	}
; 1121 : 	else
; 1122 : 		this->Destroy_Script();

	mov	ecx, ebp
	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
	pop	esi
	pop	ebp

; 1123 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserver_Parachute::Created
_TEXT	ENDS
PUBLIC	?Destroyed@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserver_Parachute::Destroyed
; Function compile flags: /Ogtpy
;	COMDAT ?Destroyed@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Destroyed@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserver_Parachute::Destroyed, COMDAT
; _this$ = ecx

; 1126 : 	this->Timer_Expired(obj, 2);

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR _obj$[esp-4]
	mov	eax, DWORD PTR [eax+48]
	push	2
	push	edx
	call	eax

; 1127 : }

	ret	4
?Destroyed@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserver_Parachute::Destroyed
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserver_Parachute>::~nc_ScriptRegistrant<gzObserver_Parachute>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserver_Parachute>::~nc_ScriptRegistrant<gzObserver_Parachute>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserver_Parachute>::~nc_ScriptRegistrant<gzObserver_Parachute>
_TEXT	ENDS
PUBLIC	?Created@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserver_Nod_Obelisk::Created
; Function compile flags: /Ogtpy
;	COMDAT ?Created@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserver_Nod_Obelisk::Created, COMDAT
; _this$ = ecx

; 1175 : 	this->m_currTarget = 0;

	mov	DWORD PTR [ecx+28], 0

; 1176 : }

	ret	4
?Created@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserver_Nod_Obelisk::Created
_TEXT	ENDS
PUBLIC	__real@3dcccccd
PUBLIC	?Enemy_Seen@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzObserver_Nod_Obelisk::Enemy_Seen
;	COMDAT __real@3dcccccd
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
__real@3dcccccd DD 03dcccccdr			; 0.1
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
CONST	ENDS
;	COMDAT ?Enemy_Seen@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzObserver_Nod_Obelisk::Enemy_Seen, COMDAT
; _this$ = ecx

; 1178 : {

	push	esi
	mov	esi, ecx

; 1179 : 	if (this->m_currTarget == 0)

	cmp	DWORD PTR [esi+28], 0
	jne	SHORT $LN1@Enemy_Seen

; 1180 : 	{
; 1181 : 		this->m_currTarget = seen->NetworkID;

	mov	eax, DWORD PTR _seen$[esp]

; 1182 : 		obj->Start_Observer_Timer(this->GetID(), 0.1f, 1);

	fld	DWORD PTR __real@3dcccccd
	mov	ecx, DWORD PTR [eax+12]
	mov	edx, DWORD PTR [esi+4]
	push	edi
	mov	edi, DWORD PTR _obj$[esp+4]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	DWORD PTR [esi+28], ecx
	push	edx
	mov	ecx, edi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer

; 1183 : 		obj->Start_Observer_Timer(this->GetID(), 3.0f, 2);

	fld	DWORD PTR __real@40400000
	mov	eax, DWORD PTR [esi+4]
	push	2
	push	ecx
	fstp	DWORD PTR [esp]
	push	eax
	mov	ecx, edi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi
$LN1@Enemy_Seen:
	pop	esi

; 1184 : 	}
; 1185 : }

	ret	8
?Enemy_Seen@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzObserver_Nod_Obelisk::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzObserver_Nod_Obelisk::Timer_Expired
EXTRN	?Is_Object_Visible@nc_SmartGameObj@@QAE_NPAVnc_PhysicalGameObj@@@Z:PROC ; nc_SmartGameObj::Is_Object_Visible
EXTRN	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z:PROC ; nc_GameObjManager::Find_SmartGameObj
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzObserver_Nod_Obelisk::Timer_Expired, COMDAT
; _this$ = ecx

; 1188 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	push	esi
	mov	esi, ecx
	jne	SHORT $LN3@Timer_Expi@4

; 1189 : 	{
; 1190 : 		nc_SmartGameObj *target = nc_GameObjManager::Find_SmartGameObj(this->m_currTarget);

	mov	eax, DWORD PTR [esi+28]
	push	eax
	call	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z ; nc_GameObjManager::Find_SmartGameObj
	add	esp, 4

; 1191 : 		if (target)

	test	eax, eax
	je	SHORT $LN3@Timer_Expi@4
	push	edi

; 1192 : 		{
; 1193 : 			if (obj->As_SmartGameObj()->Is_Object_Visible(target))

	mov	edi, DWORD PTR _obj$[esp+4]
	mov	edx, DWORD PTR [edi]
	push	eax
	mov	eax, DWORD PTR [edx+44]
	mov	ecx, edi
	call	eax
	mov	ecx, eax
	call	?Is_Object_Visible@nc_SmartGameObj@@QAE_NPAVnc_PhysicalGameObj@@@Z ; nc_SmartGameObj::Is_Object_Visible
	test	al, al
	je	SHORT $LN4@Timer_Expi@4

; 1194 : 				obj->Start_Observer_Timer(this->GetID(), 0.1f, 1);

	fld	DWORD PTR __real@3dcccccd
	push	1
	push	ecx
	mov	ecx, DWORD PTR [esi+4]
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, edi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi
	pop	esi

; 1198 : 			}
; 1199 : 		}
; 1200 : 	}
; 1201 : 
; 1202 : 	// Charged
; 1203 : 	else if (number == 2)
; 1204 : 	{
; 1205 : 	}
; 1206 : }

	ret	8
$LN4@Timer_Expi@4:

; 1195 : 			else
; 1196 : 			{
; 1197 : 				this->m_currTarget = 0;

	mov	DWORD PTR [esi+28], 0
	pop	edi
$LN3@Timer_Expi@4:
	pop	esi

; 1198 : 			}
; 1199 : 		}
; 1200 : 	}
; 1201 : 
; 1202 : 	// Charged
; 1203 : 	else if (number == 2)
; 1204 : 	{
; 1205 : 	}
; 1206 : }

	ret	8
?Timer_Expired@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzObserver_Nod_Obelisk::Timer_Expired
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserver_Nod_Obelisk>::~nc_ScriptRegistrant<gzObserver_Nod_Obelisk>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserver_Nod_Obelisk>::~nc_ScriptRegistrant<gzObserver_Nod_Obelisk>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserver_Nod_Obelisk>::~nc_ScriptRegistrant<gzObserver_Nod_Obelisk>
_TEXT	ENDS
PUBLIC	??_7BuildingsInfoConsoleFunction@@6B@		; BuildingsInfoConsoleFunction::`vftable'
PUBLIC	??0BuildingsInfoConsoleFunction@@QAE@XZ		; BuildingsInfoConsoleFunction::BuildingsInfoConsoleFunction
PUBLIC	??_R4BuildingsInfoConsoleFunction@@6B@		; BuildingsInfoConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVBuildingsInfoConsoleFunction@@@8	; BuildingsInfoConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3BuildingsInfoConsoleFunction@@8		; BuildingsInfoConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2BuildingsInfoConsoleFunction@@8		; BuildingsInfoConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@BuildingsInfoConsoleFunction@@8	; BuildingsInfoConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@gzConsoleCommand@@8		; gzConsoleCommand::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVgzConsoleCommand@@@8			; gzConsoleCommand `RTTI Type Descriptor'
PUBLIC	??_R3gzConsoleCommand@@8			; gzConsoleCommand::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzConsoleCommand@@8			; gzConsoleCommand::`RTTI Base Class Array'
PUBLIC	?Get_Name@BuildingsInfoConsoleFunction@@UAEPADXZ ; BuildingsInfoConsoleFunction::Get_Name
PUBLIC	?Get_Alias@BuildingsInfoConsoleFunction@@UAEPADXZ ; BuildingsInfoConsoleFunction::Get_Alias
PUBLIC	?Get_Help@BuildingsInfoConsoleFunction@@UAEPADXZ ; BuildingsInfoConsoleFunction::Get_Help
PUBLIC	?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z ; BuildingsInfoConsoleFunction::Activate
EXTRN	??0gzConsoleCommand@@QAE@XZ:PROC		; gzConsoleCommand::gzConsoleCommand
;	COMDAT ??_R2gzConsoleCommand@@8
rdata$r	SEGMENT
??_R2gzConsoleCommand@@8 DD FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8 ; gzConsoleCommand::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzConsoleCommand@@8
rdata$r	SEGMENT
??_R3gzConsoleCommand@@8 DD 00H				; gzConsoleCommand::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzConsoleCommand@@@8
_DATA	SEGMENT
??_R0?AVgzConsoleCommand@@@8 DD FLAT:??_7type_info@@6B@	; gzConsoleCommand `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzConsoleCommand@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzConsoleCommand@@8 DD FLAT:??_R0?AVgzConsoleCommand@@@8 ; gzConsoleCommand::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@BuildingsInfoConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@BuildingsInfoConsoleFunction@@8 DD FLAT:??_R0?AVBuildingsInfoConsoleFunction@@@8 ; BuildingsInfoConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3BuildingsInfoConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2BuildingsInfoConsoleFunction@@8
rdata$r	SEGMENT
??_R2BuildingsInfoConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@BuildingsInfoConsoleFunction@@8 ; BuildingsInfoConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3BuildingsInfoConsoleFunction@@8
rdata$r	SEGMENT
??_R3BuildingsInfoConsoleFunction@@8 DD 00H		; BuildingsInfoConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2BuildingsInfoConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVBuildingsInfoConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVBuildingsInfoConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; BuildingsInfoConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVBuildingsInfoConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4BuildingsInfoConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4BuildingsInfoConsoleFunction@@6B@ DD 00H		; BuildingsInfoConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVBuildingsInfoConsoleFunction@@@8
	DD	FLAT:??_R3BuildingsInfoConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7BuildingsInfoConsoleFunction@@6B@
CONST	SEGMENT
??_7BuildingsInfoConsoleFunction@@6B@ DD FLAT:??_R4BuildingsInfoConsoleFunction@@6B@ ; BuildingsInfoConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@BuildingsInfoConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@BuildingsInfoConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@BuildingsInfoConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0BuildingsInfoConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0BuildingsInfoConsoleFunction@@QAE@XZ PROC		; BuildingsInfoConsoleFunction::BuildingsInfoConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7BuildingsInfoConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0BuildingsInfoConsoleFunction@@QAE@XZ ENDP		; BuildingsInfoConsoleFunction::BuildingsInfoConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_0N@CDDIFKFL@buildinginfo?$AA@		; `string'
;	COMDAT ??_C@_0N@CDDIFKFL@buildinginfo?$AA@
CONST	SEGMENT
??_C@_0N@CDDIFKFL@buildinginfo?$AA@ DB 'buildinginfo', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@BuildingsInfoConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@BuildingsInfoConsoleFunction@@UAEPADXZ PROC	; BuildingsInfoConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1479 : 		return "buildinginfo";

	mov	eax, OFFSET ??_C@_0N@CDDIFKFL@buildinginfo?$AA@

; 1480 : 	}

	ret	0
?Get_Name@BuildingsInfoConsoleFunction@@UAEPADXZ ENDP	; BuildingsInfoConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_02PPNCOJEN@bi?$AA@			; `string'
;	COMDAT ??_C@_02PPNCOJEN@bi?$AA@
CONST	SEGMENT
??_C@_02PPNCOJEN@bi?$AA@ DB 'bi', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Alias@BuildingsInfoConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Alias@BuildingsInfoConsoleFunction@@UAEPADXZ PROC	; BuildingsInfoConsoleFunction::Get_Alias, COMDAT
; _this$ = ecx

; 1483 : 		return "bi";

	mov	eax, OFFSET ??_C@_02PPNCOJEN@bi?$AA@

; 1484 : 	}

	ret	0
?Get_Alias@BuildingsInfoConsoleFunction@@UAEPADXZ ENDP	; BuildingsInfoConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0DK@LIOOJNFH@BUILDINGINFO?5?9?5Shows?5the?5health?5@ ; `string'
;	COMDAT ??_C@_0DK@LIOOJNFH@BUILDINGINFO?5?9?5Shows?5the?5health?5@
CONST	SEGMENT
??_C@_0DK@LIOOJNFH@BUILDINGINFO?5?9?5Shows?5the?5health?5@ DB 'BUILDINGIN'
	DB	'FO - Shows the health of all GDI/Nod buildings.', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@BuildingsInfoConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@BuildingsInfoConsoleFunction@@UAEPADXZ PROC	; BuildingsInfoConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1487 : 		return "BUILDINGINFO - Shows the health of all GDI/Nod buildings.";

	mov	eax, OFFSET ??_C@_0DK@LIOOJNFH@BUILDINGINFO?5?9?5Shows?5the?5health?5@

; 1488 : 	}

	ret	0
?Get_Help@BuildingsInfoConsoleFunction@@UAEPADXZ ENDP	; BuildingsInfoConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_C@_03BPHAJCPF@_BI?$AA@			; `string'
PUBLIC	??_C@_03NJNOMAJF@?5?4?5?$AA@			; `string'
PUBLIC	??_C@_07GKCALKFE@?50?50?5?4?5?$AA@		; `string'
EXTRN	??_M@YGXPAXIHP6EX0@Z@Z:PROC			; `eh vector destructor iterator'
EXTRN	?Resize@aStringBase@@QAEXI@Z:PROC		; aStringBase::Resize
EXTRN	?GetLength@aStringBase@@QBEIXZ:PROC		; aStringBase::GetLength
EXTRN	??0aString@@QAE@D@Z:PROC			; aString::aString
EXTRN	??YaString@@QAEAAV0@ABV0@@Z:PROC		; aString::operator+=
EXTRN	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z:PROC ; gzTranslateManager::Get
EXTRN	?BuildingGameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BuildingGameObj@@@@A:DWORD ; nc_GameObjManager::BuildingGameObjList
EXTRN	??_L@YGXPAXIHP6EX0@Z1@Z:PROC			; `eh vector constructor iterator'
EXTRN	??0aString@@QAE@XZ:PROC				; aString::aString
;	COMDAT ??_C@_03BPHAJCPF@_BI?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_03BPHAJCPF@_BI?$AA@ DB '_BI', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03NJNOMAJF@?5?4?5?$AA@
CONST	SEGMENT
??_C@_03NJNOMAJF@?5?4?5?$AA@ DB ' . ', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07GKCALKFE@?50?50?5?4?5?$AA@
CONST	SEGMENT
??_C@_07GKCALKFE@?50?50?5?4?5?$AA@ DB ' 0 0 . ', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	08H
	DD	FLAT:__unwindtable$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$2
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$3
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$4
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$5
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$6
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$7
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
tv328 = -92						; size = 4
tv326 = -92						; size = 4
$T68497 = -88						; size = 8
$T68498 = -80						; size = 8
$T68499 = -72						; size = 8
$T68500 = -64						; size = 8
$T68501 = -56						; size = 8
$T68502 = -48						; size = 8
$T68503 = -40						; size = 8
_msg$ = -32						; size = 16
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z PROC	; BuildingsInfoConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1490 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 84					; 00000054H
	push	ebx
	push	ebp
	push	esi
	push	edi

; 1491 : 		aString msg[2];

	push	OFFSET ??1aString@@UAE@XZ
	push	OFFSET ??0aString@@QAE@XZ		; aString::aString
	push	2
	push	8
	lea	eax, DWORD PTR _msg$[esp+128]
	push	eax
	call	??_L@YGXPAXIHP6EX0@Z1@Z

; 1492 : 		for (nc_GenericSLNode<nc_BuildingGameObj> *bList = nc_GameObjManager::BuildingGameObjList->HeadNode; bList != NULL; bList = bList->NodeNext)

	mov	ecx, DWORD PTR ?BuildingGameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BuildingGameObj@@@@A ; nc_GameObjManager::BuildingGameObjList
	mov	esi, DWORD PTR [ecx+4]
	xor	ebx, ebx
	cmp	esi, ebx
	mov	DWORD PTR __$EHRec$[esp+120], ebx
	je	$LN3@Activate
$LL5@Activate:

; 1493 : 		{
; 1494 : 			msg[bList->NodeData->PlayerType] += gzTranslator->Get(bList->NodeData);

	mov	edx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	edx
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	lea	ecx, DWORD PTR $T68497[esp+116]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [ecx+1892]
	lea	eax, DWORD PTR $T68497[esp+112]
	push	eax
	lea	ecx, DWORD PTR _msg$[esp+ecx*8+116]
	mov	BYTE PTR __$EHRec$[esp+124], 1
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T68497[esp+112]
	mov	BYTE PTR __$EHRec$[esp+120], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1495 : 			msg[bList->NodeData->PlayerType] += ' ';

	push	32					; 00000020H
	lea	ecx, DWORD PTR $T68498[esp+116]
	call	??0aString@@QAE@D@Z			; aString::aString
	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+1892]
	lea	edx, DWORD PTR $T68498[esp+112]
	push	edx
	lea	ecx, DWORD PTR _msg$[esp+ecx*8+116]
	mov	BYTE PTR __$EHRec$[esp+124], 2
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T68498[esp+112]
	mov	BYTE PTR __$EHRec$[esp+120], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1496 : 			if (bList->NodeData->Destroyed)

	mov	eax, DWORD PTR [esi+4]
	cmp	BYTE PTR [eax+1912], bl
	je	SHORT $LN2@Activate

; 1497 : 				msg[bList->NodeData->PlayerType] += " 0 0 . ";

	push	OFFSET ??_C@_07GKCALKFE@?50?50?5?4?5?$AA@
	lea	ecx, DWORD PTR $T68499[esp+116]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	edx, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR $T68499[esp+112]
	push	ecx
	mov	ecx, DWORD PTR [edx+1892]
	lea	ecx, DWORD PTR _msg$[esp+ecx*8+116]
	mov	BYTE PTR __$EHRec$[esp+124], 3
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T68499[esp+112]

; 1498 : 			else

	jmp	$LN52@Activate
$LN2@Activate:

; 1499 : 			{
; 1500 : 				int health = (int)(bList->NodeData->Defense.Health.Get() + bList->NodeData->Defense.ShieldStrength.Get());

	lea	ecx, DWORD PTR [eax+1852]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv328[esp+112]
	mov	ecx, DWORD PTR [esi+4]
	add	ecx, 1840				; 00000730H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv328[esp+112]
	call	__ftol2_sse

; 1501 : 				int maxHealth = (int)(bList->NodeData->Defense.HealthMax.Get() + bList->NodeData->Defense.ShieldStrengthMax.Get());

	mov	ecx, DWORD PTR [esi+4]
	add	ecx, 1856				; 00000740H
	mov	edi, eax
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv326[esp+112]
	mov	ecx, DWORD PTR [esi+4]
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv326[esp+112]
	call	__ftol2_sse

; 1502 : 				msg[bList->NodeData->PlayerType] += health;

	push	edi
	lea	ecx, DWORD PTR $T68500[esp+116]
	mov	ebp, eax
	call	??0aString@@QAE@H@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [ecx+1892]
	lea	eax, DWORD PTR $T68500[esp+112]
	push	eax
	lea	ecx, DWORD PTR _msg$[esp+ecx*8+116]
	mov	BYTE PTR __$EHRec$[esp+124], 4
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T68500[esp+112]
	mov	BYTE PTR __$EHRec$[esp+120], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1503 : 				msg[bList->NodeData->PlayerType] += ' ';

	push	32					; 00000020H
	lea	ecx, DWORD PTR $T68501[esp+116]
	call	??0aString@@QAE@D@Z			; aString::aString
	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+1892]
	lea	edx, DWORD PTR $T68501[esp+112]
	push	edx
	lea	ecx, DWORD PTR _msg$[esp+ecx*8+116]
	mov	BYTE PTR __$EHRec$[esp+124], 5
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T68501[esp+112]
	mov	BYTE PTR __$EHRec$[esp+120], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1504 : 				msg[bList->NodeData->PlayerType] += maxHealth;

	push	ebp
	lea	ecx, DWORD PTR $T68502[esp+116]
	call	??0aString@@QAE@H@Z			; aString::aString
	mov	edx, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR $T68502[esp+112]
	push	ecx
	mov	ecx, DWORD PTR [edx+1892]
	lea	ecx, DWORD PTR _msg$[esp+ecx*8+116]
	mov	BYTE PTR __$EHRec$[esp+124], 6
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T68502[esp+112]
	mov	BYTE PTR __$EHRec$[esp+120], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1505 : 				msg[bList->NodeData->PlayerType] += " . ";

	push	OFFSET ??_C@_03NJNOMAJF@?5?4?5?$AA@
	lea	ecx, DWORD PTR $T68503[esp+116]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [ecx+1892]
	lea	eax, DWORD PTR $T68503[esp+112]
	push	eax
	lea	ecx, DWORD PTR _msg$[esp+ecx*8+116]
	mov	BYTE PTR __$EHRec$[esp+124], 7
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T68503[esp+112]
$LN52@Activate:
	mov	BYTE PTR __$EHRec$[esp+120], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	esi, DWORD PTR [esi]
	cmp	esi, ebx
	jne	$LL5@Activate
$LN3@Activate:

; 1506 : 			}
; 1507 : 		}
; 1508 : 		msg[0].Resize(msg[0].GetLength() - 3);

	lea	ecx, DWORD PTR _msg$[esp+112]
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	sub	eax, 3
	push	eax
	lea	ecx, DWORD PTR _msg$[esp+116]
	call	?Resize@aStringBase@@QAEXI@Z		; aStringBase::Resize

; 1509 : 		msg[1].Resize(msg[1].GetLength() - 3);

	lea	ecx, DWORD PTR _msg$[esp+120]
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	sub	eax, 3
	push	eax
	lea	ecx, DWORD PTR _msg$[esp+124]
	call	?Resize@aStringBase@@QAEXI@Z		; aStringBase::Resize

; 1510 : 		gzLogger("_BI", msg[1].GetString());

	mov	eax, DWORD PTR _msg$[esp+124]
	cmp	eax, ebx
	je	SHORT $LN39@Activate
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN40@Activate
$LN39@Activate:
	xor	eax, eax
$LN40@Activate:
	push	eax
	push	OFFSET ??_C@_03BPHAJCPF@_BI?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger

; 1511 : 		gzLogger("_BI", msg[0].GetString());

	mov	eax, DWORD PTR _msg$[esp+124]
	add	esp, 8
	cmp	eax, ebx
	je	SHORT $LN45@Activate
	mov	ebx, DWORD PTR [eax]
$LN45@Activate:
	push	ebx
	push	OFFSET ??_C@_03BPHAJCPF@_BI?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 8

; 1512 : 	}

	push	OFFSET ??1aString@@UAE@XZ
	push	2
	push	8
	lea	edx, DWORD PTR _msg$[esp+124]
	push	edx
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??_M@YGXPAXIHP6EX0@Z@Z
	mov	ecx, DWORD PTR __$EHRec$[esp+112]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	pop	ebp
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$0:
	push	OFFSET ??1aString@@UAE@XZ
	push	2
	push	8
	lea	eax, DWORD PTR _msg$[ebp]
	push	eax
	call	??_M@YGXPAXIHP6EX0@Z@Z
	ret	0
__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR $T68497[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T68498[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T68499[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$4:
	lea	ecx, DWORD PTR $T68500[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$5:
	lea	ecx, DWORD PTR $T68501[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$6:
	lea	ecx, DWORD PTR $T68502[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z$7:
	lea	ecx, DWORD PTR $T68503[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@BuildingsInfoConsoleFunction@@UAEXPAD@Z ENDP	; BuildingsInfoConsoleFunction::Activate
PUBLIC	??_7PlayerLimitConsoleFunction@@6B@		; PlayerLimitConsoleFunction::`vftable'
PUBLIC	??0PlayerLimitConsoleFunction@@QAE@XZ		; PlayerLimitConsoleFunction::PlayerLimitConsoleFunction
PUBLIC	??_R4PlayerLimitConsoleFunction@@6B@		; PlayerLimitConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVPlayerLimitConsoleFunction@@@8		; PlayerLimitConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3PlayerLimitConsoleFunction@@8		; PlayerLimitConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2PlayerLimitConsoleFunction@@8		; PlayerLimitConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@PlayerLimitConsoleFunction@@8	; PlayerLimitConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@PlayerLimitConsoleFunction@@UAEPADXZ	; PlayerLimitConsoleFunction::Get_Name
PUBLIC	?Get_Alias@gzConsoleCommand@@UAEPADXZ		; gzConsoleCommand::Get_Alias
PUBLIC	?Get_Help@PlayerLimitConsoleFunction@@UAEPADXZ	; PlayerLimitConsoleFunction::Get_Help
PUBLIC	?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z	; PlayerLimitConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@PlayerLimitConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@PlayerLimitConsoleFunction@@8 DD FLAT:??_R0?AVPlayerLimitConsoleFunction@@@8 ; PlayerLimitConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3PlayerLimitConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2PlayerLimitConsoleFunction@@8
rdata$r	SEGMENT
??_R2PlayerLimitConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@PlayerLimitConsoleFunction@@8 ; PlayerLimitConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3PlayerLimitConsoleFunction@@8
rdata$r	SEGMENT
??_R3PlayerLimitConsoleFunction@@8 DD 00H		; PlayerLimitConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2PlayerLimitConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVPlayerLimitConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVPlayerLimitConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; PlayerLimitConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVPlayerLimitConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4PlayerLimitConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4PlayerLimitConsoleFunction@@6B@ DD 00H		; PlayerLimitConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVPlayerLimitConsoleFunction@@@8
	DD	FLAT:??_R3PlayerLimitConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7PlayerLimitConsoleFunction@@6B@
CONST	SEGMENT
??_7PlayerLimitConsoleFunction@@6B@ DD FLAT:??_R4PlayerLimitConsoleFunction@@6B@ ; PlayerLimitConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@PlayerLimitConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@PlayerLimitConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0PlayerLimitConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0PlayerLimitConsoleFunction@@QAE@XZ PROC		; PlayerLimitConsoleFunction::PlayerLimitConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7PlayerLimitConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0PlayerLimitConsoleFunction@@QAE@XZ ENDP		; PlayerLimitConsoleFunction::PlayerLimitConsoleFunction
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stconsolecommands.h
_TEXT	ENDS
;	COMDAT ?Get_Alias@gzConsoleCommand@@UAEPADXZ
_TEXT	SEGMENT
?Get_Alias@gzConsoleCommand@@UAEPADXZ PROC		; gzConsoleCommand::Get_Alias, COMDAT
; _this$ = ecx

; 8    : 		return 0;

	xor	eax, eax

; 9    : 	}

	ret	0
?Get_Alias@gzConsoleCommand@@UAEPADXZ ENDP		; gzConsoleCommand::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_06KAPGEJDE@plimit?$AA@			; `string'
;	COMDAT ??_C@_06KAPGEJDE@plimit?$AA@
; File d:\source code\stgm\stgame.cpp
CONST	SEGMENT
??_C@_06KAPGEJDE@plimit?$AA@ DB 'plimit', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@PlayerLimitConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@PlayerLimitConsoleFunction@@UAEPADXZ PROC	; PlayerLimitConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1520 : 		return "plimit";

	mov	eax, OFFSET ??_C@_06KAPGEJDE@plimit?$AA@

; 1521 : 	}

	ret	0
?Get_Name@PlayerLimitConsoleFunction@@UAEPADXZ ENDP	; PlayerLimitConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0CL@OEDKEHGP@PLIMIT?5?$FL0?9127?$FN?5?9?5Set?5the?5max?5pla@ ; `string'
;	COMDAT ??_C@_0CL@OEDKEHGP@PLIMIT?5?$FL0?9127?$FN?5?9?5Set?5the?5max?5pla@
CONST	SEGMENT
??_C@_0CL@OEDKEHGP@PLIMIT?5?$FL0?9127?$FN?5?9?5Set?5the?5max?5pla@ DB 'PL'
	DB	'IMIT [0-127] - Set the max player count.', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@PlayerLimitConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@PlayerLimitConsoleFunction@@UAEPADXZ PROC	; PlayerLimitConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1524 : 		return "PLIMIT [0-127] - Set the max player count.";

	mov	eax, OFFSET ??_C@_0CL@OEDKEHGP@PLIMIT?5?$FL0?9127?$FN?5?9?5Set?5the?5max?5pla@

; 1525 : 	}

	ret	0
?Get_Help@PlayerLimitConsoleFunction@@UAEPADXZ ENDP	; PlayerLimitConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_C@_0CH@JAAGNKHH@Max?5players?5limit?5has?5been?5set?5t@ ; `string'
PUBLIC	??_C@_0BD@HJBLAHPA@Usage?3?5?$CFs?5?$FL0?9127?$FN?6?$AA@ ; `string'
EXTRN	??1aToken@@UAE@XZ:PROC				; aToken::~aToken
EXTRN	?Out@stConsole@@SAXPBDZZ:PROC			; stConsole::Out
EXTRN	?ToLong@aToken@@QAEJXZ:PROC			; aToken::ToLong
EXTRN	??0aToken@@QAE@ABVaString@@@Z:PROC		; aToken::aToken
;	COMDAT ??_C@_0CH@JAAGNKHH@Max?5players?5limit?5has?5been?5set?5t@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0CH@JAAGNKHH@Max?5players?5limit?5has?5been?5set?5t@ DB 'Max player'
	DB	's limit has been set to %u.', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@HJBLAHPA@Usage?3?5?$CFs?5?$FL0?9127?$FN?6?$AA@
CONST	SEGMENT
??_C@_0BD@HJBLAHPA@Usage?3?5?$CFs?5?$FL0?9127?$FN?6?$AA@ DB 'Usage: %s [0'
	DB	'-127]', 0aH, 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z$1
__ehfuncinfo$?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_str$ = -28						; size = 8
$T68592 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z PROC	; PlayerLimitConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1527 : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z
	push	eax

; 1528 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H
	cmp	BYTE PTR [eax], 0
	push	esi
	mov	esi, ecx
	je	SHORT $LN3@Activate@2

; 1529 : 			return;
; 1530 : 
; 1531 : 		aToken str(text);

	push	eax
	lea	ecx, DWORD PTR $T68592[esp+36]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T68592[esp+32]
	push	eax
	lea	ecx, DWORD PTR _str$[esp+36]
	mov	DWORD PTR __$EHRec$[esp+44], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T68592[esp+32]
	mov	BYTE PTR __$EHRec$[esp+40], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1532 : 		unsigned int max = str.ToLong();

	lea	ecx, DWORD PTR _str$[esp+32]
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong

; 1533 : 		if (max > 127)

	cmp	eax, 127				; 0000007fH
	jbe	SHORT $LN1@Activate@2

; 1534 : 		{
; 1535 : 			stConsole::Out("Usage: %s [0-127]\n", this->Get_Name());

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx]
	mov	ecx, esi
	call	eax
	push	eax
	push	OFFSET ??_C@_0BD@HJBLAHPA@Usage?3?5?$CFs?5?$FL0?9127?$FN?6?$AA@

; 1536 : 			return;

	jmp	SHORT $LN11@Activate@2
$LN1@Activate@2:

; 1537 : 		}
; 1538 : 		cGame->MaxPlayers = max;

	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [ecx]

; 1539 : 		stConsole::Out("Max players limit has been set to %u.\n", max);

	push	eax
	mov	DWORD PTR [edx+504], eax
	push	OFFSET ??_C@_0CH@JAAGNKHH@Max?5players?5limit?5has?5been?5set?5t@
$LN11@Activate@2:
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8

; 1540 : 	}

	lea	ecx, DWORD PTR _str$[esp+32]
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN3@Activate@2:
	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T68592[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _str$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@PlayerLimitConsoleFunction@@UAEXPAD@Z ENDP	; PlayerLimitConsoleFunction::Activate
PUBLIC	__TI2?AVbad_alloc@std@@
PUBLIC	??_C@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@ ; `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 (x86)\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@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@
CONST	SEGMENT
??_C@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@ DB 'C:\Pr'
	DB	'ogram Files (x86)\Microsoft Visual Studio 8\VC\include\xdebug'
	DB	00H						; `string'
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\xdebug
CONST	ENDS
;	COMDAT ?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z
_TEXT	SEGMENT
$T68609 = -12						; size = 12
_this$ = 8						; size = 4
$T68615 = 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@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@
	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 $T68615[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T68609[esp+20]
	mov	DWORD PTR $T68615[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T68609[esp+20]
	push	ecx
	mov	DWORD PTR $T68609[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
$T68621 = -12						; size = 12
$T68626 = 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@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@
	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 $T68626[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T68621[esp+20]
	mov	DWORD PTR $T68626[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T68621[esp+20]
	push	ecx
	mov	DWORD PTR $T68621[esp+24], OFFSET ??_7bad_alloc@std@@6B@
	call	__CxxThrowException@8
$LN9@allocate@2:
$LN8@allocate@2:
	int	3
?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z ENDP	; std::_DebugHeapAllocator<char>::allocate
_TEXT	ENDS
PUBLIC	??_7?$aVector@PAVaStringData@@@@6B@		; aVector<aStringData *>::`vftable'
PUBLIC	??0?$aVector@PAVaStringData@@@@QAE@XZ		; aVector<aStringData *>::aVector<aStringData *>
PUBLIC	??_R4?$aVector@PAVaStringData@@@@6B@		; aVector<aStringData *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@PAVaStringData@@@@@8		; aVector<aStringData *> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@PAVaStringData@@@@8		; aVector<aStringData *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@PAVaStringData@@@@8		; aVector<aStringData *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8	; aVector<aStringData *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@PAVaStringData@@@@UAEXXZ	; aVector<aStringData *>::Clear
PUBLIC	?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z	; aVector<aStringData *>::Resize
PUBLIC	?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z ; aVector<aStringData *>::Add
PUBLIC	?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z ; aVector<aStringData *>::Insert
PUBLIC	?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z	; aVector<aStringData *>::Delete
EXTRN	??_E?$aVector@PAVaStringData@@@@UAEPAXI@Z:PROC	; aVector<aStringData *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8 DD FLAT:??_R0?AV?$aVector@PAVaStringData@@@@@8 ; aVector<aStringData *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@PAVaStringData@@@@8
rdata$r	SEGMENT
??_R2?$aVector@PAVaStringData@@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8 ; aVector<aStringData *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@PAVaStringData@@@@8
rdata$r	SEGMENT
??_R3?$aVector@PAVaStringData@@@@8 DD 00H		; aVector<aStringData *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@PAVaStringData@@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@PAVaStringData@@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<aStringData *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@PAVaStringData@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@PAVaStringData@@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@PAVaStringData@@@@6B@ DD 00H		; aVector<aStringData *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@PAVaStringData@@@@@8
	DD	FLAT:??_R3?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@PAVaStringData@@@@6B@
CONST	SEGMENT
??_7?$aVector@PAVaStringData@@@@6B@ DD FLAT:??_R4?$aVector@PAVaStringData@@@@6B@ ; aVector<aStringData *>::`vftable'
	DD	FLAT:??_E?$aVector@PAVaStringData@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@PAVaStringData@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@PAVaStringData@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@PAVaStringData@@@@QAE@XZ PROC		; aVector<aStringData *>::aVector<aStringData *>, COMDAT
; _this$ = ecx

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	mov	DWORD PTR [eax+4], ecx

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

	ret	0
??0?$aVector@PAVaStringData@@@@QAE@XZ ENDP		; aVector<aStringData *>::aVector<aStringData *>
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAVaStringData@@@@QBEIXZ	; aVector<aStringData *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAVaStringData@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAVaStringData@@@@QBEIXZ PROC		; aVector<aStringData *>::Count, COMDAT
; _this$ = ecx

; 65   : 	inline unsigned int Count() const { return this->m_items; };

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@PAVaStringData@@@@QBEIXZ ENDP		; aVector<aStringData *>::Count
_TEXT	ENDS
PUBLIC	??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@ ; `string'
;	COMDAT ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
CONST	SEGMENT
??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@ DB 'D:\Source '
	DB	'Code\aLib\include\aVector.h', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Clear@?$aVector@PAVaStringData@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@PAVaStringData@@@@UAEXXZ PROC		; aVector<aStringData *>::Clear, COMDAT
; _this$ = ecx

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 68   : 		if (this->m_vector != NULL)

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	je	SHORT $LN6@Clear

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

	mov	DWORD PTR [esi+4], edi
$LN6@Clear:

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

	ret	0
?Clear@?$aVector@PAVaStringData@@@@UAEXXZ ENDP		; aVector<aStringData *>::Clear
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z PROC	; aVector<aStringData *>::Resize, COMDAT
; _this$ = ecx

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 91   : 				if (this->m_vector != NULL)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN10@Resize

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [edi*4]
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN10@Resize:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z ENDP	; aVector<aStringData *>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z PROC ; aVector<aStringData *>::Add, COMDAT
; _this$ = ecx

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN1@Add

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [esi+12], 1
$LN1@Add:
	pop	esi

; 110  : 	}

	ret	4
?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z ENDP ; aVector<aStringData *>::Add
_TEXT	ENDS
EXTRN	_memmove:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z PROC ; aVector<aStringData *>::Insert, COMDAT
; _this$ = ecx

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

	mov	eax, DWORD PTR [esi+12]
	push	edi
	mov	edi, DWORD PTR _index$[esp+4]
	cmp	edi, eax
	jbe	SHORT $LN3@Insert

; 114  : 			this->Add(obj);

	mov	ecx, DWORD PTR _obj$[esp+4]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	push	ecx
	mov	ecx, esi
	call	edx
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert:

; 115  : 		else if (this->Resize(this->m_items + 1))

	mov	edx, DWORD PTR [esi]
	add	eax, 1
	push	eax
	mov	eax, DWORD PTR [edx+8]
	call	eax
	test	al, al
	je	SHORT $LN1@Insert

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, ecx
	add	ecx, 1
	sub	eax, edi
	mov	DWORD PTR [esi+12], ecx
	mov	ecx, DWORD PTR [esi+4]
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edi*4]
	push	eax
	push	ecx
	add	ecx, 4
	push	ecx
	call	_memmove

; 118  : 			this->m_vector[index] = obj;

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	edx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx
$LN1@Insert:
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

	ret	8
?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z ENDP ; aVector<aStringData *>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z PROC	; aVector<aStringData *>::Delete, COMDAT
; _this$ = ecx

; 123  : 		if (index >= this->m_items)

	mov	edx, DWORD PTR _index$[esp-4]
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+12]
	cmp	edx, eax
	jae	SHORT $LN2@Delete

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete

; 126  : 			this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	pop	esi

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*4]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+4]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete:

; 131  : 			this->Resize(this->m_items);

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	call	edx
$LN2@Delete:
	pop	esi

; 132  : 		}
; 133  : 	}

	ret	4
?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z ENDP	; aVector<aStringData *>::Delete
_TEXT	ENDS
PUBLIC	?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ	; aStringArrayBase<aString>::Clear
EXTRN	?DecRef@aStringData@@QAEXXZ:PROC		; aStringData::DecRef
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	COMDAT ?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ PROC	; aStringArrayBase<aString>::Clear, COMDAT
; _this$ = ecx

; 80   : 	{

	push	ebx
	push	esi
	push	edi
	mov	esi, ecx

; 81   : 		for (unsigned int i = 0; i < this->m_items; i++)

	xor	ebx, ebx
	xor	edi, edi
	cmp	DWORD PTR [esi+12], ebx
	jbe	SHORT $LN1@Clear@2
	npad	2
$LL3@Clear@2:

; 82   : 			this->m_vector[i]->DecRef();

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+edi*4]
	call	?DecRef@aStringData@@QAEXXZ		; aStringData::DecRef
	add	edi, 1
	cmp	edi, DWORD PTR [esi+12]
	jb	SHORT $LL3@Clear@2
$LN1@Clear@2:

; 83   : 		this->aVector<aStringData *>::Clear();

	cmp	DWORD PTR [esi+4], ebx
	je	SHORT $LN13@Clear@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+4]
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], ebx
$LN13@Clear@2:
	pop	edi
	mov	DWORD PTR [esi+12], ebx
	mov	DWORD PTR [esi+8], ebx
	pop	esi
	pop	ebx

; 84   : 	};

	ret	0
?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ ENDP	; aStringArrayBase<aString>::Clear
_TEXT	ENDS
PUBLIC	??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z ; aStringArrayBase<aString>::operator[]
EXTRN	?SetData@aStringBase@@QAEXPAVaStringData@@@Z:PROC ; aStringBase::SetData
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z$0
__ehfuncinfo$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z
_TEXT	SEGMENT
$T68681 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_pos$ = 12						; size = 4
??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z PROC ; aStringArrayBase<aString>::operator[], COMDAT
; _this$ = ecx

; 86   : 	{

	push	-1
	push	__ehhandler$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	DWORD PTR $T68681[esp+20], 0

; 87   : 		T ret;

	mov	esi, DWORD PTR ___$ReturnUdt$[esp+16]
	push	edi
	mov	edi, ecx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	call	??0aString@@QAE@XZ			; aString::aString

; 88   : 		ret.SetData(this->m_vector[pos]);
; 89   : 		return ret;

	mov	eax, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR _pos$[esp+20]
	mov	edx, DWORD PTR [eax+ecx*4]
	push	edx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR $T68681[esp+28], 1
	call	?SetData@aStringBase@@QAEXPAVaStringData@@@Z ; aStringBase::SetData

; 90   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z$0:
	mov	eax, DWORD PTR $T68681[ebp]
	and	eax, 1
	je	$LN4@operator@3
	and	DWORD PTR $T68681[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR ___$ReturnUdt$[ebp-4]
	jmp	??1aString@@UAE@XZ
$LN4@operator@3:
	ret	0
__ehhandler$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z:
	mov	eax, OFFSET __ehfuncinfo$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z ENDP ; aStringArrayBase<aString>::operator[]
PUBLIC	?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z ; aStringArrayBase<aString>::Add
EXTRN	?IncRef@aStringData@@QAEXXZ:PROC		; aStringData::IncRef
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z$0
__ehfuncinfo$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
_content$ = 8						; size = 8
?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z PROC ; aStringArrayBase<aString>::Add, COMDAT
; _this$ = ecx

; 92   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	push	esi
	push	edi
	mov	esi, ecx

; 93   : 		content.GetData()->IncRef();

	mov	ecx, DWORD PTR _content$[esp+20]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	?IncRef@aStringData@@QAEXXZ		; aStringData::IncRef

; 94   : 		this->aVector<aStringData *>::Add(content.GetData());

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	mov	edi, DWORD PTR _content$[esp+20]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN8@Add@2
	mov	eax, DWORD PTR [esi+12]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edi
	add	DWORD PTR [esi+12], 1
$LN8@Add@2:

; 95   : 	};

	lea	ecx, DWORD PTR _content$[esp+16]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	add	esp, 12					; 0000000cH
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z$0:
	lea	ecx, DWORD PTR _content$[ebp-4]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z ENDP ; aStringArrayBase<aString>::Add
PUBLIC	?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ ; aStringArrayBase<aWideString>::Clear
; Function compile flags: /Ogtpy
;	COMDAT ?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ PROC	; aStringArrayBase<aWideString>::Clear, COMDAT
; _this$ = ecx

; 80   : 	{

	push	ebx
	push	esi
	push	edi
	mov	esi, ecx

; 81   : 		for (unsigned int i = 0; i < this->m_items; i++)

	xor	ebx, ebx
	xor	edi, edi
	cmp	DWORD PTR [esi+12], ebx
	jbe	SHORT $LN1@Clear@3
	npad	2
$LL3@Clear@3:

; 82   : 			this->m_vector[i]->DecRef();

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+edi*4]
	call	?DecRef@aStringData@@QAEXXZ		; aStringData::DecRef
	add	edi, 1
	cmp	edi, DWORD PTR [esi+12]
	jb	SHORT $LL3@Clear@3
$LN1@Clear@3:

; 83   : 		this->aVector<aStringData *>::Clear();

	cmp	DWORD PTR [esi+4], ebx
	je	SHORT $LN13@Clear@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+4]
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], ebx
$LN13@Clear@3:
	pop	edi
	mov	DWORD PTR [esi+12], ebx
	mov	DWORD PTR [esi+8], ebx
	pop	esi
	pop	ebx

; 84   : 	};

	ret	0
?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ ENDP	; aStringArrayBase<aWideString>::Clear
_TEXT	ENDS
PUBLIC	?Add@?$nc_DynamicVectorClass@Vnc_StringClass@@@@QAE_NAAVnc_StringClass@@@Z ; nc_DynamicVectorClass<nc_StringClass>::Add
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_vector.h
;	COMDAT ?Add@?$nc_DynamicVectorClass@Vnc_StringClass@@@@QAE_NAAVnc_StringClass@@@Z
_TEXT	SEGMENT
_object$ = 8						; size = 4
?Add@?$nc_DynamicVectorClass@Vnc_StringClass@@@@QAE_NAAVnc_StringClass@@@Z PROC ; nc_DynamicVectorClass<nc_StringClass>::Add, COMDAT
; _this$ = ecx

; 396  : 	{

	push	esi
	mov	esi, ecx

; 397  : 		if (ActiveCount >= VectorMax)

	mov	ecx, DWORD PTR [esi+8]
	cmp	DWORD PTR [esi+16], ecx
	jl	SHORT $LN1@Add@3

; 398  : 		{
; 399  : 			if ((IsAllocated || !VectorMax) && (GrowthStep > 0))

	cmp	BYTE PTR [esi+13], 0
	jne	SHORT $LN3@Add@3
	test	ecx, ecx
	jne	SHORT $LN4@Add@3
$LN3@Add@3:
	mov	eax, DWORD PTR [esi+20]
	test	eax, eax
	jle	SHORT $LN4@Add@3

; 400  : 			{
; 401  : 				if (!Resize(GrowthStep + VectorMax,0))

	mov	edx, DWORD PTR [esi]
	add	eax, ecx
	push	0
	push	eax
	mov	eax, DWORD PTR [edx+8]
	mov	ecx, esi
	call	eax
	test	al, al
	jne	SHORT $LN1@Add@3
$LN4@Add@3:

; 402  : 				{
; 403  : 					return false;

	xor	al, al
	pop	esi

; 413  : 	}

	ret	4
$LN1@Add@3:

; 404  : 				}
; 405  : 			}
; 406  : 			else
; 407  : 			{
; 408  : 				return false;
; 409  : 			}
; 410  : 		}
; 411  : 		Vector[ActiveCount++] = object;

	mov	eax, DWORD PTR [esi+16]
	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR _object$[esp]
	lea	ecx, DWORD PTR [ecx+eax*4]
	add	eax, 1
	push	edx
	mov	DWORD PTR [esi+16], eax
	call	??4nc_StringClass@@QAEAAV0@AAV0@@Z	; nc_StringClass::operator=

; 412  : 		return true;

	mov	al, 1
	pop	esi

; 413  : 	}

	ret	4
?Add@?$nc_DynamicVectorClass@Vnc_StringClass@@@@QAE_NAAVnc_StringClass@@@Z ENDP ; nc_DynamicVectorClass<nc_StringClass>::Add
_TEXT	ENDS
PUBLIC	?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ ; nc_SimpleDynVecClass<nc_GameObjObserverClass *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ PROC ; nc_SimpleDynVecClass<nc_GameObjObserverClass *>::Count, COMDAT
; _this$ = ecx

; 252  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 253  : 	}

	ret	0
?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ ENDP ; nc_SimpleDynVecClass<nc_GameObjObserverClass *>::Count
_TEXT	ENDS
PUBLIC	??A?$nc_SimpleVecClass@PAVnc_GameObjObserverClass@@@@QAEAAPAVnc_GameObjObserverClass@@H@Z ; nc_SimpleVecClass<nc_GameObjObserverClass *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$nc_SimpleVecClass@PAVnc_GameObjObserverClass@@@@QAEAAPAVnc_GameObjObserverClass@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$nc_SimpleVecClass@PAVnc_GameObjObserverClass@@@@QAEAAPAVnc_GameObjObserverClass@@H@Z PROC ; nc_SimpleVecClass<nc_GameObjObserverClass *>::operator[], COMDAT
; _this$ = ecx

; 174  : 		return Vector[index];

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _index$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]

; 175  : 	}

	ret	4
??A?$nc_SimpleVecClass@PAVnc_GameObjObserverClass@@@@QAEAAPAVnc_GameObjObserverClass@@H@Z ENDP ; nc_SimpleVecClass<nc_GameObjObserverClass *>::operator[]
_TEXT	ENDS
PUBLIC	??A?$nc_VectorClass@PAVnc_WeaponClass@@@@QAEAAPAVnc_WeaponClass@@H@Z ; nc_VectorClass<nc_WeaponClass *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$nc_VectorClass@PAVnc_WeaponClass@@@@QAEAAPAVnc_WeaponClass@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$nc_VectorClass@PAVnc_WeaponClass@@@@QAEAAPAVnc_WeaponClass@@H@Z PROC ; nc_VectorClass<nc_WeaponClass *>::operator[], COMDAT
; _this$ = ecx

; 341  : 		return Vector[index];

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _index$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]

; 342  : 	}

	ret	4
??A?$nc_VectorClass@PAVnc_WeaponClass@@@@QAEAAPAVnc_WeaponClass@@H@Z ENDP ; nc_VectorClass<nc_WeaponClass *>::operator[]
_TEXT	ENDS
PUBLIC	?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z ; aVector<gzChatCommandBase *>::Add
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z PROC ; aVector<gzChatCommandBase *>::Add, COMDAT
; _this$ = ecx

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN1@Add@4

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [esi+12], 1
$LN1@Add@4:
	pop	esi

; 110  : 	}

	ret	4
?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z ENDP ; aVector<gzChatCommandBase *>::Add
_TEXT	ENDS
PUBLIC	??_7?$aVector@I@@6B@				; aVector<unsigned int>::`vftable'
PUBLIC	??0?$aVector@I@@QAE@XZ				; aVector<unsigned int>::aVector<unsigned int>
PUBLIC	??_R4?$aVector@I@@6B@				; aVector<unsigned int>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@I@@@8				; aVector<unsigned int> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@I@@8				; aVector<unsigned int>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@I@@8				; aVector<unsigned int>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@I@@8			; aVector<unsigned int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@I@@UAEXXZ			; aVector<unsigned int>::Clear
PUBLIC	?Resize@?$aVector@I@@UAE_NI@Z			; aVector<unsigned int>::Resize
PUBLIC	?Add@?$aVector@I@@UAEXABI@Z			; aVector<unsigned int>::Add
PUBLIC	?Insert@?$aVector@I@@UAEXIABI@Z			; aVector<unsigned int>::Insert
PUBLIC	?Delete@?$aVector@I@@UAEXI@Z			; aVector<unsigned int>::Delete
EXTRN	??_E?$aVector@I@@UAEPAXI@Z:PROC			; aVector<unsigned int>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@I@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@I@@8 DD FLAT:??_R0?AV?$aVector@I@@@8 ; aVector<unsigned int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@I@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@I@@8
rdata$r	SEGMENT
??_R2?$aVector@I@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@I@@8 ; aVector<unsigned int>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@I@@8
rdata$r	SEGMENT
??_R3?$aVector@I@@8 DD 00H				; aVector<unsigned int>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@I@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@I@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@I@@@8 DD FLAT:??_7type_info@@6B@	; aVector<unsigned int> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@I@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@I@@6B@
rdata$r	SEGMENT
??_R4?$aVector@I@@6B@ DD 00H				; aVector<unsigned int>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@I@@@8
	DD	FLAT:??_R3?$aVector@I@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@I@@6B@
CONST	SEGMENT
??_7?$aVector@I@@6B@ DD FLAT:??_R4?$aVector@I@@6B@	; aVector<unsigned int>::`vftable'
	DD	FLAT:??_E?$aVector@I@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@I@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@I@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@I@@UAEXABI@Z
	DD	FLAT:?Insert@?$aVector@I@@UAEXIABI@Z
	DD	FLAT:?Delete@?$aVector@I@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@I@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@I@@QAE@XZ PROC				; aVector<unsigned int>::aVector<unsigned int>, COMDAT
; _this$ = ecx

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@I@@6B@
	mov	DWORD PTR [eax+4], ecx

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

	ret	0
??0?$aVector@I@@QAE@XZ ENDP				; aVector<unsigned int>::aVector<unsigned int>
_TEXT	ENDS
PUBLIC	??A?$aVector@I@@QAEAAII@Z			; aVector<unsigned int>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@I@@QAEAAII@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@I@@QAEAAII@Z PROC				; aVector<unsigned int>::operator[], COMDAT
; _this$ = ecx

; 64   : 	T& operator[](unsigned int nPos) { return this->m_vector[nPos]; };

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _nPos$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]
	ret	4
??A?$aVector@I@@QAEAAII@Z ENDP				; aVector<unsigned int>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@I@@QBEIXZ			; aVector<unsigned int>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@I@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@I@@QBEIXZ PROC				; aVector<unsigned int>::Count, COMDAT
; _this$ = ecx

; 65   : 	inline unsigned int Count() const { return this->m_items; };

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@I@@QBEIXZ ENDP				; aVector<unsigned int>::Count
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Clear@?$aVector@I@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@I@@UAEXXZ PROC				; aVector<unsigned int>::Clear, COMDAT
; _this$ = ecx

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 68   : 		if (this->m_vector != NULL)

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	je	SHORT $LN6@Clear@4

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

	mov	DWORD PTR [esi+4], edi
$LN6@Clear@4:

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

	ret	0
?Clear@?$aVector@I@@UAEXXZ ENDP				; aVector<unsigned int>::Clear
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Resize@?$aVector@I@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@I@@UAE_NI@Z PROC			; aVector<unsigned int>::Resize, COMDAT
; _this$ = ecx

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize@2

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize@2
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 91   : 				if (this->m_vector != NULL)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN10@Resize@2

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [edi*4]
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN10@Resize@2:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@2:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize@2:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
?Resize@?$aVector@I@@UAE_NI@Z ENDP			; aVector<unsigned int>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@I@@UAEXABI@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@I@@UAEXABI@Z PROC			; aVector<unsigned int>::Add, COMDAT
; _this$ = ecx

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN1@Add@5

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [esi+12], 1
$LN1@Add@5:
	pop	esi

; 110  : 	}

	ret	4
?Add@?$aVector@I@@UAEXABI@Z ENDP			; aVector<unsigned int>::Add
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Insert@?$aVector@I@@UAEXIABI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@I@@UAEXIABI@Z PROC			; aVector<unsigned int>::Insert, COMDAT
; _this$ = ecx

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

	mov	eax, DWORD PTR [esi+12]
	push	edi
	mov	edi, DWORD PTR _index$[esp+4]
	cmp	edi, eax
	jbe	SHORT $LN3@Insert@2

; 114  : 			this->Add(obj);

	mov	ecx, DWORD PTR _obj$[esp+4]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	push	ecx
	mov	ecx, esi
	call	edx
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@2:

; 115  : 		else if (this->Resize(this->m_items + 1))

	mov	edx, DWORD PTR [esi]
	add	eax, 1
	push	eax
	mov	eax, DWORD PTR [edx+8]
	call	eax
	test	al, al
	je	SHORT $LN1@Insert@2

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, ecx
	add	ecx, 1
	sub	eax, edi
	mov	DWORD PTR [esi+12], ecx
	mov	ecx, DWORD PTR [esi+4]
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edi*4]
	push	eax
	push	ecx
	add	ecx, 4
	push	ecx
	call	_memmove

; 118  : 			this->m_vector[index] = obj;

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	edx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx
$LN1@Insert@2:
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

	ret	8
?Insert@?$aVector@I@@UAEXIABI@Z ENDP			; aVector<unsigned int>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@I@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@I@@UAEXI@Z PROC			; aVector<unsigned int>::Delete, COMDAT
; _this$ = ecx

; 123  : 		if (index >= this->m_items)

	mov	edx, DWORD PTR _index$[esp-4]
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+12]
	cmp	edx, eax
	jae	SHORT $LN2@Delete@2

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@2

; 126  : 			this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	pop	esi

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@2:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@2

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*4]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+4]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete@2:

; 131  : 			this->Resize(this->m_items);

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	call	edx
$LN2@Delete@2:
	pop	esi

; 132  : 		}
; 133  : 	}

	ret	4
?Delete@?$aVector@I@@UAEXI@Z ENDP			; aVector<unsigned int>::Delete
_TEXT	ENDS
PUBLIC	??_7?$aVector@UstObserverDataStruct@@@@6B@	; aVector<stObserverDataStruct>::`vftable'
PUBLIC	??0?$aVector@UstObserverDataStruct@@@@QAE@XZ	; aVector<stObserverDataStruct>::aVector<stObserverDataStruct>
PUBLIC	??_R4?$aVector@UstObserverDataStruct@@@@6B@	; aVector<stObserverDataStruct>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@UstObserverDataStruct@@@@@8	; aVector<stObserverDataStruct> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@UstObserverDataStruct@@@@8	; aVector<stObserverDataStruct>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@UstObserverDataStruct@@@@8	; aVector<stObserverDataStruct>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@UstObserverDataStruct@@@@8 ; aVector<stObserverDataStruct>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@UstObserverDataStruct@@@@UAEXXZ ; aVector<stObserverDataStruct>::Clear
PUBLIC	?Resize@?$aVector@UstObserverDataStruct@@@@UAE_NI@Z ; aVector<stObserverDataStruct>::Resize
PUBLIC	?Add@?$aVector@UstObserverDataStruct@@@@UAEXABUstObserverDataStruct@@@Z ; aVector<stObserverDataStruct>::Add
PUBLIC	?Insert@?$aVector@UstObserverDataStruct@@@@UAEXIABUstObserverDataStruct@@@Z ; aVector<stObserverDataStruct>::Insert
PUBLIC	?Delete@?$aVector@UstObserverDataStruct@@@@UAEXI@Z ; aVector<stObserverDataStruct>::Delete
EXTRN	??_E?$aVector@UstObserverDataStruct@@@@UAEPAXI@Z:PROC ; aVector<stObserverDataStruct>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@UstObserverDataStruct@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@UstObserverDataStruct@@@@8 DD FLAT:??_R0?AV?$aVector@UstObserverDataStruct@@@@@8 ; aVector<stObserverDataStruct>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@UstObserverDataStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@UstObserverDataStruct@@@@8
rdata$r	SEGMENT
??_R2?$aVector@UstObserverDataStruct@@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@UstObserverDataStruct@@@@8 ; aVector<stObserverDataStruct>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@UstObserverDataStruct@@@@8
rdata$r	SEGMENT
??_R3?$aVector@UstObserverDataStruct@@@@8 DD 00H	; aVector<stObserverDataStruct>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@UstObserverDataStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@UstObserverDataStruct@@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@UstObserverDataStruct@@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<stObserverDataStruct> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@UstObserverDataStruct@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@UstObserverDataStruct@@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@UstObserverDataStruct@@@@6B@ DD 00H	; aVector<stObserverDataStruct>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@UstObserverDataStruct@@@@@8
	DD	FLAT:??_R3?$aVector@UstObserverDataStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@UstObserverDataStruct@@@@6B@
CONST	SEGMENT
??_7?$aVector@UstObserverDataStruct@@@@6B@ DD FLAT:??_R4?$aVector@UstObserverDataStruct@@@@6B@ ; aVector<stObserverDataStruct>::`vftable'
	DD	FLAT:??_E?$aVector@UstObserverDataStruct@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@UstObserverDataStruct@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@UstObserverDataStruct@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@UstObserverDataStruct@@@@UAEXABUstObserverDataStruct@@@Z
	DD	FLAT:?Insert@?$aVector@UstObserverDataStruct@@@@UAEXIABUstObserverDataStruct@@@Z
	DD	FLAT:?Delete@?$aVector@UstObserverDataStruct@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@UstObserverDataStruct@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@UstObserverDataStruct@@@@QAE@XZ PROC	; aVector<stObserverDataStruct>::aVector<stObserverDataStruct>, COMDAT
; _this$ = ecx

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@UstObserverDataStruct@@@@6B@
	mov	DWORD PTR [eax+4], ecx

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

	ret	0
??0?$aVector@UstObserverDataStruct@@@@QAE@XZ ENDP	; aVector<stObserverDataStruct>::aVector<stObserverDataStruct>
_TEXT	ENDS
PUBLIC	??A?$aVector@UstObserverDataStruct@@@@QAEAAUstObserverDataStruct@@I@Z ; aVector<stObserverDataStruct>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@UstObserverDataStruct@@@@QAEAAUstObserverDataStruct@@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@UstObserverDataStruct@@@@QAEAAUstObserverDataStruct@@I@Z PROC ; aVector<stObserverDataStruct>::operator[], COMDAT
; _this$ = ecx

; 64   : 	T& operator[](unsigned int nPos) { return this->m_vector[nPos]; };

	mov	eax, DWORD PTR _nPos$[esp-4]
	shl	eax, 4
	add	eax, DWORD PTR [ecx+4]
	ret	4
??A?$aVector@UstObserverDataStruct@@@@QAEAAUstObserverDataStruct@@I@Z ENDP ; aVector<stObserverDataStruct>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@UstObserverDataStruct@@@@QBEIXZ ; aVector<stObserverDataStruct>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@UstObserverDataStruct@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@UstObserverDataStruct@@@@QBEIXZ PROC	; aVector<stObserverDataStruct>::Count, COMDAT
; _this$ = ecx

; 65   : 	inline unsigned int Count() const { return this->m_items; };

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@UstObserverDataStruct@@@@QBEIXZ ENDP	; aVector<stObserverDataStruct>::Count
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Clear@?$aVector@UstObserverDataStruct@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@UstObserverDataStruct@@@@UAEXXZ PROC	; aVector<stObserverDataStruct>::Clear, COMDAT
; _this$ = ecx

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 68   : 		if (this->m_vector != NULL)

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	je	SHORT $LN6@Clear@5

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

	mov	DWORD PTR [esi+4], edi
$LN6@Clear@5:

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

	ret	0
?Clear@?$aVector@UstObserverDataStruct@@@@UAEXXZ ENDP	; aVector<stObserverDataStruct>::Clear
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Resize@?$aVector@UstObserverDataStruct@@@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@UstObserverDataStruct@@@@UAE_NI@Z PROC ; aVector<stObserverDataStruct>::Resize, COMDAT
; _this$ = ecx

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize@3

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize@3
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 16					; 00000010H
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 91   : 				if (this->m_vector != NULL)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN10@Resize@3

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	mov	ecx, edi
	shl	ecx, 4
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN10@Resize@3:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@3:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize@3:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
?Resize@?$aVector@UstObserverDataStruct@@@@UAE_NI@Z ENDP ; aVector<stObserverDataStruct>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@UstObserverDataStruct@@@@UAEXABUstObserverDataStruct@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@UstObserverDataStruct@@@@UAEXABUstObserverDataStruct@@@Z PROC ; aVector<stObserverDataStruct>::Add, COMDAT
; _this$ = ecx

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN1@Add@6

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	eax, DWORD PTR [esi+12]
	mov	ecx, DWORD PTR _obj$[esp]
	mov	edx, DWORD PTR [ecx]
	shl	eax, 4
	add	eax, DWORD PTR [esi+4]
	mov	DWORD PTR [eax], edx
	mov	edx, DWORD PTR [ecx+4]
	mov	DWORD PTR [eax+4], edx
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR [eax+8], edx
	mov	ecx, DWORD PTR [ecx+12]
	mov	DWORD PTR [eax+12], ecx
	add	DWORD PTR [esi+12], 1
$LN1@Add@6:
	pop	esi

; 110  : 	}

	ret	4
?Add@?$aVector@UstObserverDataStruct@@@@UAEXABUstObserverDataStruct@@@Z ENDP ; aVector<stObserverDataStruct>::Add
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Insert@?$aVector@UstObserverDataStruct@@@@UAEXIABUstObserverDataStruct@@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@UstObserverDataStruct@@@@UAEXIABUstObserverDataStruct@@@Z PROC ; aVector<stObserverDataStruct>::Insert, COMDAT
; _this$ = ecx

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

	mov	eax, DWORD PTR [esi+12]
	push	edi
	mov	edi, DWORD PTR _index$[esp+4]
	cmp	edi, eax
	jbe	SHORT $LN3@Insert@3

; 114  : 			this->Add(obj);

	mov	ecx, DWORD PTR _obj$[esp+4]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	push	ecx
	mov	ecx, esi
	call	edx
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@3:

; 115  : 		else if (this->Resize(this->m_items + 1))

	mov	edx, DWORD PTR [esi]
	add	eax, 1
	push	eax
	mov	eax, DWORD PTR [edx+8]
	call	eax
	test	al, al
	je	SHORT $LN1@Insert@3

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, ecx
	add	ecx, 1
	sub	eax, edi
	mov	DWORD PTR [esi+12], ecx
	mov	ecx, DWORD PTR [esi+4]
	shl	eax, 4
	shl	edi, 4
	add	ecx, edi
	push	eax
	push	ecx
	add	ecx, 16					; 00000010H
	push	ecx
	call	_memmove

; 118  : 			this->m_vector[index] = obj;

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR _obj$[esp+16]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR [eax+edi], edx
	mov	edx, DWORD PTR [ecx+4]
	add	esp, 12					; 0000000cH
	add	eax, edi
	mov	DWORD PTR [eax+4], edx
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR [eax+8], edx
	mov	ecx, DWORD PTR [ecx+12]
	mov	DWORD PTR [eax+12], ecx
$LN1@Insert@3:
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

	ret	8
?Insert@?$aVector@UstObserverDataStruct@@@@UAEXIABUstObserverDataStruct@@@Z ENDP ; aVector<stObserverDataStruct>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@UstObserverDataStruct@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@UstObserverDataStruct@@@@UAEXI@Z PROC	; aVector<stObserverDataStruct>::Delete, COMDAT
; _this$ = ecx

; 123  : 		if (index >= this->m_items)

	mov	edx, DWORD PTR _index$[esp-4]
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+12]
	cmp	edx, eax
	jae	SHORT $LN2@Delete@3

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@3

; 126  : 			this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	pop	esi

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@3:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@3
	push	edi

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	edi, DWORD PTR [esi+4]
	mov	ecx, edx
	sub	eax, edx
	shl	ecx, 4
	add	ecx, edi
	shl	eax, 4
	push	eax
	lea	edx, DWORD PTR [ecx+16]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
	pop	edi
$LN1@Delete@3:

; 131  : 			this->Resize(this->m_items);

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	call	edx
$LN2@Delete@3:
	pop	esi

; 132  : 		}
; 133  : 	}

	ret	4
?Delete@?$aVector@UstObserverDataStruct@@@@UAEXI@Z ENDP	; aVector<stObserverDataStruct>::Delete
_TEXT	ENDS
PUBLIC	?Count@?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@QAEHXZ ; nc_DynamicVectorClass<nc_SpawnerClass *>::Count
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_vector.h
;	COMDAT ?Count@?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@QAEHXZ PROC ; nc_DynamicVectorClass<nc_SpawnerClass *>::Count, COMDAT
; _this$ = ecx

; 375  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+16]

; 376  : 	}

	ret	0
?Count@?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@QAEHXZ ENDP ; nc_DynamicVectorClass<nc_SpawnerClass *>::Count
_TEXT	ENDS
PUBLIC	?Delete@?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@QAE_NH@Z ; nc_DynamicVectorClass<nc_SpawnerClass *>::Delete
; Function compile flags: /Ogtpy
;	COMDAT ?Delete@?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@QAE_NH@Z
_TEXT	SEGMENT
_pos$ = 8						; size = 4
?Delete@?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@QAE_NH@Z PROC ; nc_DynamicVectorClass<nc_SpawnerClass *>::Delete, COMDAT
; _this$ = ecx

; 416  : 		if (pos >= ActiveCount)

	mov	eax, DWORD PTR [ecx+16]
	mov	edx, DWORD PTR _pos$[esp-4]
	cmp	edx, eax
	jl	SHORT $LN2@Delete@4

; 417  : 		{
; 418  : 			return false;

	xor	al, al

; 427  : 	}

	ret	4
$LN2@Delete@4:

; 419  : 		}
; 420  : 		ActiveCount--;

	add	eax, -1

; 421  : 		if (pos >= ActiveCount)

	cmp	edx, eax
	mov	DWORD PTR [ecx+16], eax

; 422  : 		{
; 423  : 			return true;

	jge	SHORT $LN5@Delete@4

; 424  : 		}
; 425  : 		memmove(&Vector[pos],&Vector[pos+1],(ActiveCount - pos) * sizeof(T));

	mov	ecx, DWORD PTR [ecx+4]
	sub	eax, edx
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*4]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+4]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN5@Delete@4:

; 426  : 		return true;

	mov	al, 1

; 427  : 	}

	ret	4
?Delete@?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@QAE_NH@Z ENDP ; nc_DynamicVectorClass<nc_SpawnerClass *>::Delete
_TEXT	ENDS
PUBLIC	??A?$nc_VectorClass@PAVnc_SpawnerClass@@@@QAEAAPAVnc_SpawnerClass@@H@Z ; nc_VectorClass<nc_SpawnerClass *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$nc_VectorClass@PAVnc_SpawnerClass@@@@QAEAAPAVnc_SpawnerClass@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$nc_VectorClass@PAVnc_SpawnerClass@@@@QAEAAPAVnc_SpawnerClass@@H@Z PROC ; nc_VectorClass<nc_SpawnerClass *>::operator[], COMDAT
; _this$ = ecx

; 341  : 		return Vector[index];

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _index$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]

; 342  : 	}

	ret	4
??A?$nc_VectorClass@PAVnc_SpawnerClass@@@@QAEAAPAVnc_SpawnerClass@@H@Z ENDP ; nc_VectorClass<nc_SpawnerClass *>::operator[]
_TEXT	ENDS
PUBLIC	??_7?$nc_ScriptRegistrant@VgzGamelogObserver@@@@6B@ ; nc_ScriptRegistrant<gzGamelogObserver>::`vftable'
PUBLIC	??0?$nc_ScriptRegistrant@VgzGamelogObserver@@@@QAE@PAD0@Z ; nc_ScriptRegistrant<gzGamelogObserver>::nc_ScriptRegistrant<gzGamelogObserver>
PUBLIC	??_R4?$nc_ScriptRegistrant@VgzGamelogObserver@@@@6B@ ; nc_ScriptRegistrant<gzGamelogObserver>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$nc_ScriptRegistrant@VgzGamelogObserver@@@@@8 ; nc_ScriptRegistrant<gzGamelogObserver> `RTTI Type Descriptor'
PUBLIC	??_R3?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8 ; nc_ScriptRegistrant<gzGamelogObserver>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8 ; nc_ScriptRegistrant<gzGamelogObserver>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8 ; nc_ScriptRegistrant<gzGamelogObserver>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@nc_ScriptFactory@@8		; nc_ScriptFactory::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_ScriptFactory@@@8			; nc_ScriptFactory `RTTI Type Descriptor'
PUBLIC	??_R3nc_ScriptFactory@@8			; nc_ScriptFactory::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_ScriptFactory@@8			; nc_ScriptFactory::`RTTI Base Class Array'
PUBLIC	?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ ; nc_ScriptRegistrant<gzGamelogObserver>::Create
EXTRN	??0nc_ScriptFactory@@QAE@PAD0@Z:PROC		; nc_ScriptFactory::nc_ScriptFactory
EXTRN	??_E?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAXI@Z:PROC ; nc_ScriptRegistrant<gzGamelogObserver>::`vector deleting destructor'
;	COMDAT ??_R2nc_ScriptFactory@@8
; File d:\source code\fds lib\new\fds_scripts.h
rdata$r	SEGMENT
??_R2nc_ScriptFactory@@8 DD FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8 ; nc_ScriptFactory::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3nc_ScriptFactory@@8
rdata$r	SEGMENT
??_R3nc_ScriptFactory@@8 DD 00H				; nc_ScriptFactory::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_ScriptFactory@@@8
_DATA	SEGMENT
??_R0?AVnc_ScriptFactory@@@8 DD FLAT:??_7type_info@@6B@	; nc_ScriptFactory `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_ScriptFactory@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_ScriptFactory@@8 DD FLAT:??_R0?AVnc_ScriptFactory@@@8 ; nc_ScriptFactory::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8 DD FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzGamelogObserver@@@@@8 ; nc_ScriptRegistrant<gzGamelogObserver>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8
rdata$r	SEGMENT
??_R2?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8 DD FLAT:??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8 ; nc_ScriptRegistrant<gzGamelogObserver>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8
rdata$r	SEGMENT
??_R3?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8 DD 00H ; nc_ScriptRegistrant<gzGamelogObserver>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$nc_ScriptRegistrant@VgzGamelogObserver@@@@@8
_DATA	SEGMENT
??_R0?AV?$nc_ScriptRegistrant@VgzGamelogObserver@@@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptRegistrant<gzGamelogObserver> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$nc_ScriptRegistrant@VgzGamelogObserver@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$nc_ScriptRegistrant@VgzGamelogObserver@@@@6B@
rdata$r	SEGMENT
??_R4?$nc_ScriptRegistrant@VgzGamelogObserver@@@@6B@ DD 00H ; nc_ScriptRegistrant<gzGamelogObserver>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzGamelogObserver@@@@@8
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzGamelogObserver@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$nc_ScriptRegistrant@VgzGamelogObserver@@@@6B@
CONST	SEGMENT
??_7?$nc_ScriptRegistrant@VgzGamelogObserver@@@@6B@ DD FLAT:??_R4?$nc_ScriptRegistrant@VgzGamelogObserver@@@@6B@ ; nc_ScriptRegistrant<gzGamelogObserver>::`vftable'
	DD	FLAT:??_E?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$nc_ScriptRegistrant@VgzGamelogObserver@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$nc_ScriptRegistrant@VgzGamelogObserver@@@@QAE@PAD0@Z PROC ; nc_ScriptRegistrant<gzGamelogObserver>::nc_ScriptRegistrant<gzGamelogObserver>, COMDAT
; _this$ = ecx

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzGamelogObserver@@@@6B@

; 466  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$nc_ScriptRegistrant@VgzGamelogObserver@@@@QAE@PAD0@Z ENDP ; nc_ScriptRegistrant<gzGamelogObserver>::nc_ScriptRegistrant<gzGamelogObserver>
_TEXT	ENDS
PUBLIC	?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z ; nc_ScriptImpClass::SetFactory
; Function compile flags: /Ogtpy
;	COMDAT ?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z
_TEXT	SEGMENT
_ptr$ = 8						; size = 4
?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z PROC ; nc_ScriptImpClass::SetFactory, COMDAT
; _this$ = ecx

; 99   : 		Factory = ptr;

	mov	eax, DWORD PTR _ptr$[esp-4]
	mov	DWORD PTR [ecx+20], eax

; 100  : 	}

	ret	4
?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z ENDP ; nc_ScriptImpClass::SetFactory
_TEXT	ENDS
PUBLIC	??_7?$nc_ScriptRegistrant@VgzObserverBuilding@@@@6B@ ; nc_ScriptRegistrant<gzObserverBuilding>::`vftable'
PUBLIC	??0?$nc_ScriptRegistrant@VgzObserverBuilding@@@@QAE@PAD0@Z ; nc_ScriptRegistrant<gzObserverBuilding>::nc_ScriptRegistrant<gzObserverBuilding>
PUBLIC	??_R4?$nc_ScriptRegistrant@VgzObserverBuilding@@@@6B@ ; nc_ScriptRegistrant<gzObserverBuilding>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$nc_ScriptRegistrant@VgzObserverBuilding@@@@@8 ; nc_ScriptRegistrant<gzObserverBuilding> `RTTI Type Descriptor'
PUBLIC	??_R3?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8 ; nc_ScriptRegistrant<gzObserverBuilding>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8 ; nc_ScriptRegistrant<gzObserverBuilding>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8 ; nc_ScriptRegistrant<gzObserverBuilding>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ ; nc_ScriptRegistrant<gzObserverBuilding>::Create
EXTRN	??_E?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAXI@Z:PROC ; nc_ScriptRegistrant<gzObserverBuilding>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8 DD FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverBuilding@@@@@8 ; nc_ScriptRegistrant<gzObserverBuilding>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8
rdata$r	SEGMENT
??_R2?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8 DD FLAT:??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8 ; nc_ScriptRegistrant<gzObserverBuilding>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8
rdata$r	SEGMENT
??_R3?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8 DD 00H ; nc_ScriptRegistrant<gzObserverBuilding>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$nc_ScriptRegistrant@VgzObserverBuilding@@@@@8
_DATA	SEGMENT
??_R0?AV?$nc_ScriptRegistrant@VgzObserverBuilding@@@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptRegistrant<gzObserverBuilding> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$nc_ScriptRegistrant@VgzObserverBuilding@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$nc_ScriptRegistrant@VgzObserverBuilding@@@@6B@
rdata$r	SEGMENT
??_R4?$nc_ScriptRegistrant@VgzObserverBuilding@@@@6B@ DD 00H ; nc_ScriptRegistrant<gzObserverBuilding>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverBuilding@@@@@8
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverBuilding@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$nc_ScriptRegistrant@VgzObserverBuilding@@@@6B@
CONST	SEGMENT
??_7?$nc_ScriptRegistrant@VgzObserverBuilding@@@@6B@ DD FLAT:??_R4?$nc_ScriptRegistrant@VgzObserverBuilding@@@@6B@ ; nc_ScriptRegistrant<gzObserverBuilding>::`vftable'
	DD	FLAT:??_E?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$nc_ScriptRegistrant@VgzObserverBuilding@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$nc_ScriptRegistrant@VgzObserverBuilding@@@@QAE@PAD0@Z PROC ; nc_ScriptRegistrant<gzObserverBuilding>::nc_ScriptRegistrant<gzObserverBuilding>, COMDAT
; _this$ = ecx

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverBuilding@@@@6B@

; 466  : 	}

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

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@6B@

; 466  : 	}

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

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@6B@

; 466  : 	}

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

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@6B@

; 466  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@QAE@PAD0@Z ENDP ; nc_ScriptRegistrant<gzObserver_Nod_Obelisk>::nc_ScriptRegistrant<gzObserver_Nod_Obelisk>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0bad_alloc@std@@QAE@ABV01@@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx
	mov	eax, DWORD PTR ___that$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABV01@@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0bad_alloc@std@@QAE@ABV01@@Z ENDP			; std::bad_alloc::bad_alloc
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzGamelogObserver>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@3
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@3:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzGamelogObserver>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverBuilding>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@4
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@4:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverBuilding>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObelisk_Powerup>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@5
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@5:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObelisk_Powerup>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserver_Parachute>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@6
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@6:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserver_Parachute>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserver_Nod_Obelisk>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@7
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@7:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserver_Nod_Obelisk>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0?$allocator@D@std@@QAE@XZ			; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\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	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z$0
__ehfuncinfo$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
_content$ = 8						; size = 8
?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z PROC ; aStringArrayBase<aWideString>::Add, COMDAT
; _this$ = ecx

; 92   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	push	esi
	push	edi
	mov	esi, ecx

; 93   : 		content.GetData()->IncRef();

	mov	ecx, DWORD PTR _content$[esp+20]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	?IncRef@aStringData@@QAEXXZ		; aStringData::IncRef

; 94   : 		this->aVector<aStringData *>::Add(content.GetData());

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	mov	edi, DWORD PTR _content$[esp+20]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN8@Add@7
	mov	eax, DWORD PTR [esi+12]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edi
	add	DWORD PTR [esi+12], 1
$LN8@Add@7:

; 95   : 	};

	lea	ecx, DWORD PTR _content$[esp+16]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	add	esp, 12					; 0000000cH
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z$0:
	lea	ecx, DWORD PTR _content$[ebp-4]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ENDP ; aStringArrayBase<aWideString>::Add
PUBLIC	??0?$allocator@D@std@@QAE@ABV01@@Z		; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\xmemory
;	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 (x86)\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	??_7gzGamelogObserver@@6B@			; gzGamelogObserver::`vftable'
PUBLIC	??0gzGamelogObserver@@QAE@XZ			; gzGamelogObserver::gzGamelogObserver
PUBLIC	??_R4gzGamelogObserver@@6B@			; gzGamelogObserver::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzGamelogObserver@@@8			; gzGamelogObserver `RTTI Type Descriptor'
PUBLIC	??_R3gzGamelogObserver@@8			; gzGamelogObserver::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzGamelogObserver@@8			; gzGamelogObserver::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzGamelogObserver@@8		; gzGamelogObserver::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzGamelogObserver::Killed
EXTRN	??_EgzGamelogObserver@@UAEPAXI@Z:PROC		; gzGamelogObserver::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzGamelogObserver@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzGamelogObserver@@8 DD FLAT:??_R0?AVgzGamelogObserver@@@8 ; gzGamelogObserver::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	04H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzGamelogObserver@@8
rdata$r	ENDS
;	COMDAT ??_R2gzGamelogObserver@@8
rdata$r	SEGMENT
??_R2gzGamelogObserver@@8 DD FLAT:??_R1A@?0A@EA@gzGamelogObserver@@8 ; gzGamelogObserver::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzGamelogBase@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzGamelogObserver@@8
rdata$r	SEGMENT
??_R3gzGamelogObserver@@8 DD 00H			; gzGamelogObserver::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	05H
	DD	FLAT:??_R2gzGamelogObserver@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzGamelogObserver@@@8
_DATA	SEGMENT
??_R0?AVgzGamelogObserver@@@8 DD FLAT:??_7type_info@@6B@ ; gzGamelogObserver `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzGamelogObserver@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzGamelogObserver@@6B@
rdata$r	SEGMENT
??_R4gzGamelogObserver@@6B@ DD 00H			; gzGamelogObserver::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzGamelogObserver@@@8
	DD	FLAT:??_R3gzGamelogObserver@@8
rdata$r	ENDS
;	COMDAT ??_7gzGamelogObserver@@6B@
CONST	SEGMENT
??_7gzGamelogObserver@@6B@ DD FLAT:??_R4gzGamelogObserver@@6B@ ; gzGamelogObserver::`vftable'
	DD	FLAT:??_EgzGamelogObserver@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzGamelogObserver@@QAE@XZ
_TEXT	SEGMENT
??0gzGamelogObserver@@QAE@XZ PROC			; gzGamelogObserver::gzGamelogObserver, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi+28], 0
	mov	DWORD PTR [esi], OFFSET ??_7gzGamelogObserver@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzGamelogObserver@@QAE@XZ ENDP			; gzGamelogObserver::gzGamelogObserver
_TEXT	ENDS
PUBLIC	??_7gzObserverBuilding@@6B@			; gzObserverBuilding::`vftable'
PUBLIC	??0gzObserverBuilding@@QAE@XZ			; gzObserverBuilding::gzObserverBuilding
PUBLIC	??_R4gzObserverBuilding@@6B@			; gzObserverBuilding::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverBuilding@@@8			; gzObserverBuilding `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverBuilding@@8			; gzObserverBuilding::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverBuilding@@8			; gzObserverBuilding::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverBuilding@@8		; gzObserverBuilding::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverBuilding::Created
EXTRN	??_EgzObserverBuilding@@UAEPAXI@Z:PROC		; gzObserverBuilding::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzObserverBuilding@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverBuilding@@8 DD FLAT:??_R0?AVgzObserverBuilding@@@8 ; gzObserverBuilding::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverBuilding@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverBuilding@@8
rdata$r	SEGMENT
??_R2gzObserverBuilding@@8 DD FLAT:??_R1A@?0A@EA@gzObserverBuilding@@8 ; gzObserverBuilding::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzObserverBuilding@@8
rdata$r	SEGMENT
??_R3gzObserverBuilding@@8 DD 00H			; gzObserverBuilding::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverBuilding@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverBuilding@@@8
_DATA	SEGMENT
??_R0?AVgzObserverBuilding@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserverBuilding `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverBuilding@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverBuilding@@6B@
rdata$r	SEGMENT
??_R4gzObserverBuilding@@6B@ DD 00H			; gzObserverBuilding::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverBuilding@@@8
	DD	FLAT:??_R3gzObserverBuilding@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverBuilding@@6B@
CONST	SEGMENT
??_7gzObserverBuilding@@6B@ DD FLAT:??_R4gzObserverBuilding@@6B@ ; gzObserverBuilding::`vftable'
	DD	FLAT:??_EgzObserverBuilding@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzObserverBuilding@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverBuilding@@QAE@XZ PROC			; gzObserverBuilding::gzObserverBuilding, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverBuilding@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverBuilding@@QAE@XZ ENDP			; gzObserverBuilding::gzObserverBuilding
_TEXT	ENDS
PUBLIC	??_7gzObelisk_Powerup@@6B@			; gzObelisk_Powerup::`vftable'
PUBLIC	??0gzObelisk_Powerup@@QAE@XZ			; gzObelisk_Powerup::gzObelisk_Powerup
PUBLIC	??_R4gzObelisk_Powerup@@6B@			; gzObelisk_Powerup::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObelisk_Powerup@@@8			; gzObelisk_Powerup `RTTI Type Descriptor'
PUBLIC	??_R3gzObelisk_Powerup@@8			; gzObelisk_Powerup::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObelisk_Powerup@@8			; gzObelisk_Powerup::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObelisk_Powerup@@8		; gzObelisk_Powerup::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EgzObelisk_Powerup@@UAEPAXI@Z:PROC		; gzObelisk_Powerup::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzObelisk_Powerup@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObelisk_Powerup@@8 DD FLAT:??_R0?AVgzObelisk_Powerup@@@8 ; gzObelisk_Powerup::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObelisk_Powerup@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObelisk_Powerup@@8
rdata$r	SEGMENT
??_R2gzObelisk_Powerup@@8 DD FLAT:??_R1A@?0A@EA@gzObelisk_Powerup@@8 ; gzObelisk_Powerup::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzObelisk_Powerup@@8
rdata$r	SEGMENT
??_R3gzObelisk_Powerup@@8 DD 00H			; gzObelisk_Powerup::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObelisk_Powerup@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObelisk_Powerup@@@8
_DATA	SEGMENT
??_R0?AVgzObelisk_Powerup@@@8 DD FLAT:??_7type_info@@6B@ ; gzObelisk_Powerup `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObelisk_Powerup@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObelisk_Powerup@@6B@
rdata$r	SEGMENT
??_R4gzObelisk_Powerup@@6B@ DD 00H			; gzObelisk_Powerup::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObelisk_Powerup@@@8
	DD	FLAT:??_R3gzObelisk_Powerup@@8
rdata$r	ENDS
;	COMDAT ??_7gzObelisk_Powerup@@6B@
CONST	SEGMENT
??_7gzObelisk_Powerup@@6B@ DD FLAT:??_R4gzObelisk_Powerup@@6B@ ; gzObelisk_Powerup::`vftable'
	DD	FLAT:??_EgzObelisk_Powerup@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@gzObelisk_Powerup@@EAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzObelisk_Powerup@@QAE@XZ
_TEXT	SEGMENT
??0gzObelisk_Powerup@@QAE@XZ PROC			; gzObelisk_Powerup::gzObelisk_Powerup, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObelisk_Powerup@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObelisk_Powerup@@QAE@XZ ENDP			; gzObelisk_Powerup::gzObelisk_Powerup
_TEXT	ENDS
PUBLIC	??_7gzObserver_Parachute@@6B@			; gzObserver_Parachute::`vftable'
PUBLIC	??0gzObserver_Parachute@@QAE@XZ			; gzObserver_Parachute::gzObserver_Parachute
PUBLIC	??_R4gzObserver_Parachute@@6B@			; gzObserver_Parachute::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserver_Parachute@@@8		; gzObserver_Parachute `RTTI Type Descriptor'
PUBLIC	??_R3gzObserver_Parachute@@8			; gzObserver_Parachute::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserver_Parachute@@8			; gzObserver_Parachute::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserver_Parachute@@8		; gzObserver_Parachute::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Timer_Expired@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzObserver_Parachute::Timer_Expired
EXTRN	??_EgzObserver_Parachute@@UAEPAXI@Z:PROC	; gzObserver_Parachute::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzObserver_Parachute@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserver_Parachute@@8 DD FLAT:??_R0?AVgzObserver_Parachute@@@8 ; gzObserver_Parachute::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserver_Parachute@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserver_Parachute@@8
rdata$r	SEGMENT
??_R2gzObserver_Parachute@@8 DD FLAT:??_R1A@?0A@EA@gzObserver_Parachute@@8 ; gzObserver_Parachute::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzObserver_Parachute@@8
rdata$r	SEGMENT
??_R3gzObserver_Parachute@@8 DD 00H			; gzObserver_Parachute::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserver_Parachute@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserver_Parachute@@@8
_DATA	SEGMENT
??_R0?AVgzObserver_Parachute@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserver_Parachute `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserver_Parachute@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserver_Parachute@@6B@
rdata$r	SEGMENT
??_R4gzObserver_Parachute@@6B@ DD 00H			; gzObserver_Parachute::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserver_Parachute@@@8
	DD	FLAT:??_R3gzObserver_Parachute@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserver_Parachute@@6B@
CONST	SEGMENT
??_7gzObserver_Parachute@@6B@ DD FLAT:??_R4gzObserver_Parachute@@6B@ ; gzObserver_Parachute::`vftable'
	DD	FLAT:??_EgzObserver_Parachute@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzObserver_Parachute@@QAE@XZ
_TEXT	SEGMENT
??0gzObserver_Parachute@@QAE@XZ PROC			; gzObserver_Parachute::gzObserver_Parachute, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserver_Parachute@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserver_Parachute@@QAE@XZ ENDP			; gzObserver_Parachute::gzObserver_Parachute
_TEXT	ENDS
PUBLIC	??_7gzObserver_Nod_Obelisk@@6B@			; gzObserver_Nod_Obelisk::`vftable'
PUBLIC	??0gzObserver_Nod_Obelisk@@QAE@XZ		; gzObserver_Nod_Obelisk::gzObserver_Nod_Obelisk
PUBLIC	??_R4gzObserver_Nod_Obelisk@@6B@		; gzObserver_Nod_Obelisk::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserver_Nod_Obelisk@@@8		; gzObserver_Nod_Obelisk `RTTI Type Descriptor'
PUBLIC	??_R3gzObserver_Nod_Obelisk@@8			; gzObserver_Nod_Obelisk::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserver_Nod_Obelisk@@8			; gzObserver_Nod_Obelisk::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserver_Nod_Obelisk@@8		; gzObserver_Nod_Obelisk::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EgzObserver_Nod_Obelisk@@UAEPAXI@Z:PROC	; gzObserver_Nod_Obelisk::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzObserver_Nod_Obelisk@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserver_Nod_Obelisk@@8 DD FLAT:??_R0?AVgzObserver_Nod_Obelisk@@@8 ; gzObserver_Nod_Obelisk::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserver_Nod_Obelisk@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserver_Nod_Obelisk@@8
rdata$r	SEGMENT
??_R2gzObserver_Nod_Obelisk@@8 DD FLAT:??_R1A@?0A@EA@gzObserver_Nod_Obelisk@@8 ; gzObserver_Nod_Obelisk::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzObserver_Nod_Obelisk@@8
rdata$r	SEGMENT
??_R3gzObserver_Nod_Obelisk@@8 DD 00H			; gzObserver_Nod_Obelisk::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserver_Nod_Obelisk@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserver_Nod_Obelisk@@@8
_DATA	SEGMENT
??_R0?AVgzObserver_Nod_Obelisk@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserver_Nod_Obelisk `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserver_Nod_Obelisk@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserver_Nod_Obelisk@@6B@
rdata$r	SEGMENT
??_R4gzObserver_Nod_Obelisk@@6B@ DD 00H			; gzObserver_Nod_Obelisk::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserver_Nod_Obelisk@@@8
	DD	FLAT:??_R3gzObserver_Nod_Obelisk@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserver_Nod_Obelisk@@6B@
CONST	SEGMENT
??_7gzObserver_Nod_Obelisk@@6B@ DD FLAT:??_R4gzObserver_Nod_Obelisk@@6B@ ; gzObserver_Nod_Obelisk::`vftable'
	DD	FLAT:??_EgzObserver_Nod_Obelisk@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@gzObserver_Nod_Obelisk@@EAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzObserver_Nod_Obelisk@@QAE@XZ
_TEXT	SEGMENT
??0gzObserver_Nod_Obelisk@@QAE@XZ PROC			; gzObserver_Nod_Obelisk::gzObserver_Nod_Obelisk, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserver_Nod_Obelisk@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserver_Nod_Obelisk@@QAE@XZ ENDP			; gzObserver_Nod_Obelisk::gzObserver_Nod_Obelisk
_TEXT	ENDS
PUBLIC	??1gzGamelogObserver@@UAE@XZ			; gzGamelogObserver::~gzGamelogObserver
; Function compile flags: /Ogtpy
;	COMDAT ??1gzGamelogObserver@@UAE@XZ
_TEXT	SEGMENT
??1gzGamelogObserver@@UAE@XZ PROC			; gzGamelogObserver::~gzGamelogObserver, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzGamelogObserver@@UAE@XZ ENDP			; gzGamelogObserver::~gzGamelogObserver
_TEXT	ENDS
PUBLIC	??1gzObserverBuilding@@UAE@XZ			; gzObserverBuilding::~gzObserverBuilding
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverBuilding@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverBuilding@@UAE@XZ PROC			; gzObserverBuilding::~gzObserverBuilding, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverBuilding@@UAE@XZ ENDP			; gzObserverBuilding::~gzObserverBuilding
_TEXT	ENDS
PUBLIC	??1gzObelisk_Powerup@@UAE@XZ			; gzObelisk_Powerup::~gzObelisk_Powerup
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObelisk_Powerup@@UAE@XZ
_TEXT	SEGMENT
??1gzObelisk_Powerup@@UAE@XZ PROC			; gzObelisk_Powerup::~gzObelisk_Powerup, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObelisk_Powerup@@UAE@XZ ENDP			; gzObelisk_Powerup::~gzObelisk_Powerup
_TEXT	ENDS
PUBLIC	??1gzObserver_Parachute@@UAE@XZ			; gzObserver_Parachute::~gzObserver_Parachute
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserver_Parachute@@UAE@XZ
_TEXT	SEGMENT
??1gzObserver_Parachute@@UAE@XZ PROC			; gzObserver_Parachute::~gzObserver_Parachute, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserver_Parachute@@UAE@XZ ENDP			; gzObserver_Parachute::~gzObserver_Parachute
_TEXT	ENDS
PUBLIC	??1gzObserver_Nod_Obelisk@@UAE@XZ		; gzObserver_Nod_Obelisk::~gzObserver_Nod_Obelisk
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserver_Nod_Obelisk@@UAE@XZ
_TEXT	SEGMENT
??1gzObserver_Nod_Obelisk@@UAE@XZ PROC			; gzObserver_Nod_Obelisk::~gzObserver_Nod_Obelisk, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserver_Nod_Obelisk@@UAE@XZ ENDP			; gzObserver_Nod_Obelisk::~gzObserver_Nod_Obelisk
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaString@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaString@@UAEPAXI@Z PROC				; aString::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@8
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@8:
	mov	eax, esi
	pop	esi
	ret	4
??_GaString@@UAEPAXI@Z ENDP				; aString::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0BB@KOBOIGJK@DisableBuildings?$AA@	; `string'
PUBLIC	??_C@_0P@BMAJPLAP@DisableSpawner?$AA@		; `string'
PUBLIC	??_C@_0FM@DLPKAKLL@Error?5?9?5AllowAfkMinutes?5must?5be?5@ ; `string'
PUBLIC	??_C@_0DO@EKCNKFEB@Error?5?9?5Unknown?5weather?5type?3?5?$CFs@ ; `string'
PUBLIC	??_C@_04LOGCFOOF@Snow?$AA@			; `string'
PUBLIC	??_C@_04EEOMLCKJ@Rain?$AA@			; `string'
PUBLIC	??_C@_03GIACIBN@Ash?$AA@			; `string'
PUBLIC	??_C@_0M@HFJFEINH@WeatherType?$AA@		; `string'
PUBLIC	??_C@_09HNBGHMKA@NOWEATHER?$AA@			; `string'
PUBLIC	??_C@_0O@JNDLCIPP@EnableWeather?$AA@		; `string'
PUBLIC	??_C@_0BA@IHKNBEFA@InvincibleSpawn?$AA@		; `string'
PUBLIC	??_C@_0BB@NNDAAAMO@MinimumBandwidth?$AA@	; `string'
PUBLIC	??_C@_0M@FNMECBAH@AlwaysStart?$AA@		; `string'
PUBLIC	??_C@_0BA@GBFHGOA@AllowHillAttack?$AA@		; `string'
PUBLIC	??_C@_0BA@JCGMKBGK@AllowAFKMinutes?$AA@		; `string'
PUBLIC	??_C@_0BD@NKFPMDGC@RefineryIncomeDump?$AA@	; `string'
PUBLIC	??_C@_0BD@DNIFKFH@RefineryIncomeTick?$AA@	; `string'
PUBLIC	??_C@_0O@ICNPDLLB@DisablePreset?$AA@		; `string'
PUBLIC	??_C@_0N@HOPFPHBB@SpawnCharGDI?$AA@		; `string'
PUBLIC	??_C@_0BF@LMPHMMKB@CnC_GDI_Minigunner_0?$AA@	; `string'
PUBLIC	??_C@_0N@BHMPELHF@SpawnCharNod?$AA@		; `string'
PUBLIC	??_C@_0BF@OEGOFECO@CnC_Nod_Minigunner_0?$AA@	; `string'
PUBLIC	??_C@_08JNBNJFAJ@NoReload?$AA@			; `string'
PUBLIC	??_C@_0N@ILMNBEKC@InfiniteAmmo?$AA@		; `string'
PUBLIC	??_C@_0BM@MLOIFBIO@SuicideResetNegativeCredits?$AA@ ; `string'
PUBLIC	??_C@_0BB@PKAHGDJD@EnableWeaponDrop?$AA@	; `string'
PUBLIC	??_C@_0N@EJMHFDJE@EnableBeacon?$AA@		; `string'
PUBLIC	??_C@_0BK@DEEMPJIL@EnableInvincibleBuildings?$AA@ ; `string'
PUBLIC	??_C@_0BH@DICHIGBJ@EnableVehicleWreckages?$AA@	; `string'
PUBLIC	??_C@_09FIDECKKA@ForceTeam?$AA@			; `string'
PUBLIC	??_C@_08JJGOBBMF@GameMode?$AA@			; `string'
PUBLIC	??_C@_0BA@DILMPDKJ@LogVehicleDeath?$AA@		; `string'
PUBLIC	??_C@_0BD@CDDKGEKF@LogVehiclePurchase?$AA@	; `string'
PUBLIC	??_C@_0BA@KCJLGDBM@LogSoldierDeath?$AA@		; `string'
PUBLIC	??_C@_0BD@DEOEGHLF@LogSoldierPurchase?$AA@	; `string'
PUBLIC	??_C@_0O@IKMNLHBL@EnableGamelog?$AA@		; `string'
PUBLIC	??_C@_07ECEMPDJM@General?$AA@			; `string'
PUBLIC	??_C@_07KFKOLPML@LogRoot?$AA@			; `string'
PUBLIC	??_C@_05EIMBGKJK@gzaow?$AA@			; `string'
PUBLIC	??_C@_0FC@MPHJBGFB@?$FLWarning?$FN?5STGM?4ini?5can?5not?5be?5lo@ ; `string'
PUBLIC	??_C@_08HPIGCGLD@STGM?4ini?$AA@			; `string'
PUBLIC	?Load@gzSettingsGameClass@@UAEXXZ		; gzSettingsGameClass::Load
EXTRN	?Close@stSettingsBase@@QAEXXZ:PROC		; stSettingsBase::Close
EXTRN	?PatchData@@YAXPAXKK@Z:PROC			; PatchData
EXTRN	?PatchByte@@YAXEKK@Z:PROC			; PatchByte
EXTRN	??8aString@@QAE_NPBD@Z:PROC			; aString::operator==
EXTRN	?GetData@aToken@@QAEABVaString@@XZ:PROC		; aToken::GetData
EXTRN	?gettok@aToken@@QAE?AV1@HE@Z:PROC		; aToken::gettok
EXTRN	?numtok@aToken@@QAEHE@Z:PROC			; aToken::numtok
EXTRN	?Open@stSettingsBase@@QAE_NABVaString@@@Z:PROC	; stSettingsBase::Open
;	COMDAT ??_C@_0BB@KOBOIGJK@DisableBuildings?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BB@KOBOIGJK@DisableBuildings?$AA@ DB 'DisableBuildings', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@BMAJPLAP@DisableSpawner?$AA@
CONST	SEGMENT
??_C@_0P@BMAJPLAP@DisableSpawner?$AA@ DB 'DisableSpawner', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0FM@DLPKAKLL@Error?5?9?5AllowAfkMinutes?5must?5be?5@
CONST	SEGMENT
??_C@_0FM@DLPKAKLL@Error?5?9?5AllowAfkMinutes?5must?5be?5@ DB 'Error - Al'
	DB	'lowAfkMinutes must be equal or larger than 1. AllowAFKMinutes'
	DB	' has been set to 1.', 0aH, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0DO@EKCNKFEB@Error?5?9?5Unknown?5weather?5type?3?5?$CFs@
CONST	SEGMENT
??_C@_0DO@EKCNKFEB@Error?5?9?5Unknown?5weather?5type?3?5?$CFs@ DB 'Error '
	DB	'- Unknown weather type: %s; Weather has been disabled.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_04LOGCFOOF@Snow?$AA@
CONST	SEGMENT
??_C@_04LOGCFOOF@Snow?$AA@ DB 'Snow', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_04EEOMLCKJ@Rain?$AA@
CONST	SEGMENT
??_C@_04EEOMLCKJ@Rain?$AA@ DB 'Rain', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03GIACIBN@Ash?$AA@
CONST	SEGMENT
??_C@_03GIACIBN@Ash?$AA@ DB 'Ash', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@HFJFEINH@WeatherType?$AA@
CONST	SEGMENT
??_C@_0M@HFJFEINH@WeatherType?$AA@ DB 'WeatherType', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09HNBGHMKA@NOWEATHER?$AA@
CONST	SEGMENT
??_C@_09HNBGHMKA@NOWEATHER?$AA@ DB 'NOWEATHER', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@JNDLCIPP@EnableWeather?$AA@
CONST	SEGMENT
??_C@_0O@JNDLCIPP@EnableWeather?$AA@ DB 'EnableWeather', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@IHKNBEFA@InvincibleSpawn?$AA@
CONST	SEGMENT
??_C@_0BA@IHKNBEFA@InvincibleSpawn?$AA@ DB 'InvincibleSpawn', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@NNDAAAMO@MinimumBandwidth?$AA@
CONST	SEGMENT
??_C@_0BB@NNDAAAMO@MinimumBandwidth?$AA@ DB 'MinimumBandwidth', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@FNMECBAH@AlwaysStart?$AA@
CONST	SEGMENT
??_C@_0M@FNMECBAH@AlwaysStart?$AA@ DB 'AlwaysStart', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@GBFHGOA@AllowHillAttack?$AA@
CONST	SEGMENT
??_C@_0BA@GBFHGOA@AllowHillAttack?$AA@ DB 'AllowHillAttack', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@JCGMKBGK@AllowAFKMinutes?$AA@
CONST	SEGMENT
??_C@_0BA@JCGMKBGK@AllowAFKMinutes?$AA@ DB 'AllowAFKMinutes', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@NKFPMDGC@RefineryIncomeDump?$AA@
CONST	SEGMENT
??_C@_0BD@NKFPMDGC@RefineryIncomeDump?$AA@ DB 'RefineryIncomeDump', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@DNIFKFH@RefineryIncomeTick?$AA@
CONST	SEGMENT
??_C@_0BD@DNIFKFH@RefineryIncomeTick?$AA@ DB 'RefineryIncomeTick', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@ICNPDLLB@DisablePreset?$AA@
CONST	SEGMENT
??_C@_0O@ICNPDLLB@DisablePreset?$AA@ DB 'DisablePreset', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@HOPFPHBB@SpawnCharGDI?$AA@
CONST	SEGMENT
??_C@_0N@HOPFPHBB@SpawnCharGDI?$AA@ DB 'SpawnCharGDI', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@LMPHMMKB@CnC_GDI_Minigunner_0?$AA@
CONST	SEGMENT
??_C@_0BF@LMPHMMKB@CnC_GDI_Minigunner_0?$AA@ DB 'CnC_GDI_Minigunner_0', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@BHMPELHF@SpawnCharNod?$AA@
CONST	SEGMENT
??_C@_0N@BHMPELHF@SpawnCharNod?$AA@ DB 'SpawnCharNod', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@OEGOFECO@CnC_Nod_Minigunner_0?$AA@
CONST	SEGMENT
??_C@_0BF@OEGOFECO@CnC_Nod_Minigunner_0?$AA@ DB 'CnC_Nod_Minigunner_0', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_08JNBNJFAJ@NoReload?$AA@
CONST	SEGMENT
??_C@_08JNBNJFAJ@NoReload?$AA@ DB 'NoReload', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@ILMNBEKC@InfiniteAmmo?$AA@
CONST	SEGMENT
??_C@_0N@ILMNBEKC@InfiniteAmmo?$AA@ DB 'InfiniteAmmo', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@MLOIFBIO@SuicideResetNegativeCredits?$AA@
CONST	SEGMENT
??_C@_0BM@MLOIFBIO@SuicideResetNegativeCredits?$AA@ DB 'SuicideResetNegat'
	DB	'iveCredits', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@PKAHGDJD@EnableWeaponDrop?$AA@
CONST	SEGMENT
??_C@_0BB@PKAHGDJD@EnableWeaponDrop?$AA@ DB 'EnableWeaponDrop', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@EJMHFDJE@EnableBeacon?$AA@
CONST	SEGMENT
??_C@_0N@EJMHFDJE@EnableBeacon?$AA@ DB 'EnableBeacon', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@DEEMPJIL@EnableInvincibleBuildings?$AA@
CONST	SEGMENT
??_C@_0BK@DEEMPJIL@EnableInvincibleBuildings?$AA@ DB 'EnableInvincibleBui'
	DB	'ldings', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@DICHIGBJ@EnableVehicleWreckages?$AA@
CONST	SEGMENT
??_C@_0BH@DICHIGBJ@EnableVehicleWreckages?$AA@ DB 'EnableVehicleWreckages'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_09FIDECKKA@ForceTeam?$AA@
CONST	SEGMENT
??_C@_09FIDECKKA@ForceTeam?$AA@ DB 'ForceTeam', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_08JJGOBBMF@GameMode?$AA@
CONST	SEGMENT
??_C@_08JJGOBBMF@GameMode?$AA@ DB 'GameMode', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@DILMPDKJ@LogVehicleDeath?$AA@
CONST	SEGMENT
??_C@_0BA@DILMPDKJ@LogVehicleDeath?$AA@ DB 'LogVehicleDeath', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@CDDKGEKF@LogVehiclePurchase?$AA@
CONST	SEGMENT
??_C@_0BD@CDDKGEKF@LogVehiclePurchase?$AA@ DB 'LogVehiclePurchase', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@KCJLGDBM@LogSoldierDeath?$AA@
CONST	SEGMENT
??_C@_0BA@KCJLGDBM@LogSoldierDeath?$AA@ DB 'LogSoldierDeath', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@DEOEGHLF@LogSoldierPurchase?$AA@
CONST	SEGMENT
??_C@_0BD@DEOEGHLF@LogSoldierPurchase?$AA@ DB 'LogSoldierPurchase', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@IKMNLHBL@EnableGamelog?$AA@
CONST	SEGMENT
??_C@_0O@IKMNLHBL@EnableGamelog?$AA@ DB 'EnableGamelog', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_07ECEMPDJM@General?$AA@
CONST	SEGMENT
??_C@_07ECEMPDJM@General?$AA@ DB 'General', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07KFKOLPML@LogRoot?$AA@
CONST	SEGMENT
??_C@_07KFKOLPML@LogRoot?$AA@ DB 'LogRoot', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_05EIMBGKJK@gzaow?$AA@
CONST	SEGMENT
??_C@_05EIMBGKJK@gzaow?$AA@ DB 'gzaow', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0FC@MPHJBGFB@?$FLWarning?$FN?5STGM?4ini?5can?5not?5be?5lo@
CONST	SEGMENT
??_C@_0FC@MPHJBGFB@?$FLWarning?$FN?5STGM?4ini?5can?5not?5be?5lo@ DB '[War'
	DB	'ning] STGM.ini can not be loaded or not found. Default settin'
	DB	'gs will be used.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_08HPIGCGLD@STGM?4ini?$AA@
CONST	SEGMENT
??_C@_08HPIGCGLD@STGM?4ini?$AA@ DB 'STGM.ini', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Load@gzSettingsGameClass@@UAEXXZ DD 019930522H
	DD	014H
	DD	FLAT:__unwindtable$?Load@gzSettingsGameClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Load@gzSettingsGameClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$3
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$4
	DD	04H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$5
	DD	05H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$6
	DD	04H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$6
	DD	07H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$7
	DD	07H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$9
	DD	09H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$10
	DD	0aH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$11
	DD	0bH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$12
	DD	0aH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$12
	DD	0dH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$13
	DD	0dH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$14
	DD	0fH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$15
	DD	0dH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$15
	DD	011H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$16
	DD	012H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$26
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Load@gzSettingsGameClass@@UAEXXZ
_TEXT	SEGMENT
$T69172 = -104						; size = 8
$T69004 = -104						; size = 4
_Bytes$58228 = -104					; size = 6
_Bytes$58226 = -104					; size = 5
$T69001 = -104						; size = 4
_weatherType$ = -96					; size = 8
_disBuilding$ = -88					; size = 8
_spawnerToken$ = -80					; size = 8
_disPresetTok$ = -72					; size = 8
_disSpawner$ = -64					; size = 8
$T69000 = -56						; size = 8
$T68996 = -56						; size = 8
$T69003 = -48						; size = 8
$T69002 = -48						; size = 8
$T68999 = -48						; size = 8
$T68998 = -48						; size = 8
$T68997 = -48						; size = 8
_disPreset$ = -40					; size = 8
$T69006 = -32						; size = 8
$T69005 = -32						; size = 8
$T69008 = -24						; size = 8
__$EHRec$ = -12						; size = 12
?Load@gzSettingsGameClass@@UAEXXZ PROC			; gzSettingsGameClass::Load, COMDAT
; _this$ = ecx

; 53   : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Load@gzSettingsGameClass@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 92					; 0000005cH
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 54   : 	if (!this->Open("STGM.ini"))

	push	OFFSET ??_C@_08HPIGCGLD@STGM?4ini?$AA@
	lea	ecx, DWORD PTR $T68996[esp+124]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T68996[esp+120]
	xor	ebp, ebp
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+132], ebp
	call	?Open@stSettingsBase@@QAE_NABVaString@@@Z ; stSettingsBase::Open
	test	al, al
	sete	bl
	or	edi, -1
	lea	ecx, DWORD PTR $T68996[esp+120]
	mov	DWORD PTR __$EHRec$[esp+128], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN23@Load

; 55   : 		stConsole::Out("[Warning] STGM.ini can not be loaded or not found. Default settings will be used.");

	push	OFFSET ??_C@_0FC@MPHJBGFB@?$FLWarning?$FN?5STGM?4ini?5can?5not?5be?5lo@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 4
$LN23@Load:

; 56   : 
; 57   : 	// Cleanups
; 58   : 	this->Delete();

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx]
	mov	ecx, esi
	call	eax

; 59   : 
; 60   : 	// Log settings
; 61   : 	this->m_LogRoot            = this->Load_String("General", "LogRoot", "gzaow"); // This config must be loaded before everything

	push	OFFSET ??_C@_05EIMBGKJK@gzaow?$AA@
	push	OFFSET ??_C@_07KFKOLPML@LogRoot?$AA@
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	lea	ecx, DWORD PTR $T68997[esp+132]
	push	ecx
	mov	ecx, esi
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String
	push	eax
	lea	ecx, DWORD PTR [esi+104]
	mov	DWORD PTR __$EHRec$[esp+132], 1
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T68997[esp+120]
	mov	DWORD PTR __$EHRec$[esp+128], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 62   : 	this->m_EnableGamelog      = this->Load_Bool("EnableGamelog", false, false, true);

	push	1
	push	ebp
	push	ebp
	push	OFFSET ??_C@_0O@IKMNLHBL@EnableGamelog?$AA@
	mov	ecx, esi
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 63   : 	this->m_LogSoldierPurchase = this->Load_Bool("LogSoldierPurchase", true, false, true);

	push	1
	push	ebp
	push	1
	push	OFFSET ??_C@_0BD@DEOEGHLF@LogSoldierPurchase?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+112], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 64   : 	this->m_LogSoldierDeath    = this->Load_Bool("LogSoldierDeath", true, false, true);

	push	1
	push	ebp
	push	1
	push	OFFSET ??_C@_0BA@KCJLGDBM@LogSoldierDeath?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+113], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 65   : 	this->m_LogVehiclePurchase = this->Load_Bool("LogVehiclePurchase", true, false, true);

	push	1
	push	ebp
	push	1
	push	OFFSET ??_C@_0BD@CDDKGEKF@LogVehiclePurchase?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+114], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 66   : 	this->m_LogVehicleDeath    = this->Load_Bool("LogVehicleDeath", true, false, true);

	push	1
	push	ebp
	push	1
	push	OFFSET ??_C@_0BA@DILMPDKJ@LogVehicleDeath?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+115], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 67   : 
; 68   : 	// Game settings
; 69   : 	this->m_GameMode					= this->Load_Int("GameMode", 1);

	push	1
	push	1
	push	1
	push	OFFSET ??_C@_08JJGOBBMF@GameMode?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+116], al
	call	?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z	; stSettingsBase::Load_Int

; 70   : 	this->m_ForceTeam					= this->Load_Int("ForceTeam", -1);

	push	1
	push	1
	push	edi
	push	OFFSET ??_C@_09FIDECKKA@ForceTeam?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+24], eax
	call	?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z	; stSettingsBase::Load_Int

; 71   : 	this->m_EnableVehicleWreckages		= this->Load_Bool("EnableVehicleWreckages", false);

	push	1
	push	1
	push	ebp
	push	OFFSET ??_C@_0BH@DICHIGBJ@EnableVehicleWreckages?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 72   : 	this->m_EnableInvincibleBuildings	= this->Load_Bool("EnableInvincibleBuildings", false);

	push	1
	push	1
	push	ebp
	push	OFFSET ??_C@_0BK@DEEMPJIL@EnableInvincibleBuildings?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+32], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 73   : 	this->m_EnableBeacon				= this->Load_Bool("EnableBeacon", false);

	push	1
	push	1
	push	ebp
	push	OFFSET ??_C@_0N@EJMHFDJE@EnableBeacon?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+33], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 74   : 	this->m_EnableWeaponDrop			= this->Load_Bool("EnableWeaponDrop", false);

	push	1
	push	1
	push	ebp
	push	OFFSET ??_C@_0BB@PKAHGDJD@EnableWeaponDrop?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+34], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 75   : 	this->m_SuicideResetNegativeCredits = this->Load_Bool("SuicideResetNegativeCredits", false, false, true);

	push	1
	push	ebp
	push	ebp
	push	OFFSET ??_C@_0BM@MLOIFBIO@SuicideResetNegativeCredits?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+35], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 76   : 	this->m_EnableInfAmmo				= this->Load_Bool("InfiniteAmmo", false);

	push	1
	push	1
	push	ebp
	push	OFFSET ??_C@_0N@ILMNBEKC@InfiniteAmmo?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+37], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 77   : 	this->m_NoReload					= this->Load_Bool("NoReload", false);

	push	1
	push	1
	push	ebp
	push	OFFSET ??_C@_08JNBNJFAJ@NoReload?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+38], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 78   : 	this->m_SpawnChar[0] = this->Load_String("SpawnCharNod", "CnC_Nod_Minigunner_0", "CnC_Nod_Minigunner_0");

	push	OFFSET ??_C@_0BF@OEGOFECO@CnC_Nod_Minigunner_0?$AA@
	push	OFFSET ??_C@_0BF@OEGOFECO@CnC_Nod_Minigunner_0?$AA@
	push	OFFSET ??_C@_0N@BHMPELHF@SpawnCharNod?$AA@
	lea	edx, DWORD PTR $T68998[esp+132]
	push	edx
	mov	ecx, esi
	mov	BYTE PTR [esi+39], al
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String
	push	eax
	lea	ecx, DWORD PTR [esi+40]
	mov	DWORD PTR __$EHRec$[esp+132], 2
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T68998[esp+120]
	mov	DWORD PTR __$EHRec$[esp+128], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 79   : 	this->m_SpawnChar[1] = this->Load_String("SpawnCharGDI", "CnC_GDI_Minigunner_0", "CnC_GDI_Minigunner_0");

	push	OFFSET ??_C@_0BF@LMPHMMKB@CnC_GDI_Minigunner_0?$AA@
	push	OFFSET ??_C@_0BF@LMPHMMKB@CnC_GDI_Minigunner_0?$AA@
	push	OFFSET ??_C@_0N@HOPFPHBB@SpawnCharGDI?$AA@
	lea	eax, DWORD PTR $T68999[esp+132]
	push	eax
	mov	ecx, esi
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String
	push	eax
	lea	ecx, DWORD PTR [esi+48]
	mov	DWORD PTR __$EHRec$[esp+132], 3
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T68999[esp+120]
	mov	DWORD PTR __$EHRec$[esp+128], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 80   : 
; 81   : 	aString disPreset = this->Load_String("General", "DisablePreset", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0O@ICNPDLLB@DisablePreset?$AA@
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	lea	ecx, DWORD PTR _disPreset$[esp+132]
	push	ecx
	mov	ecx, esi
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String

; 82   : 	aToken disPresetTok(disPreset.GetString());

	mov	eax, DWORD PTR _disPreset$[esp+124]
	cmp	eax, ebp
	mov	DWORD PTR __$EHRec$[esp+128], 4
	je	SHORT $LN58@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN59@Load
$LN58@Load:
	xor	eax, eax
$LN59@Load:
	push	eax
	lea	ecx, DWORD PTR $T69000[esp+124]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	edx, DWORD PTR $T69000[esp+120]
	push	edx
	lea	ecx, DWORD PTR _disPresetTok$[esp+124]
	mov	BYTE PTR __$EHRec$[esp+132], 5
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T69000[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 7
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 83   : 	for (int i = 1; i <= disPresetTok.numtok(' '); i++)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _disPresetTok$[esp+124]
	mov	edi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, edi
	jl	SHORT $LN20@Load
	lea	ebx, DWORD PTR [esi+56]
$LL22@Load:

; 84   : 		this->m_DisablePreset.Add(disPresetTok.gettok(i, ' ').GetData().GetString());

	push	32					; 00000020H
	push	edi
	lea	eax, DWORD PTR $T69002[esp+128]
	push	eax
	lea	ecx, DWORD PTR _disPresetTok$[esp+132]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+128], 8
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, ebp
	je	SHORT $LN67@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN68@Load
$LN67@Load:
	xor	eax, eax
$LN68@Load:
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T69001[esp+128], esp
	push	eax
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, ebx
	call	?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z ; aStringArrayBase<aString>::Add
	lea	ecx, DWORD PTR $T69002[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 7
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	32					; 00000020H
	lea	ecx, DWORD PTR _disPresetTok$[esp+124]
	add	edi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	edi, eax
	jle	SHORT $LL22@Load
$LN20@Load:

; 85   : 
; 86   : 	this->m_RefineryIncomeTick = this->Load_Float("RefineryIncomeTick", 0.0f);

	fldz
	push	1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	OFFSET ??_C@_0BD@DNIFKFH@RefineryIncomeTick?$AA@
	mov	ecx, esi
	call	?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z ; stSettingsBase::Load_Float
	fstp	DWORD PTR [esi+72]

; 87   : 	this->m_RefineryIncomeDump = this->Load_Float("RefineryIncomeDump", 0.0f);

	fldz
	push	1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	OFFSET ??_C@_0BD@NKFPMDGC@RefineryIncomeDump?$AA@
	mov	ecx, esi
	call	?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z ; stSettingsBase::Load_Float
	fstp	DWORD PTR [esi+76]

; 88   : 	this->m_AllowAfkSeconds    = this->Load_Float("AllowAFKMinutes", 10.0f, false, true) * 60.0f;

	fld	DWORD PTR __real@41200000
	push	1
	push	ebp
	push	ecx
	fstp	DWORD PTR [esp]
	push	OFFSET ??_C@_0BA@JCGMKBGK@AllowAFKMinutes?$AA@
	mov	ecx, esi
	call	?Load_Float@stSettingsBase@@IAEMPBDM_N1@Z ; stSettingsBase::Load_Float
	fmul	DWORD PTR __real@42700000

; 89   : 	this->m_AllowHillAttack    = this->Load_Bool("AllowHillAttack", true, true, false);

	push	ebp
	push	1
	push	1
	fstp	DWORD PTR [esi+80]
	push	OFFSET ??_C@_0BA@GBFHGOA@AllowHillAttack?$AA@
	mov	ecx, esi
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 90   : 	this->m_AlwaysStart        = this->Load_Bool("AlwaysStart", false, false, true);

	push	1
	push	ebp
	push	ebp
	push	OFFSET ??_C@_0M@FNMECBAH@AlwaysStart?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+84], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 91   : 	this->m_MinimumBandwidth   = this->Load_Int("MinimumBandwidth", 56000, false, true);

	push	1
	push	ebp
	push	56000					; 0000dac0H
	push	OFFSET ??_C@_0BB@NNDAAAMO@MinimumBandwidth?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+92], al
	call	?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z	; stSettingsBase::Load_Int

; 92   : 	this->m_InvincibleSecs      = this->Load_Int("InvincibleSpawn", 0, false, true);

	push	1
	push	ebp
	push	ebp
	push	OFFSET ??_C@_0BA@IHKNBEFA@InvincibleSpawn?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+96], eax
	call	?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z	; stSettingsBase::Load_Int

; 93   : 
; 94   : 	// Weather
; 95   : 	this->m_EnableWeather = this->Load_Bool("EnableWeather", true, true, false);

	push	ebp
	push	1
	push	1
	push	OFFSET ??_C@_0O@JNDLCIPP@EnableWeather?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+100], eax
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 96   : 	aString weatherType = this->Load_String("WeatherType", "NOWEATHER");

	push	1
	push	1
	push	OFFSET ??_C@_09HNBGHMKA@NOWEATHER?$AA@
	push	OFFSET ??_C@_0M@HFJFEINH@WeatherType?$AA@
	lea	ecx, DWORD PTR _weatherType$[esp+136]
	push	ecx
	mov	ecx, esi
	mov	BYTE PTR [esi+85], al
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z ; stSettingsBase::Load_String

; 97   : 	if (weatherType == "NOWEATHER")

	push	OFFSET ??_C@_09HNBGHMKA@NOWEATHER?$AA@
	lea	ecx, DWORD PTR _weatherType$[esp+124]
	mov	BYTE PTR __$EHRec$[esp+132], 9
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	je	SHORT $LN19@Load

; 98   : 	{
; 99   : 		this->m_EnableWeather = false;

	mov	BYTE PTR [esi+85], 0

; 100  : 		this->m_WeatherType = WEATHER_NONE;

	mov	DWORD PTR [esi+88], ebp
	jmp	SHORT $LN12@Load
$LN19@Load:

; 101  : 	}
; 102  : 	else if (weatherType == "Ash")

	push	OFFSET ??_C@_03GIACIBN@Ash?$AA@
	lea	ecx, DWORD PTR _weatherType$[esp+124]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	je	SHORT $LN17@Load

; 103  : 		this->m_WeatherType = WEATHER_ASH;

	mov	DWORD PTR [esi+88], 3
	jmp	SHORT $LN12@Load
$LN17@Load:

; 104  : 	else if (weatherType == "Rain")

	push	OFFSET ??_C@_04EEOMLCKJ@Rain?$AA@
	lea	ecx, DWORD PTR _weatherType$[esp+124]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	je	SHORT $LN15@Load

; 105  : 		this->m_WeatherType = WEATHER_RAIN;

	mov	DWORD PTR [esi+88], 1
	jmp	SHORT $LN12@Load
$LN15@Load:

; 106  : 	else if (weatherType == "Snow")

	push	OFFSET ??_C@_04LOGCFOOF@Snow?$AA@
	lea	ecx, DWORD PTR _weatherType$[esp+124]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	je	SHORT $LN13@Load

; 107  : 		this->m_WeatherType = WEATHER_SNOW;

	mov	DWORD PTR [esi+88], 2

; 108  : 	else

	jmp	SHORT $LN12@Load
$LN13@Load:

; 109  : 	{
; 110  : 		this->m_EnableWeather = false;
; 111  : 		this->m_WeatherType = WEATHER_NONE;
; 112  : 		stConsole::Out("Error - Unknown weather type: %s; Weather has been disabled.\n", weatherType.GetString());

	mov	eax, DWORD PTR _weatherType$[esp+124]
	cmp	eax, ebp
	mov	BYTE PTR [esi+85], 0
	mov	DWORD PTR [esi+88], ebp
	je	SHORT $LN73@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN74@Load
$LN73@Load:
	xor	eax, eax
$LN74@Load:
	push	eax
	push	OFFSET ??_C@_0DO@EKCNKFEB@Error?5?9?5Unknown?5weather?5type?3?5?$CFs@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
$LN12@Load:

; 113  : 	}
; 114  : 	weatherType.Free_String();

	lea	ecx, DWORD PTR _weatherType$[esp+120]
	call	?Clear@aStringBase@@QAEXXZ		; aStringBase::Clear

; 115  : 
; 116  : 	this->m_AllowHillAttack = this->Load_Bool("AllowHillAttack", true, false, true);

	push	1
	push	ebp
	push	1
	push	OFFSET ??_C@_0BA@GBFHGOA@AllowHillAttack?$AA@
	mov	ecx, esi
	call	?Load_Bool@stSettingsBase@@IAE_NPBD_N11@Z ; stSettingsBase::Load_Bool

; 117  : 
; 118  : 	if (!this->m_EnableInfAmmo)

	cmp	BYTE PTR [esi+38], 0
	mov	BYTE PTR [esi+84], al
	jne	SHORT $LN11@Load

; 119  : 		this->m_NoReload = false;

	mov	BYTE PTR [esi+39], 0
$LN11@Load:

; 120  : 	if (this->m_AllowAfkSeconds < 60.0f)

	fld	DWORD PTR __real@42700000
	fcom	DWORD PTR [esi+80]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN136@Load

; 121  : 	{
; 122  : 		this->m_AllowAfkSeconds = 60.0f;
; 123  : 		stConsole::Out("Error - AllowAfkMinutes must be equal or larger than 1. AllowAFKMinutes has been set to 1.\n");

	push	OFFSET ??_C@_0FM@DLPKAKLL@Error?5?9?5AllowAfkMinutes?5must?5be?5@
	fstp	DWORD PTR [esi+80]
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 4
	jmp	SHORT $LN10@Load
$LN136@Load:
	fstp	ST(0)
$LN10@Load:

; 124  : 	}
; 125  : 
; 126  : 	if (this->m_AlwaysStart)

	cmp	BYTE PTR [esi+92], 0

; 127  : 	{
; 128  : 		unsigned char Bytes[] = { 0xBA, 0x01, 0x00, 0x00, 0x00 };
; 129  : 		PatchByte(0xEB, 1, 0x478A93);

	push	4688531					; 00478a93H
	mov	BYTE PTR _Bytes$58226[esp+128], 0
	push	1
	je	SHORT $LN9@Load
	push	235					; 000000ebH
	mov	BYTE PTR _Bytes$58226[esp+132], 186	; 000000baH
	mov	BYTE PTR _Bytes$58226[esp+133], 1
	mov	BYTE PTR _Bytes$58226[esp+134], 0
	mov	BYTE PTR _Bytes$58226[esp+135], 0
	call	?PatchByte@@YAXEKK@Z			; PatchByte

; 130  : 		PatchData(&Bytes, 5, 0x472C95);

	push	4664469					; 00472c95H
	lea	edx, DWORD PTR _Bytes$58226[esp+136]
	push	5
	push	edx
	call	?PatchData@@YAXPAXKK@Z			; PatchData

; 131  : 		PatchByte(0x90, 1, 0x472C9A);

	push	4664474					; 00472c9aH
	push	1
	push	144					; 00000090H
	call	?PatchByte@@YAXEKK@Z			; PatchByte
	add	esp, 36					; 00000024H

; 132  : 	}
; 133  : 	else

	jmp	SHORT $LN8@Load
$LN9@Load:

; 134  : 	{
; 135  : 		unsigned char Bytes[] = { 0x8B, 0x97, 0xF8, 0x01, 0x00, 0x00 };
; 136  : 		PatchByte(0x7E, 1, 0x478A93);

	push	126					; 0000007eH
	mov	BYTE PTR _Bytes$58228[esp+132], 139	; 0000008bH
	mov	BYTE PTR _Bytes$58228[esp+133], 151	; 00000097H
	mov	BYTE PTR _Bytes$58228[esp+134], 248	; 000000f8H
	mov	BYTE PTR _Bytes$58228[esp+135], 1
	mov	BYTE PTR _Bytes$58228[esp+137], 0
	call	?PatchByte@@YAXEKK@Z			; PatchByte

; 137  : 		PatchData(&Bytes, 6, 0x472C95);

	push	4664469					; 00472c95H
	lea	eax, DWORD PTR _Bytes$58228[esp+136]
	push	6
	push	eax
	call	?PatchData@@YAXPAXKK@Z			; PatchData
	add	esp, 24					; 00000018H
$LN8@Load:

; 138  : 	}
; 139  : 
; 140  : 	this->m_DisableSpawner.Clear();

	mov	edx, DWORD PTR [esi+120]
	mov	eax, DWORD PTR [edx+4]
	lea	ebp, DWORD PTR [esi+120]
	mov	ecx, ebp
	call	eax

; 141  : 	aString disSpawner = this->Load_String("DisableSpawner", "", true, false);

	push	0
	push	1
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0P@BMAJPLAP@DisableSpawner?$AA@
	lea	ecx, DWORD PTR _disSpawner$[esp+136]
	push	ecx
	mov	ecx, esi
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z ; stSettingsBase::Load_String

; 142  : 	aToken spawnerToken(disSpawner.GetString());

	mov	eax, DWORD PTR _disSpawner$[esp+124]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+128], 10		; 0000000aH
	je	SHORT $LN81@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN82@Load
$LN81@Load:
	xor	eax, eax
$LN82@Load:
	push	eax
	lea	ecx, DWORD PTR $T69003[esp+124]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	edx, DWORD PTR $T69003[esp+120]
	push	edx
	lea	ecx, DWORD PTR _spawnerToken$[esp+124]
	mov	BYTE PTR __$EHRec$[esp+132], 11		; 0000000bH
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T69003[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 13		; 0000000dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 143  : 	if (!disSpawner.IsEmpty())

	mov	eax, DWORD PTR _disSpawner$[esp+124]
	test	eax, eax
	je	SHORT $LN4@Load
	cmp	DWORD PTR [eax+4], 0
	je	SHORT $LN4@Load
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN4@Load

; 144  : 	{
; 145  : 		for (int i = 1; i <= spawnerToken.numtok(' '); i++)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _spawnerToken$[esp+124]
	mov	edi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, edi
	jl	SHORT $LN4@Load
	mov	bl, 14					; 0000000eH
$LL6@Load:

; 146  : 			this->m_DisableSpawner.Add(spawnerToken.gettok(i, ' ').ToLong());

	push	32					; 00000020H
	push	edi
	lea	eax, DWORD PTR $T69005[esp+128]
	push	eax
	lea	ecx, DWORD PTR _spawnerToken$[esp+132]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+128], bl
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	mov	edx, DWORD PTR [ebp]
	mov	edx, DWORD PTR [edx+12]
	mov	DWORD PTR $T69004[esp+120], eax
	lea	eax, DWORD PTR $T69004[esp+120]
	push	eax
	mov	ecx, ebp
	call	edx
	lea	ecx, DWORD PTR $T69005[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 13		; 0000000dH
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	32					; 00000020H
	lea	ecx, DWORD PTR _spawnerToken$[esp+124]
	add	edi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	edi, eax
	jle	SHORT $LL6@Load
$LN4@Load:

; 147  : 	}
; 148  : 
; 149  : #if VERC(1, 0, 1)
; 150  : 	this->m_disableBuildings.Clear();

	mov	eax, DWORD PTR [esi+136]
	mov	edx, DWORD PTR [eax+4]
	lea	edi, DWORD PTR [esi+136]
	mov	ecx, edi
	call	edx

; 151  : 	aToken disBuilding(this->Load_String("DisableBuildings", "", true, false));

	push	0
	push	1
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BB@KOBOIGJK@DisableBuildings?$AA@
	lea	eax, DWORD PTR $T69006[esp+136]
	push	eax
	mov	ecx, esi
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD0_N1@Z ; stSettingsBase::Load_String
	push	eax
	lea	ecx, DWORD PTR _disBuilding$[esp+124]
	mov	BYTE PTR __$EHRec$[esp+132], 15		; 0000000fH
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T69006[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 17		; 00000011H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 152  : 	for (int i = 1; i <= disBuilding.numtok(' '); i++)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _disBuilding$[esp+124]
	mov	ebp, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, ebp
	jl	$LN1@Load
$LN3@Load:

; 153  : 		this->m_disableBuildings.Add(disBuilding.gettok(i, ' ').GetData());

	push	32					; 00000020H
	push	ebp
	lea	ecx, DWORD PTR $T69008[esp+128]
	push	ecx
	lea	ecx, DWORD PTR _disBuilding$[esp+132]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+128], 18		; 00000012H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	lea	ecx, DWORD PTR $T69172[esp+124]
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR $T69172[esp+120], OFFSET ??_7aString@@6B@
	mov	ecx, DWORD PTR $T69172[esp+124]
	mov	BYTE PTR __$EHRec$[esp+128], 19		; 00000013H
	call	?IncRef@aStringData@@QAEXXZ		; aStringData::IncRef
	mov	eax, DWORD PTR [edi+12]
	mov	edx, DWORD PTR [edi]
	mov	edx, DWORD PTR [edx+8]
	mov	ebx, DWORD PTR $T69172[esp+124]
	add	eax, 1
	push	eax
	mov	ecx, edi
	call	edx
	test	al, al
	je	SHORT $LN109@Load
	mov	eax, DWORD PTR [edi+12]
	mov	ecx, DWORD PTR [edi+4]
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR [edi+12], 1
$LN109@Load:
	lea	ecx, DWORD PTR $T69172[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 18		; 00000012H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T69008[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 17		; 00000011H
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	32					; 00000020H
	lea	ecx, DWORD PTR _disBuilding$[esp+124]
	add	ebp, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	ebp, eax
	jle	$LN3@Load
$LN1@Load:

; 154  : #endif
; 155  : 
; 156  : 	this->Close();

	mov	ecx, esi
	call	?Close@stSettingsBase@@QAEXXZ		; stSettingsBase::Close

; 157  : }

	lea	ecx, DWORD PTR _disBuilding$[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 13		; 0000000dH
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR _spawnerToken$[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 10		; 0000000aH
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR _disSpawner$[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 9
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR _weatherType$[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 7
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR _disPresetTok$[esp+120]
	mov	BYTE PTR __$EHRec$[esp+128], 4
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR _disPreset$[esp+120]
	mov	DWORD PTR __$EHRec$[esp+128], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+120]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	pop	ebp
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$0:
	lea	ecx, DWORD PTR $T68996[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$1:
	lea	ecx, DWORD PTR $T68997[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$2:
	lea	ecx, DWORD PTR $T68998[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$3:
	lea	ecx, DWORD PTR $T68999[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$4:
	lea	ecx, DWORD PTR _disPreset$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$5:
	lea	ecx, DWORD PTR $T69000[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$6:
	lea	ecx, DWORD PTR _disPresetTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$7:
	lea	ecx, DWORD PTR $T69002[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$9:
	lea	ecx, DWORD PTR _weatherType$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$10:
	lea	ecx, DWORD PTR _disSpawner$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$11:
	lea	ecx, DWORD PTR $T69003[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$12:
	lea	ecx, DWORD PTR _spawnerToken$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$13:
	lea	ecx, DWORD PTR $T69005[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$14:
	lea	ecx, DWORD PTR $T69006[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$15:
	lea	ecx, DWORD PTR _disBuilding$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$16:
	lea	ecx, DWORD PTR $T69008[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsGameClass@@UAEXXZ$26:
	lea	ecx, DWORD PTR $T69172[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load@gzSettingsGameClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Load@gzSettingsGameClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load@gzSettingsGameClass@@UAEXXZ ENDP			; gzSettingsGameClass::Load
PUBLIC	?Delete@gzGameManager@@UAEXXZ			; gzGameManager::Delete
EXTRN	_fclose:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Delete@gzGameManager@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzGameManager@@UAEXXZ PROC			; gzGameManager::Delete, COMDAT
; _this$ = ecx

; 204  : {

	push	esi
	mov	esi, ecx

; 205  : 	if (this->m_gameMode)

	mov	ecx, DWORD PTR [esi+40]
	test	ecx, ecx
	je	SHORT $LN2@Delete@5

; 206  : 		this->m_gameMode->SetDeletePending();

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx
$LN2@Delete@5:

; 207  : 
; 208  : 	this->m_settings = NULL;
; 209  : 	if (this->m_gamelogFile)

	mov	eax, DWORD PTR [esi+44]
	test	eax, eax
	mov	DWORD PTR [esi+72], 0
	je	SHORT $LN1@Delete@5

; 210  : 	{
; 211  : 		fclose(this->m_gamelogFile);

	push	eax
	call	_fclose
	add	esp, 4

; 212  : 		this->m_gamelogFile = NULL;

	mov	DWORD PTR [esi+44], 0
	pop	esi

; 213  : 		gzGamelogBase::RenameLog();

	jmp	?RenameLog@gzGamelogBase@@SAXXZ		; gzGamelogBase::RenameLog
$LN1@Delete@5:
	pop	esi

; 214  : 	}
; 215  : }

	ret	0
?Delete@gzGameManager@@UAEXXZ ENDP			; gzGameManager::Delete
_TEXT	ENDS
PUBLIC	??_7gzGameInfOnly@@6B@				; gzGameInfOnly::`vftable'
PUBLIC	??0gzGameInfOnly@@QAE@XZ			; gzGameInfOnly::gzGameInfOnly
PUBLIC	??_R4gzGameInfOnly@@6B@				; gzGameInfOnly::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzGameInfOnly@@@8			; gzGameInfOnly `RTTI Type Descriptor'
PUBLIC	??_R3gzGameInfOnly@@8				; gzGameInfOnly::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzGameInfOnly@@8				; gzGameInfOnly::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzGameInfOnly@@8			; gzGameInfOnly::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetName@gzGameInfOnly@@UAEPBDXZ		; gzGameInfOnly::GetName
PUBLIC	?Delete@gzGameInfOnly@@UAEXXZ			; gzGameInfOnly::Delete
PUBLIC	?ModeName@gzGameInfOnly@@UAEPBDXZ		; gzGameInfOnly::ModeName
PUBLIC	?As_GameInfOnly@gzGameInfOnly@@UAEPAV1@XZ	; gzGameInfOnly::As_GameInfOnly
EXTRN	??_EgzGameInfOnly@@UAEPAXI@Z:PROC		; gzGameInfOnly::`vector deleting destructor'
EXTRN	?Player_Purchase@gzGameInfOnly@@UAEXAAVgzEventPlayerPurchase@@@Z:PROC ; gzGameInfOnly::Player_Purchase
;	COMDAT ??_R1A@?0A@EA@gzGameInfOnly@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzGameInfOnly@@8 DD FLAT:??_R0?AVgzGameInfOnly@@@8 ; gzGameInfOnly::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzGameInfOnly@@8
rdata$r	ENDS
;	COMDAT ??_R2gzGameInfOnly@@8
rdata$r	SEGMENT
??_R2gzGameInfOnly@@8 DD FLAT:??_R1A@?0A@EA@gzGameInfOnly@@8 ; gzGameInfOnly::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzGameModeBase@@8
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzGameInfOnly@@8
rdata$r	SEGMENT
??_R3gzGameInfOnly@@8 DD 00H				; gzGameInfOnly::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzGameInfOnly@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzGameInfOnly@@@8
_DATA	SEGMENT
??_R0?AVgzGameInfOnly@@@8 DD FLAT:??_7type_info@@6B@	; gzGameInfOnly `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzGameInfOnly@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzGameInfOnly@@6B@
rdata$r	SEGMENT
??_R4gzGameInfOnly@@6B@ DD 00H				; gzGameInfOnly::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzGameInfOnly@@@8
	DD	FLAT:??_R3gzGameInfOnly@@8
rdata$r	ENDS
;	COMDAT ??_7gzGameInfOnly@@6B@
CONST	SEGMENT
??_7gzGameInfOnly@@6B@ DD FLAT:??_R4gzGameInfOnly@@6B@	; gzGameInfOnly::`vftable'
	DD	FLAT:??_EgzGameInfOnly@@UAEPAXI@Z
	DD	FLAT:?GetName@gzGameInfOnly@@UAEPBDXZ
	DD	FLAT:?Delete@gzGameInfOnly@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@EventHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@EventHandler@@UAEXXZ
	DD	FLAT:?Think@EventHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzGameInfOnly@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzGameModeBase@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzGameModeBase@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
	DD	FLAT:?ModeName@gzGameInfOnly@@UAEPBDXZ
	DD	FLAT:?As_GameAow@gzGameModeBase@@UAEPAVgzGameAow@@XZ
	DD	FLAT:?As_GameCTF@gzGameModeBase@@UAEPAVgzGameCTF@@XZ
	DD	FLAT:?As_GameInfOnly@gzGameInfOnly@@UAEPAV1@XZ
	DD	FLAT:?As_GameSniper@gzGameModeBase@@UAEPAVgzGameSniper@@XZ
	DD	FLAT:?As_Game500Snip@gzGameModeBase@@UAEPAVgzGame500Snip@@XZ
	DD	FLAT:?As_GameDM@gzGameModeBase@@UAEPAVgzGameDM@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzGameInfOnly@@QAE@XZ
_TEXT	SEGMENT
??0gzGameInfOnly@@QAE@XZ PROC				; gzGameInfOnly::gzGameInfOnly, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzGameModeBase@@QAE@XZ		; gzGameModeBase::gzGameModeBase
	mov	DWORD PTR [esi], OFFSET ??_7gzGameInfOnly@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzGameInfOnly@@QAE@XZ ENDP				; gzGameInfOnly::gzGameInfOnly
_TEXT	ENDS
PUBLIC	??_C@_0O@CNCPFILF@gzGameInfOnly?$AA@		; `string'
;	COMDAT ??_C@_0O@CNCPFILF@gzGameInfOnly?$AA@
; File d:\source code\stgm\stgameinfonly.h
CONST	SEGMENT
??_C@_0O@CNCPFILF@gzGameInfOnly?$AA@ DB 'gzGameInfOnly', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzGameInfOnly@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzGameInfOnly@@UAEPBDXZ PROC			; gzGameInfOnly::GetName, COMDAT
; _this$ = ecx

; 8    : 		return "gzGameInfOnly";

	mov	eax, OFFSET ??_C@_0O@CNCPFILF@gzGameInfOnly?$AA@

; 9    : 	};

	ret	0
?GetName@gzGameInfOnly@@UAEPBDXZ ENDP			; gzGameInfOnly::GetName
_TEXT	ENDS
PUBLIC	??_C@_0O@CPKJMHBN@Infantry?5Only?$AA@		; `string'
;	COMDAT ??_C@_0O@CPKJMHBN@Infantry?5Only?$AA@
CONST	SEGMENT
??_C@_0O@CPKJMHBN@Infantry?5Only?$AA@ DB 'Infantry Only', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?ModeName@gzGameInfOnly@@UAEPBDXZ
_TEXT	SEGMENT
?ModeName@gzGameInfOnly@@UAEPBDXZ PROC			; gzGameInfOnly::ModeName, COMDAT
; _this$ = ecx

; 12   : 		return "Infantry Only";

	mov	eax, OFFSET ??_C@_0O@CPKJMHBN@Infantry?5Only?$AA@

; 13   : 	};

	ret	0
?ModeName@gzGameInfOnly@@UAEPBDXZ ENDP			; gzGameInfOnly::ModeName
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?As_GameInfOnly@gzGameInfOnly@@UAEPAV1@XZ
_TEXT	SEGMENT
?As_GameInfOnly@gzGameInfOnly@@UAEPAV1@XZ PROC		; gzGameInfOnly::As_GameInfOnly, COMDAT
; _this$ = ecx

; 15   : 	{

	mov	eax, ecx

; 16   : 		return this;
; 17   : 	};

	ret	0
?As_GameInfOnly@gzGameInfOnly@@UAEPAV1@XZ ENDP		; gzGameInfOnly::As_GameInfOnly
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@gzGameInfOnly@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzGameInfOnly@@UAEXXZ PROC			; gzGameInfOnly::Delete, COMDAT
; _this$ = ecx

; 18   : 	void Delete() { };

	ret	0
?Delete@gzGameInfOnly@@UAEXXZ ENDP			; gzGameInfOnly::Delete
_TEXT	ENDS
PUBLIC	??1gzGameInfOnly@@UAE@XZ			; gzGameInfOnly::~gzGameInfOnly
; Function compile flags: /Ogtpy
;	COMDAT ??1gzGameInfOnly@@UAE@XZ
_TEXT	SEGMENT
??1gzGameInfOnly@@UAE@XZ PROC				; gzGameInfOnly::~gzGameInfOnly, COMDAT
; _this$ = ecx
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
??1gzGameInfOnly@@UAE@XZ ENDP				; gzGameInfOnly::~gzGameInfOnly
_TEXT	ENDS
PUBLIC	??_7gzGame500Snip@@6B@				; gzGame500Snip::`vftable'
PUBLIC	??0gzGame500Snip@@QAE@XZ			; gzGame500Snip::gzGame500Snip
PUBLIC	??_R4gzGame500Snip@@6B@				; gzGame500Snip::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzGame500Snip@@@8			; gzGame500Snip `RTTI Type Descriptor'
PUBLIC	??_R3gzGame500Snip@@8				; gzGame500Snip::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzGame500Snip@@8				; gzGame500Snip::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzGame500Snip@@8			; gzGame500Snip::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@gzGameSniper@@8			; gzGameSniper::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVgzGameSniper@@@8			; gzGameSniper `RTTI Type Descriptor'
PUBLIC	??_R3gzGameSniper@@8				; gzGameSniper::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzGameSniper@@8				; gzGameSniper::`RTTI Base Class Array'
PUBLIC	?GetName@gzGame500Snip@@UAEPBDXZ		; gzGame500Snip::GetName
PUBLIC	?Delete@gzGame500Snip@@UAEXXZ			; gzGame500Snip::Delete
PUBLIC	?ModeName@gzGame500Snip@@UAEPBDXZ		; gzGame500Snip::ModeName
PUBLIC	?As_GameSniper@gzGameSniper@@UAEPAV1@XZ		; gzGameSniper::As_GameSniper
PUBLIC	?As_Game500Snip@gzGame500Snip@@UAEPAV1@XZ	; gzGame500Snip::As_Game500Snip
EXTRN	??0gzGameSniper@@QAE@XZ:PROC			; gzGameSniper::gzGameSniper
EXTRN	??_EgzGame500Snip@@UAEPAXI@Z:PROC		; gzGame500Snip::`vector deleting destructor'
EXTRN	?Think@gzGameSniper@@UAEXXZ:PROC		; gzGameSniper::Think
EXTRN	?Player_Purchase@gzGame500Snip@@UAEXAAVgzEventPlayerPurchase@@@Z:PROC ; gzGame500Snip::Player_Purchase
EXTRN	?Object_Damaged@gzGameSniper@@UAEXAAVgzEventObjectDamage@@@Z:PROC ; gzGameSniper::Object_Damaged
;	COMDAT ??_R2gzGameSniper@@8
rdata$r	SEGMENT
??_R2gzGameSniper@@8 DD FLAT:??_R1A@?0A@EA@gzGameSniper@@8 ; gzGameSniper::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzGameModeBase@@8
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzGameSniper@@8
rdata$r	SEGMENT
??_R3gzGameSniper@@8 DD 00H				; gzGameSniper::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzGameSniper@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzGameSniper@@@8
_DATA	SEGMENT
??_R0?AVgzGameSniper@@@8 DD FLAT:??_7type_info@@6B@	; gzGameSniper `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzGameSniper@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@gzGameSniper@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzGameSniper@@8 DD FLAT:??_R0?AVgzGameSniper@@@8 ; gzGameSniper::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzGameSniper@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzGame500Snip@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzGame500Snip@@8 DD FLAT:??_R0?AVgzGame500Snip@@@8 ; gzGame500Snip::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	04H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzGame500Snip@@8
rdata$r	ENDS
;	COMDAT ??_R2gzGame500Snip@@8
rdata$r	SEGMENT
??_R2gzGame500Snip@@8 DD FLAT:??_R1A@?0A@EA@gzGame500Snip@@8 ; gzGame500Snip::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzGameSniper@@8
	DD	FLAT:??_R1A@?0A@EA@gzGameModeBase@@8
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzGame500Snip@@8
rdata$r	SEGMENT
??_R3gzGame500Snip@@8 DD 00H				; gzGame500Snip::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	05H
	DD	FLAT:??_R2gzGame500Snip@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzGame500Snip@@@8
_DATA	SEGMENT
??_R0?AVgzGame500Snip@@@8 DD FLAT:??_7type_info@@6B@	; gzGame500Snip `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzGame500Snip@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzGame500Snip@@6B@
rdata$r	SEGMENT
??_R4gzGame500Snip@@6B@ DD 00H				; gzGame500Snip::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzGame500Snip@@@8
	DD	FLAT:??_R3gzGame500Snip@@8
rdata$r	ENDS
;	COMDAT ??_7gzGame500Snip@@6B@
CONST	SEGMENT
??_7gzGame500Snip@@6B@ DD FLAT:??_R4gzGame500Snip@@6B@	; gzGame500Snip::`vftable'
	DD	FLAT:??_EgzGame500Snip@@UAEPAXI@Z
	DD	FLAT:?GetName@gzGame500Snip@@UAEPBDXZ
	DD	FLAT:?Delete@gzGame500Snip@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@EventHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@EventHandler@@UAEXXZ
	DD	FLAT:?Think@gzGameSniper@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzGame500Snip@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@gzGameSniper@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzGameModeBase@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzGameModeBase@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
	DD	FLAT:?ModeName@gzGame500Snip@@UAEPBDXZ
	DD	FLAT:?As_GameAow@gzGameModeBase@@UAEPAVgzGameAow@@XZ
	DD	FLAT:?As_GameCTF@gzGameModeBase@@UAEPAVgzGameCTF@@XZ
	DD	FLAT:?As_GameInfOnly@gzGameModeBase@@UAEPAVgzGameInfOnly@@XZ
	DD	FLAT:?As_GameSniper@gzGameSniper@@UAEPAV1@XZ
	DD	FLAT:?As_Game500Snip@gzGame500Snip@@UAEPAV1@XZ
	DD	FLAT:?As_GameDM@gzGameModeBase@@UAEPAVgzGameDM@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzGame500Snip@@QAE@XZ
_TEXT	SEGMENT
??0gzGame500Snip@@QAE@XZ PROC				; gzGame500Snip::gzGame500Snip, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzGameSniper@@QAE@XZ			; gzGameSniper::gzGameSniper
	mov	DWORD PTR [esi], OFFSET ??_7gzGame500Snip@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzGame500Snip@@QAE@XZ ENDP				; gzGame500Snip::gzGame500Snip
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgamesniper.h
_TEXT	ENDS
;	COMDAT ?As_GameSniper@gzGameSniper@@UAEPAV1@XZ
_TEXT	SEGMENT
?As_GameSniper@gzGameSniper@@UAEPAV1@XZ PROC		; gzGameSniper::As_GameSniper, COMDAT
; _this$ = ecx

; 17   : 	{

	mov	eax, ecx

; 18   : 		return this;
; 19   : 	};

	ret	0
?As_GameSniper@gzGameSniper@@UAEPAV1@XZ ENDP		; gzGameSniper::As_GameSniper
_TEXT	ENDS
PUBLIC	??_C@_0P@PJIJPDFM@gzGame500Snipe?$AA@		; `string'
;	COMDAT ??_C@_0P@PJIJPDFM@gzGame500Snipe?$AA@
CONST	SEGMENT
??_C@_0P@PJIJPDFM@gzGame500Snipe?$AA@ DB 'gzGame500Snipe', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzGame500Snip@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzGame500Snip@@UAEPBDXZ PROC			; gzGame500Snip::GetName, COMDAT
; _this$ = ecx

; 31   : 		return "gzGame500Snipe";

	mov	eax, OFFSET ??_C@_0P@PJIJPDFM@gzGame500Snipe?$AA@

; 32   : 	};

	ret	0
?GetName@gzGame500Snip@@UAEPBDXZ ENDP			; gzGame500Snip::GetName
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@gzGame500Snip@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzGame500Snip@@UAEXXZ PROC			; gzGame500Snip::Delete, COMDAT
; _this$ = ecx

; 33   : 	void Delete() { };

	ret	0
?Delete@gzGame500Snip@@UAEXXZ ENDP			; gzGame500Snip::Delete
_TEXT	ENDS
PUBLIC	??_C@_0L@PODKLDOO@500?5Sniper?$AA@		; `string'
;	COMDAT ??_C@_0L@PODKLDOO@500?5Sniper?$AA@
CONST	SEGMENT
??_C@_0L@PODKLDOO@500?5Sniper?$AA@ DB '500 Sniper', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?ModeName@gzGame500Snip@@UAEPBDXZ
_TEXT	SEGMENT
?ModeName@gzGame500Snip@@UAEPBDXZ PROC			; gzGame500Snip::ModeName, COMDAT
; _this$ = ecx

; 36   : 		return "500 Sniper";

	mov	eax, OFFSET ??_C@_0L@PODKLDOO@500?5Sniper?$AA@

; 37   : 	};

	ret	0
?ModeName@gzGame500Snip@@UAEPBDXZ ENDP			; gzGame500Snip::ModeName
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?As_Game500Snip@gzGame500Snip@@UAEPAV1@XZ
_TEXT	SEGMENT
?As_Game500Snip@gzGame500Snip@@UAEPAV1@XZ PROC		; gzGame500Snip::As_Game500Snip, COMDAT
; _this$ = ecx

; 39   : 	{

	mov	eax, ecx

; 40   : 		return this;
; 41   : 	};

	ret	0
?As_Game500Snip@gzGame500Snip@@UAEPAV1@XZ ENDP		; gzGame500Snip::As_Game500Snip
_TEXT	ENDS
PUBLIC	??1gzGame500Snip@@UAE@XZ			; gzGame500Snip::~gzGame500Snip
; Function compile flags: /Ogtpy
;	COMDAT ??1gzGame500Snip@@UAE@XZ
_TEXT	SEGMENT
??1gzGame500Snip@@UAE@XZ PROC				; gzGame500Snip::~gzGame500Snip, COMDAT
; _this$ = ecx
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
??1gzGame500Snip@@UAE@XZ ENDP				; gzGame500Snip::~gzGame500Snip
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzGameInfOnly@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzGameInfOnly@@UAEPAXI@Z PROC			; gzGameInfOnly::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN10@scalar@9
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN10@scalar@9:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzGameInfOnly@@UAEPAXI@Z ENDP			; gzGameInfOnly::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzGame500Snip@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzGame500Snip@@UAEPAXI@Z PROC			; gzGame500Snip::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN13@scalar@10
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN13@scalar@10:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzGame500Snip@@UAEPAXI@Z ENDP			; gzGame500Snip::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	__real@41b1391c
PUBLIC	__real@41d1391c
PUBLIC	__real@43455b5d
PUBLIC	??_C@_0BJ@HFBFCKMG@Simple_Sydney_SandM_Wall?$AA@ ; `string'
PUBLIC	__real@c212cb40
PUBLIC	??_C@_0BC@PFNEDDA@C?$CGC_Hourglass?4mix?$AA@	; `string'
PUBLIC	??_C@_02DKCKIIND@?$CFs?$AA@			; `string'
PUBLIC	?Level_Loaded@gzGameManager@@UAEXXZ		; gzGameManager::Level_Loaded
EXTRN	?Get@nc_IntDataSafeClass@@QAEHXZ:PROC		; nc_IntDataSafeClass::Get
EXTRN	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z:PROC ; nc_DefinitionMgrClass::Find_Definition
EXTRN	_stricmp:PROC
EXTRN	??2@YAPAXI@Z:PROC				; operator new
EXTRN	?Insert_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z:PROC ; nc_ScriptableGameObj::Insert_Observer
EXTRN	?Get_Next@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PAV2@KH@Z:PROC ; nc_DefinitionMgrClass::Get_Next
EXTRN	?Get_First@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@KH@Z:PROC ; nc_DefinitionMgrClass::Get_First
EXTRN	?Format@nc_StringClass@@QAAXPBDZZ:PROC		; nc_StringClass::Format
EXTRN	?Get_String@nc_StringClass@@QAEXH_N@Z:PROC	; nc_StringClass::Get_String
EXTRN	?Find_Named_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PBD_N@Z:PROC ; nc_DefinitionMgrClass::Find_Named_Definition
;	COMDAT __real@41b1391c
; File d:\source code\alib\include\avector.h
CONST	SEGMENT
__real@41b1391c DD 041b1391cr			; 22.1529
CONST	ENDS
;	COMDAT __real@41d1391c
CONST	SEGMENT
__real@41d1391c DD 041d1391cr			; 26.1529
CONST	ENDS
;	COMDAT __real@43455b5d
CONST	SEGMENT
__real@43455b5d DD 043455b5dr			; 197.357
CONST	ENDS
;	COMDAT ??_C@_0BJ@HFBFCKMG@Simple_Sydney_SandM_Wall?$AA@
CONST	SEGMENT
??_C@_0BJ@HFBFCKMG@Simple_Sydney_SandM_Wall?$AA@ DB 'Simple_Sydney_SandM_'
	DB	'Wall', 00H					; `string'
CONST	ENDS
;	COMDAT __real@c212cb40
CONST	SEGMENT
__real@c212cb40 DD 0c212cb40r			; -36.6985
CONST	ENDS
;	COMDAT ??_C@_0BC@PFNEDDA@C?$CGC_Hourglass?4mix?$AA@
CONST	SEGMENT
??_C@_0BC@PFNEDDA@C?$CGC_Hourglass?4mix?$AA@ DB 'C&C_Hourglass.mix', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_02DKCKIIND@?$CFs?$AA@
CONST	SEGMENT
??_C@_02DKCKIIND@?$CFs?$AA@ DB '%s', 00H		; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Level_Loaded@gzGameManager@@UAEXXZ DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Level_Loaded@gzGameManager@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Level_Loaded@gzGameManager@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzGameManager@@UAEXXZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzGameManager@@UAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzGameManager@@UAEXXZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzGameManager@@UAEXXZ$3
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzGameManager@@UAEXXZ$4
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Level_Loaded@gzGameManager@@UAEXXZ
_TEXT	SEGMENT
_Parameter$58517 = -44					; size = 4
_Parameter$58531 = -40					; size = 4
_Observer$58516 = -36					; size = 4
_Observer$58530 = -32					; size = 4
$T69308 = -28						; size = 4
_i$58509 = -28						; size = 4
_pos$58618 = -24					; size = 12
__$EHRec$ = -12						; size = 12
?Level_Loaded@gzGameManager@@UAEXXZ PROC		; gzGameManager::Level_Loaded, COMDAT
; _this$ = ecx

; 282  : {

	push	-1
	push	__ehhandler$?Level_Loaded@gzGameManager@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 32					; 00000020H
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx

; 283  : 	for (unsigned int i = 0; i < this->m_observerList.Count(); i++)

	mov	eax, DWORD PTR [edi+68]
	xor	ebp, ebp
	cmp	eax, ebp
	mov	DWORD PTR _i$58509[esp+60], ebp
	jbe	$LN32@Level_Load
	npad	1
$LL128@Level_Load:

; 284  : 	{
; 285  : 		if (this->m_observerList[i].preset)

	mov	eax, DWORD PTR [edi+60]
	add	eax, ebp
	cmp	DWORD PTR [eax+4], 0
	je	$LN31@Level_Load

; 286  : 		{
; 287  : 			nc_DefinitionClass *Definition = nc_DefinitionMgrClass::Find_Named_Definition(this->m_observerList[i].preset, true);

	mov	ecx, DWORD PTR [eax+4]
	push	1
	push	ecx
	call	?Find_Named_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PBD_N@Z ; nc_DefinitionMgrClass::Find_Named_Definition
	mov	esi, eax
	add	esp, 8

; 288  : 			if (Definition && this->m_observerList[i].name && *this->m_observerList[i].name)

	test	esi, esi
	je	$LN33@Level_Load
	mov	edx, DWORD PTR [edi+60]
	mov	eax, DWORD PTR [edx+ebp+8]
	test	eax, eax
	je	$LN33@Level_Load
	cmp	BYTE PTR [eax], 0
	je	$LN33@Level_Load

; 289  : 			{
; 290  : 				nc_StringClass Observer, Parameter;

	mov	eax, DWORD PTR ?m_EmptyString@nc_StringClass@@2PAPADA ; nc_StringClass::m_EmptyString
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _Observer$58516[esp+60], ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR __$EHRec$[esp+68], 0
	mov	DWORD PTR _Parameter$58517[esp+60], edx

; 291  : 				Observer.Get_String(0, false);

	push	0
	push	0
	lea	ecx, DWORD PTR _Observer$58516[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 1
	call	?Get_String@nc_StringClass@@QAEXH_N@Z	; nc_StringClass::Get_String

; 292  : 				Observer.Format("%s", this->m_observerList[i].name);

	mov	eax, DWORD PTR [edi+60]
	mov	ecx, DWORD PTR [eax+ebp+8]
	push	ecx
	lea	edx, DWORD PTR _Observer$58516[esp+64]
	push	OFFSET ??_C@_02DKCKIIND@?$CFs?$AA@
	push	edx
	call	?Format@nc_StringClass@@QAAXPBDZZ	; nc_StringClass::Format
	add	esp, 12					; 0000000cH

; 293  : 				gzStatic_Cast(nc_ScriptableGameObjDef, Definition)->Scripts.Add(Observer);

	lea	eax, DWORD PTR _Observer$58516[esp+60]
	push	eax
	lea	ecx, DWORD PTR [esi+28]
	call	?Add@?$nc_DynamicVectorClass@Vnc_StringClass@@@@QAE_NAAVnc_StringClass@@@Z ; nc_DynamicVectorClass<nc_StringClass>::Add

; 294  : 				Observer.Free_String();

	lea	ecx, DWORD PTR _Observer$58516[esp+60]
	call	?Free_String@nc_StringClass@@QAEXXZ	; nc_StringClass::Free_String

; 295  : 
; 296  : 				Parameter.Get_String(0, false);

	push	0
	push	0
	lea	ecx, DWORD PTR _Parameter$58517[esp+68]
	call	?Get_String@nc_StringClass@@QAEXH_N@Z	; nc_StringClass::Get_String

; 297  : 				if (this->m_observerList[i].param)

	mov	ecx, DWORD PTR [edi+60]
	mov	eax, DWORD PTR [ecx+ebp+12]
	test	eax, eax
	je	SHORT $LN29@Level_Load

; 298  : 					Parameter.Format("%s", this->m_observerList[i].param);

	push	eax
	lea	edx, DWORD PTR _Parameter$58517[esp+64]
	push	OFFSET ??_C@_02DKCKIIND@?$CFs?$AA@
	push	edx
	call	?Format@nc_StringClass@@QAAXPBDZZ	; nc_StringClass::Format
	add	esp, 12					; 0000000cH

; 299  : 				else

	jmp	SHORT $LN28@Level_Load
$LN29@Level_Load:

; 300  : 					Parameter = "";

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR _Parameter$58517[esp+64]
	call	??4nc_StringClass@@QAEAAV0@PBD@Z	; nc_StringClass::operator=
$LN28@Level_Load:

; 301  : 
; 302  : 				gzStatic_Cast(nc_ScriptableGameObjDef, Definition)->Parameters.Add(Parameter);

	lea	eax, DWORD PTR _Parameter$58517[esp+60]
	push	eax
	lea	ecx, DWORD PTR [esi+52]
	call	?Add@?$nc_DynamicVectorClass@Vnc_StringClass@@@@QAE_NAAVnc_StringClass@@@Z ; nc_DynamicVectorClass<nc_StringClass>::Add

; 303  : 				Parameter.Free_String();

	lea	ecx, DWORD PTR _Parameter$58517[esp+60]
	call	?Free_String@nc_StringClass@@QAEXXZ	; nc_StringClass::Free_String

; 304  : 			}

	lea	ecx, DWORD PTR _Parameter$58517[esp+60]
	mov	BYTE PTR __$EHRec$[esp+68], 0
	call	?Free_String@nc_StringClass@@QAEXXZ	; nc_StringClass::Free_String
	lea	ecx, DWORD PTR _Observer$58516[esp+60]
	mov	DWORD PTR __$EHRec$[esp+68], -1
	call	?Free_String@nc_StringClass@@QAEXXZ	; nc_StringClass::Free_String

; 305  : 		}

	jmp	$LN33@Level_Load
$LN31@Level_Load:

; 306  : 		else if (this->m_observerList[i].type > 0)

	cmp	DWORD PTR [eax], 0
	jbe	$LN33@Level_Load

; 307  : 		{
; 308  : 			for (nc_DefinitionClass *Definition = nc_DefinitionMgrClass::Get_First(this->m_observerList[i].type, true); Definition != NULL; Definition = nc_DefinitionMgrClass::Get_Next(Definition, this->m_observerList[i].type, true))

	mov	ecx, DWORD PTR [eax]
	push	1
	push	ecx
	call	?Get_First@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@KH@Z ; nc_DefinitionMgrClass::Get_First
	mov	ebx, eax
	add	esp, 8
	test	ebx, ebx
	je	$LN33@Level_Load
	npad	1
$LL25@Level_Load:

; 309  : 			{
; 310  : 				if (this->m_observerList[i].name && *this->m_observerList[i].name)

	mov	edx, DWORD PTR [edi+60]
	mov	eax, DWORD PTR [edx+ebp+8]
	test	eax, eax
	je	$LN24@Level_Load
	cmp	BYTE PTR [eax], 0
	je	$LN24@Level_Load

; 311  : 				{
; 312  : 					nc_StringClass Observer, Parameter;

	mov	eax, DWORD PTR ?m_EmptyString@nc_StringClass@@2PAPADA ; nc_StringClass::m_EmptyString
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _Observer$58530[esp+60], ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR __$EHRec$[esp+68], 2
	mov	DWORD PTR _Parameter$58531[esp+60], edx

; 313  : 					Observer.Get_String(0, false);

	push	0
	push	0
	lea	ecx, DWORD PTR _Observer$58530[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 3
	call	?Get_String@nc_StringClass@@QAEXH_N@Z	; nc_StringClass::Get_String

; 314  : 					Observer.Format("%s", this->m_observerList[i].name);

	mov	eax, DWORD PTR [edi+60]
	mov	ecx, DWORD PTR [eax+ebp+8]
	push	ecx
	lea	edx, DWORD PTR _Observer$58530[esp+64]
	push	OFFSET ??_C@_02DKCKIIND@?$CFs?$AA@
	push	edx
	call	?Format@nc_StringClass@@QAAXPBDZZ	; nc_StringClass::Format

; 315  : 					gzStatic_Cast(nc_ScriptableGameObjDef, Definition)->Scripts.Add(Observer);

	mov	eax, DWORD PTR [ebx+36]
	lea	esi, DWORD PTR [ebx+28]
	add	esp, 12					; 0000000cH
	cmp	DWORD PTR [esi+16], eax
	jl	SHORT $LN86@Level_Load
	cmp	BYTE PTR [esi+13], 0
	jne	SHORT $LN124@Level_Load
	test	eax, eax
	jne	SHORT $LN91@Level_Load
$LN124@Level_Load:
	mov	ecx, DWORD PTR [esi+20]
	test	ecx, ecx
	jle	SHORT $LN91@Level_Load
	mov	edx, DWORD PTR [esi]
	add	ecx, eax
	mov	eax, DWORD PTR [edx+8]
	push	0
	push	ecx
	mov	ecx, esi
	call	eax
	test	al, al
	je	SHORT $LN91@Level_Load
$LN86@Level_Load:
	mov	eax, DWORD PTR [esi+16]
	mov	ecx, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR [ecx+eax*4]
	lea	edx, DWORD PTR _Observer$58530[esp+60]
	add	eax, 1
	push	edx
	mov	DWORD PTR [esi+16], eax
	call	??4nc_StringClass@@QAEAAV0@AAV0@@Z	; nc_StringClass::operator=
$LN91@Level_Load:

; 316  : 					Observer.Free_String();

	lea	ecx, DWORD PTR _Observer$58530[esp+60]
	call	?Free_String@nc_StringClass@@QAEXXZ	; nc_StringClass::Free_String

; 317  : 
; 318  : 					Parameter.Get_String(0, false);

	push	0
	push	0
	lea	ecx, DWORD PTR _Parameter$58531[esp+68]
	call	?Get_String@nc_StringClass@@QAEXH_N@Z	; nc_StringClass::Get_String

; 319  : 					if (this->m_observerList[i].param && *this->m_observerList[i].param)

	mov	eax, DWORD PTR [edi+60]
	mov	eax, DWORD PTR [eax+ebp+12]
	test	eax, eax
	je	SHORT $LN21@Level_Load
	cmp	BYTE PTR [eax], 0
	je	SHORT $LN21@Level_Load

; 320  : 						Parameter.Format("%s", this->m_observerList[i].param);

	push	eax
	lea	ecx, DWORD PTR _Parameter$58531[esp+64]
	push	OFFSET ??_C@_02DKCKIIND@?$CFs?$AA@
	push	ecx
	call	?Format@nc_StringClass@@QAAXPBDZZ	; nc_StringClass::Format
	add	esp, 12					; 0000000cH

; 321  : 					else

	jmp	SHORT $LN20@Level_Load
$LN21@Level_Load:

; 322  : 						Parameter = "";

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR _Parameter$58531[esp+64]
	call	??4nc_StringClass@@QAEAAV0@PBD@Z	; nc_StringClass::operator=
$LN20@Level_Load:

; 323  : 
; 324  : 					gzStatic_Cast(nc_ScriptableGameObjDef, Definition)->Parameters.Add(Parameter);

	mov	ecx, DWORD PTR [ebx+60]
	cmp	DWORD PTR [ebx+68], ecx
	lea	esi, DWORD PTR [ebx+52]
	jl	SHORT $LN99@Level_Load
	cmp	BYTE PTR [esi+13], 0
	jne	SHORT $LN125@Level_Load
	test	ecx, ecx
	jne	SHORT $LN104@Level_Load
$LN125@Level_Load:
	mov	eax, DWORD PTR [esi+20]
	test	eax, eax
	jle	SHORT $LN104@Level_Load
	mov	edx, DWORD PTR [esi]
	add	eax, ecx
	push	0
	push	eax
	mov	eax, DWORD PTR [edx+8]
	mov	ecx, esi
	call	eax
	test	al, al
	je	SHORT $LN104@Level_Load
$LN99@Level_Load:
	mov	eax, DWORD PTR [esi+16]
	mov	ecx, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR [ecx+eax*4]
	lea	edx, DWORD PTR _Parameter$58531[esp+60]
	add	eax, 1
	push	edx
	mov	DWORD PTR [esi+16], eax
	call	??4nc_StringClass@@QAEAAV0@AAV0@@Z	; nc_StringClass::operator=
$LN104@Level_Load:

; 325  : 					Parameter.Free_String();

	lea	ecx, DWORD PTR _Parameter$58531[esp+60]
	call	?Free_String@nc_StringClass@@QAEXXZ	; nc_StringClass::Free_String

; 326  : 				}

	lea	ecx, DWORD PTR _Parameter$58531[esp+60]
	mov	BYTE PTR __$EHRec$[esp+68], 2
	call	?Free_String@nc_StringClass@@QAEXXZ	; nc_StringClass::Free_String
	lea	ecx, DWORD PTR _Observer$58530[esp+60]
	mov	DWORD PTR __$EHRec$[esp+68], -1
	call	?Free_String@nc_StringClass@@QAEXXZ	; nc_StringClass::Free_String
$LN24@Level_Load:
	mov	eax, DWORD PTR [edi+60]
	add	eax, ebp
	mov	eax, DWORD PTR [eax]
	push	1
	push	eax
	push	ebx
	call	?Get_Next@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PAV2@KH@Z ; nc_DefinitionMgrClass::Get_Next
	mov	ebx, eax
	add	esp, 12					; 0000000cH
	test	ebx, ebx
	jne	$LL25@Level_Load
$LN33@Level_Load:

; 283  : 	for (unsigned int i = 0; i < this->m_observerList.Count(); i++)

	mov	eax, DWORD PTR _i$58509[esp+60]
	add	eax, 1
	add	ebp, 16					; 00000010H
	cmp	eax, DWORD PTR [edi+68]
	mov	DWORD PTR _i$58509[esp+60], eax
	jb	$LL128@Level_Load
$LN32@Level_Load:

; 327  : 			}
; 328  : 		}
; 329  : 	}
; 330  : 	for (nc_GenericSLNode<nc_BuildingGameObj> *bList = nc_GameObjManager::BuildingGameObjList->HeadNode; bList != NULL; bList = bList->NodeNext)

	mov	ecx, DWORD PTR ?BuildingGameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BuildingGameObj@@@@A ; nc_GameObjManager::BuildingGameObjList
	mov	ebp, DWORD PTR [ecx+4]
	test	ebp, ebp
	je	$LN17@Level_Load
$LL19@Level_Load:

; 331  : 	{
; 332  : 		for (unsigned int i = 0; i < this->m_observerList.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR [edi+68], esi
	jbe	SHORT $LN14@Level_Load
	xor	ebx, ebx
	npad	6
$LL16@Level_Load:

; 333  : 		{
; 334  : 			if (this->m_observerList[i].type == 0xD001)

	mov	edx, DWORD PTR [edi+60]
	cmp	DWORD PTR [ebx+edx], 53249		; 0000d001H
	lea	eax, DWORD PTR [ebx+edx]
	jne	SHORT $LN15@Level_Load

; 335  : 			{
; 336  : 				nc_GameObjObserverClass *observer = nc_ScriptManager::Create_Script(this->m_observerList[i].name);

	mov	eax, DWORD PTR [eax+8]
	push	eax
	call	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z ; nc_ScriptManager::Create_Script
	add	esp, 4

; 337  : 				if (observer)

	test	eax, eax
	je	SHORT $LN15@Level_Load

; 338  : 					bList->NodeData->Insert_Observer(observer);

	mov	ecx, DWORD PTR [ebp+4]
	push	eax
	call	?Insert_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z ; nc_ScriptableGameObj::Insert_Observer
$LN15@Level_Load:
	add	esi, 1
	add	ebx, 16					; 00000010H
	cmp	esi, DWORD PTR [edi+68]
	jb	SHORT $LL16@Level_Load
$LN14@Level_Load:

; 339  : 			}
; 340  : 		}
; 341  : 
; 342  : 		if (bList->NodeData->As_RefineryGameObj())

	mov	ecx, DWORD PTR [ebp+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+132]
	call	eax
	test	eax, eax
	je	SHORT $LN18@Level_Load

; 343  : 		{
; 344  : 			switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	edx, DWORD PTR [ecx+72]
	mov	eax, DWORD PTR [edx+24]
	add	eax, -1
	cmp	eax, 2
	ja	SHORT $LN18@Level_Load

; 345  : 			{
; 346  : 				case GAMEMODE_AOW:
; 347  : 				case GAMEMODE_CTF:
; 348  : 				case GAMEMODE_INFONLY:
; 349  : 				{
; 350  : 					// Lower than 0.0f is not valid
; 351  : 					if (this->m_settings->m_RefineryIncomeTick > 0.0f)

	fldz
	mov	ecx, DWORD PTR [edi+72]
	fcom	DWORD PTR [ecx+72]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN7@Level_Load

; 352  : 						((nc_RefineryGameObjDef *)bList->NodeData->definition)->FundsDistribedPerSec = this->m_settings->m_RefineryIncomeTick;

	mov	eax, DWORD PTR [ebp+4]
	fld	DWORD PTR [ecx+72]
	mov	edx, DWORD PTR [eax+1724]
	fstp	DWORD PTR [edx+168]
$LN7@Level_Load:

; 353  : 
; 354  : 					// Lower than 0.0f is not valid
; 355  : 					if (this->m_settings->m_RefineryIncomeDump > 0.0f)

	mov	ecx, DWORD PTR [edi+72]
	fcomp	DWORD PTR [ecx+76]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN18@Level_Load

; 356  : 						((nc_RefineryGameObjDef *)bList->NodeData->definition)->FundsGathered = this->m_settings->m_RefineryIncomeDump;

	mov	eax, DWORD PTR [ebp+4]
	fld	DWORD PTR [ecx+76]
	mov	edx, DWORD PTR [eax+1724]
	fstp	DWORD PTR [edx+164]
$LN18@Level_Load:
	mov	ebp, DWORD PTR [ebp]
	test	ebp, ebp
	jne	$LL19@Level_Load
$LN17@Level_Load:

; 357  : 					break;
; 358  : 				}
; 359  : 			}
; 360  : 		}
; 361  : 	}
; 362  : 
; 363  : 	// Weather
; 364  : 	if (this->m_weatherMgr)

	mov	ecx, DWORD PTR [edi+48]
	test	ecx, ecx
	je	SHORT $LN5@Level_Load

; 365  : 	{
; 366  : 		this->m_weatherMgr->SetDeletePending();

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

; 367  : 		this->m_weatherMgr = NULL;

	mov	DWORD PTR [edi+48], 0
$LN5@Level_Load:

; 368  : 	}
; 369  : 	if (this->m_settings->m_EnableWeather)

	mov	eax, DWORD PTR [edi+72]
	cmp	BYTE PTR [eax+85], 0
	je	SHORT $LN4@Level_Load

; 370  : 		this->m_weatherMgr = new gzWeatherManager;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	370					; 00000172H
	push	OFFSET ??_C@_0N@KCLHNPAP@?4?2stgame?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	48					; 00000030H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T69308[esp+60], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+68], 4
	je	SHORT $LN37@Level_Load
	mov	ecx, eax
	call	??0gzWeatherManager@@QAE@XZ		; gzWeatherManager::gzWeatherManager
	jmp	SHORT $LN38@Level_Load
$LN37@Level_Load:
	xor	eax, eax
$LN38@Level_Load:
	mov	DWORD PTR __$EHRec$[esp+68], -1
	mov	DWORD PTR [edi+48], eax
$LN4@Level_Load:

; 371  : 
; 372  : 	// Hourglass hill attack blocker
; 373  : 	if (!stricmp(cGame->MapName.m_Buffer, "C&C_Hourglass.mix") && !this->m_settings->m_AllowHillAttack)

	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	push	OFFSET ??_C@_0BC@PFNEDDA@C?$CGC_Hourglass?4mix?$AA@
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	$LN3@Level_Load
	mov	ecx, DWORD PTR [edi+72]
	cmp	BYTE PTR [ecx+84], al
	jne	$LN3@Level_Load

; 374  : 	{
; 375  : 		// First laser wall
; 376  : 		nc_Vector3 pos = { -36.698486, 197.356888, 26.152885 };

	fld	DWORD PTR __real@c212cb40

; 377  : 		nc_SimpleGameObj *LaserWall = gzStatic_Cast(nc_SimpleGameObj, nc_ObjectLibraryManager::Create_Object("Simple_Sydney_SandM_Wall"));

	push	OFFSET ??_C@_0BJ@HFBFCKMG@Simple_Sydney_SandM_Wall?$AA@
	fstp	DWORD PTR _pos$58618[esp+64]
	fld	DWORD PTR __real@43455b5d
	fstp	DWORD PTR _pos$58618[esp+68]
	fld	DWORD PTR __real@41d1391c
	fstp	DWORD PTR _pos$58618[esp+72]
	call	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z ; nc_ObjectLibraryManager::Create_Object
	add	esp, 4
	mov	esi, eax

; 378  : 		LaserWall->Set_Position(pos);

	lea	edx, DWORD PTR _pos$58618[esp+60]
	push	edx
	mov	ecx, esi
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position

; 379  : 		LaserWall->Set_Object_Dirty_Bit(nc_DB_CREATION, false);

	mov	eax, DWORD PTR [esi+8]
	mov	edx, DWORD PTR [eax+56]
	lea	ecx, DWORD PTR [esi+8]
	push	0
	push	15					; 0000000fH
	call	edx

; 380  : 
; 381  : 		// Second laser wall
; 382  : 		pos.X = -36.698486; pos.Y = 197.356888; pos.Z = 22.152885;

	fld	DWORD PTR __real@c212cb40
	fstp	DWORD PTR _pos$58618[esp+60]

; 383  : 		LaserWall = gzStatic_Cast(nc_SimpleGameObj, nc_ObjectLibraryManager::Create_Object("Simple_Sydney_SandM_Wall"));

	push	OFFSET ??_C@_0BJ@HFBFCKMG@Simple_Sydney_SandM_Wall?$AA@
	fld	DWORD PTR __real@43455b5d
	fstp	DWORD PTR _pos$58618[esp+68]
	fld	DWORD PTR __real@41b1391c
	fstp	DWORD PTR _pos$58618[esp+72]
	call	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z ; nc_ObjectLibraryManager::Create_Object
	mov	esi, eax
	add	esp, 4

; 384  : 		LaserWall->Set_Position(pos);

	lea	eax, DWORD PTR _pos$58618[esp+60]
	push	eax
	mov	ecx, esi
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position

; 385  : 		LaserWall->Set_Object_Dirty_Bit(nc_DB_CREATION, false);

	mov	edx, DWORD PTR [esi+8]
	mov	eax, DWORD PTR [edx+56]
	lea	ecx, DWORD PTR [esi+8]
	push	0
	push	15					; 0000000fH
	call	eax
$LN3@Level_Load:

; 386  : 	}
; 387  : 
; 388  : 	this->m_isWaitingNextMap = false;
; 389  : 
; 390  : 	// Change maximum Proximity C4 ammo to 6 to the weapon (Clip: 1; Inventory: 5)
; 391  : 	nc_DefinitionClass *proxyC4Pow = nc_DefinitionMgrClass::Find_Definition(81950132, true);

	push	1
	push	81950132				; 04e275b4H
	mov	BYTE PTR [edi+52], 0
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	mov	esi, eax
	add	esp, 8

; 392  : 	if (proxyC4Pow)

	test	esi, esi
	je	SHORT $LN1@Level_Load

; 393  : 	{
; 394  : 		nc_WeaponDefinitionClass *proxyC4WeaponDef = gzStatic_Cast(nc_WeaponDefinitionClass, nc_DefinitionMgrClass::Find_Definition(gzStatic_Cast(nc_PowerUpGameObjDef, proxyC4Pow)->GrantWeaponID, true));

	mov	ecx, DWORD PTR [esi+196]
	push	1
	push	ecx
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	mov	edi, eax
	add	esp, 8

; 395  : 		if (proxyC4WeaponDef)

	test	edi, edi
	je	SHORT $LN1@Level_Load

; 396  : 			gzStatic_Cast(nc_PowerUpGameObjDef, proxyC4Pow)->GrantWeaponRounds = (proxyC4WeaponDef->ClipSize.Get() + proxyC4WeaponDef->MaxInventoryRounds.Get());

	lea	ecx, DWORD PTR [edi+132]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	lea	ecx, DWORD PTR [edi+116]
	mov	ebx, eax
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	add	ebx, eax
	mov	DWORD PTR [esi+204], ebx
$LN1@Level_Load:

; 397  : 	}
; 398  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+60]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Level_Loaded@gzGameManager@@UAEXXZ$0:
	lea	ecx, DWORD PTR _Observer$58516[ebp]
	jmp	??1nc_StringClass@@QAE@XZ		; nc_StringClass::~nc_StringClass
__unwindfunclet$?Level_Loaded@gzGameManager@@UAEXXZ$1:
	lea	ecx, DWORD PTR _Parameter$58517[ebp]
	jmp	??1nc_StringClass@@QAE@XZ		; nc_StringClass::~nc_StringClass
__unwindfunclet$?Level_Loaded@gzGameManager@@UAEXXZ$2:
	lea	ecx, DWORD PTR _Observer$58530[ebp]
	jmp	??1nc_StringClass@@QAE@XZ		; nc_StringClass::~nc_StringClass
__unwindfunclet$?Level_Loaded@gzGameManager@@UAEXXZ$3:
	lea	ecx, DWORD PTR _Parameter$58531[ebp]
	jmp	??1nc_StringClass@@QAE@XZ		; nc_StringClass::~nc_StringClass
__unwindfunclet$?Level_Loaded@gzGameManager@@UAEXXZ$4:
	mov	eax, DWORD PTR $T69308[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Level_Loaded@gzGameManager@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Level_Loaded@gzGameManager@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Level_Loaded@gzGameManager@@UAEXXZ ENDP		; gzGameManager::Level_Loaded
PUBLIC	??_C@_08GIKHGICO@_GENERAL?$AA@			; `string'
PUBLIC	??_C@_0EE@IFAFDCBO@Current?5game?5on?5map?5?$CFs?5has?5ended@ ; `string'
PUBLIC	??_C@_0BA@OEINEJLG@WIN?$DL?$CFs?$DL?$CFs?$DL?$CFd?$DL?$CFd?$AA@ ; `string'
PUBLIC	??_C@_03OHGKCNFD@Nod?$AA@			; `string'
PUBLIC	??_C@_03IOFAJBDH@GDI?$AA@			; `string'
PUBLIC	??_C@_0BA@PCLLNFJJ@Pedestal?5Beacon?$AA@	; `string'
PUBLIC	??_C@_0BF@JLIELBOG@Building?5Destruction?$AA@	; `string'
PUBLIC	??_C@_0CD@PCNKAHFF@High?5score?5when?5time?5limit?5expir@ ; `string'
PUBLIC	??_C@_0BA@IKGKOOHO@Server?5shutdown?$AA@	; `string'
PUBLIC	?Level_Ended@gzGameManager@@UAEXXZ		; gzGameManager::Level_Ended
EXTRN	?SecsToAscTime@@YA?AVaString@@I@Z:PROC		; SecsToAscTime
EXTRN	?Team_Array@nc_cTeamManager@@2PAPAVnc_cTeam@@A:DWORD ; nc_cTeamManager::Team_Array
EXTRN	?Find_Team@nc_cTeamManager@@SAPAVnc_cTeam@@H@Z:PROC ; nc_cTeamManager::Find_Team
;	COMDAT ??_C@_08GIKHGICO@_GENERAL?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_08GIKHGICO@_GENERAL?$AA@ DB '_GENERAL', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0EE@IFAFDCBO@Current?5game?5on?5map?5?$CFs?5has?5ended@
CONST	SEGMENT
??_C@_0EE@IFAFDCBO@Current?5game?5on?5map?5?$CFs?5has?5ended@ DB 'Current'
	DB	' game on map %s has ended. %s won by %s after %s of gameplay', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@OEINEJLG@WIN?$DL?$CFs?$DL?$CFs?$DL?$CFd?$DL?$CFd?$AA@
CONST	SEGMENT
??_C@_0BA@OEINEJLG@WIN?$DL?$CFs?$DL?$CFs?$DL?$CFd?$DL?$CFd?$AA@ DB 'WIN;%'
	DB	's;%s;%d;%d', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_03OHGKCNFD@Nod?$AA@
CONST	SEGMENT
??_C@_03OHGKCNFD@Nod?$AA@ DB 'Nod', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03IOFAJBDH@GDI?$AA@
CONST	SEGMENT
??_C@_03IOFAJBDH@GDI?$AA@ DB 'GDI', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@PCLLNFJJ@Pedestal?5Beacon?$AA@
CONST	SEGMENT
??_C@_0BA@PCLLNFJJ@Pedestal?5Beacon?$AA@ DB 'Pedestal Beacon', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@JLIELBOG@Building?5Destruction?$AA@
CONST	SEGMENT
??_C@_0BF@JLIELBOG@Building?5Destruction?$AA@ DB 'Building Destruction', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CD@PCNKAHFF@High?5score?5when?5time?5limit?5expir@
CONST	SEGMENT
??_C@_0CD@PCNKAHFF@High?5score?5when?5time?5limit?5expir@ DB 'High score '
	DB	'when time limit expired', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@IKGKOOHO@Server?5shutdown?$AA@
CONST	SEGMENT
??_C@_0BA@IKGKOOHO@Server?5shutdown?$AA@ DB 'Server shutdown', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Level_Ended@gzGameManager@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Level_Ended@gzGameManager@@UAEXXZ$0
__ehfuncinfo$?Level_Ended@gzGameManager@@UAEXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Level_Ended@gzGameManager@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Level_Ended@gzGameManager@@UAEXXZ
_TEXT	SEGMENT
$T69461 = -40						; size = 8
_winType$ = -32						; size = 20
__$EHRec$ = -12						; size = 12
?Level_Ended@gzGameManager@@UAEXXZ PROC			; gzGameManager::Level_Ended, COMDAT
; _this$ = ecx

; 400  : {

	push	-1
	push	__ehhandler$?Level_Ended@gzGameManager@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 28					; 0000001cH
	push	esi
	mov	esi, ecx

; 401  : 	this->m_isWaitingNextMap = true;
; 402  : 
; 403  : 	const char *winType[] = {
; 404  : 		"Server shutdown",
; 405  : 		"",
; 406  : 		"High score when time limit expired",
; 407  : 		"Building Destruction",
; 408  : 		"Pedestal Beacon",
; 409  : 	};
; 410  : 	if (this->m_gamelogFile)

	cmp	DWORD PTR [esi+44], 0
	mov	BYTE PTR [esi+52], 1
	mov	DWORD PTR _winType$[esp+44], OFFSET ??_C@_0BA@IKGKOOHO@Server?5shutdown?$AA@
	mov	DWORD PTR _winType$[esp+48], OFFSET ??_C@_00CNPNBAHC@?$AA@
	mov	DWORD PTR _winType$[esp+52], OFFSET ??_C@_0CD@PCNKAHFF@High?5score?5when?5time?5limit?5expir@
	mov	DWORD PTR _winType$[esp+56], OFFSET ??_C@_0BF@JLIELBOG@Building?5Destruction?$AA@
	mov	DWORD PTR _winType$[esp+60], OFFSET ??_C@_0BA@PCLLNFJJ@Pedestal?5Beacon?$AA@
	je	SHORT $LN1@Level_Ende
	push	edi

; 411  : 	{
; 412  : 		nc_cTeam *Teams[2] = {
; 413  : 			nc_cTeamManager::Find_Team(0),

	push	0
	call	?Find_Team@nc_cTeamManager@@SAPAVnc_cTeam@@H@Z ; nc_cTeamManager::Find_Team

; 414  : 			nc_cTeamManager::Find_Team(1),

	push	1
	mov	edi, eax
	call	?Find_Team@nc_cTeamManager@@SAPAVnc_cTeam@@H@Z ; nc_cTeamManager::Find_Team

; 415  : 		};
; 416  : 		gzGamelogBase::Log("WIN;%s;%s;%d;%d",
; 417  : 			((nc_cTeamManager::Team_Array[0]->TeamId == 1) ? "GDI" : "Nod"),
; 418  : 			winType[cGame->WinType],
; 419  : 			Teams[0]->Score,
; 420  : 			Teams[1]->Score
; 421  : 		);

	mov	ecx, DWORD PTR ?Team_Array@nc_cTeamManager@@2PAPAVnc_cTeam@@A ; nc_cTeamManager::Team_Array
	mov	edx, DWORD PTR [ecx]
	add	esp, 8
	cmp	DWORD PTR [edx+1736], 1
	mov	ecx, OFFSET ??_C@_03IOFAJBDH@GDI?$AA@
	je	SHORT $LN5@Level_Ende
	mov	ecx, OFFSET ??_C@_03OHGKCNFD@Nod?$AA@
$LN5@Level_Ende:
	fld	DWORD PTR [eax+1728]
	mov	eax, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [eax]
	mov	eax, DWORD PTR [edx+568]
	mov	edx, DWORD PTR _winType$[esp+eax*4+48]
	sub	esp, 16					; 00000010H
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR [edi+1728]
	fstp	QWORD PTR [esp]
	push	edx
	push	ecx
	push	OFFSET ??_C@_0BA@OEINEJLG@WIN?$DL?$CFs?$DL?$CFs?$DL?$CFd?$DL?$CFd?$AA@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log

; 422  : 		fclose(this->m_gamelogFile);

	mov	eax, DWORD PTR [esi+44]
	push	eax
	call	_fclose
	add	esp, 32					; 00000020H

; 423  : 		this->m_gamelogFile = NULL;

	mov	DWORD PTR [esi+44], 0

; 424  : 		gzGamelogBase::RenameLog();

	call	?RenameLog@gzGamelogBase@@SAXXZ		; gzGamelogBase::RenameLog
	pop	edi
$LN1@Level_Ende:

; 425  : 	}
; 426  : 	gzLogger("_GENERAL", "Current game on map %s has ended. %s won by %s after %s of gameplay",
; 427  : 		cGame->MapName.m_Buffer,
; 428  : 		((nc_cTeamManager::Team_Array[0]->TeamId == 1) ? "GDI" : "Nod"),
; 429  : 		winType[cGame->WinType],
; 430  : 		SecsToAscTime(cGame->GameDuration_Seconds).GetString()
; 431  : 	);

	mov	ecx, DWORD PTR ?Team_Array@nc_cTeamManager@@2PAPAVnc_cTeam@@A ; nc_cTeamManager::Team_Array
	mov	edx, DWORD PTR [ecx]
	cmp	DWORD PTR [edx+1736], 1
	mov	esi, OFFSET ??_C@_03IOFAJBDH@GDI?$AA@
	je	SHORT $LN7@Level_Ende
	mov	esi, OFFSET ??_C@_03OHGKCNFD@Nod?$AA@
$LN7@Level_Ende:
	mov	eax, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx+604]
	push	edx
	lea	eax, DWORD PTR $T69461[esp+48]
	push	eax
	call	?SecsToAscTime@@YA?AVaString@@I@Z	; SecsToAscTime
	add	esp, 8
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+52], 0
	je	SHORT $LN11@Level_Ende
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN12@Level_Ende
$LN11@Level_Ende:
	xor	ecx, ecx
$LN12@Level_Ende:
	mov	edx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	eax, DWORD PTR [edx]
	push	ecx
	mov	ecx, DWORD PTR [eax+568]
	mov	edx, DWORD PTR _winType$[esp+ecx*4+48]
	mov	eax, DWORD PTR [eax+40]
	push	edx
	push	esi
	push	eax
	push	OFFSET ??_C@_0EE@IFAFDCBO@Current?5game?5on?5map?5?$CFs?5has?5ended@
	push	OFFSET ??_C@_08GIKHGICO@_GENERAL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 24					; 00000018H
	lea	ecx, DWORD PTR $T69461[esp+44]
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 432  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 40					; 00000028H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Level_Ended@gzGameManager@@UAEXXZ$0:
	lea	ecx, DWORD PTR $T69461[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Level_Ended@gzGameManager@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Level_Ended@gzGameManager@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Level_Ended@gzGameManager@@UAEXXZ ENDP			; gzGameManager::Level_Ended
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzWeatherManager@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzWeatherManager@@UAEPAXI@Z PROC			; gzWeatherManager::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@11
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@11:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzWeatherManager@@UAEPAXI@Z ENDP			; gzWeatherManager::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_JumpStart@gzGameModeBase@@UAEXAAVgzEventObjectJump@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_JumpStart@gzGameModeBase@@UAEXAAVgzEventObjectJump@@@Z PROC ; gzGameModeBase::Object_JumpStart, COMDAT
; _this$ = ecx

; 557  : {

	push	esi
	push	edi

; 558  : 	for (int i = 0; i < evt.m_soldier->Observers.Count(); i++)

	mov	edi, DWORD PTR _evt$[esp+4]
	mov	eax, DWORD PTR [edi+24]
	xor	esi, esi
	cmp	DWORD PTR [eax+1784], esi
	jle	SHORT $LN2@Object_Jum
$LL4@Object_Jum:

; 559  : 	{
; 560  : 		if (evt.m_soldier->Observers[i])

	mov	eax, DWORD PTR [eax+1776]
	cmp	DWORD PTR [eax+esi*4], 0
	je	SHORT $LN3@Object_Jum

; 561  : 			evt.m_soldier->Observers[i]->Custom(evt.m_soldier, 306491, 0, NULL);

	mov	eax, DWORD PTR [edi+24]
	mov	ecx, DWORD PTR [eax+1776]
	mov	ecx, DWORD PTR [ecx+esi*4]
	mov	edx, DWORD PTR [ecx]
	push	0
	push	0
	push	306491					; 0004ad3bH
	push	eax
	mov	eax, DWORD PTR [edx+32]
	call	eax
$LN3@Object_Jum:
	mov	eax, DWORD PTR [edi+24]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+1784]
	jl	SHORT $LL4@Object_Jum
$LN2@Object_Jum:
	pop	edi
	pop	esi

; 562  : 	}
; 563  : }

	ret	4
?Object_JumpStart@gzGameModeBase@@UAEXAAVgzEventObjectJump@@@Z ENDP ; gzGameModeBase::Object_JumpStart
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_SoldierSquished@gzGameModeBase@@UAEXAAVgzEventObjectKill@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_SoldierSquished@gzGameModeBase@@UAEXAAVgzEventObjectKill@@@Z PROC ; gzGameModeBase::Object_SoldierSquished, COMDAT
; _this$ = ecx

; 565  : {

	push	edi

; 566  : 	if (evt.m_defender->As_SoldierGameObj())

	mov	edi, DWORD PTR _evt$[esp]
	mov	ecx, DWORD PTR [edi+28]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	test	eax, eax
	je	SHORT $LN2@Object_Sol

; 567  : 	{
; 568  : 		for (int i = 0; i < evt.m_defender->Observers.Count(); i++)

	mov	eax, DWORD PTR [edi+28]
	push	esi
	xor	esi, esi
	cmp	DWORD PTR [eax+1784], esi
	jle	SHORT $LN16@Object_Sol
$LL4@Object_Sol:

; 569  : 		{
; 570  : 			if (evt.m_defender->Observers[i])

	mov	eax, DWORD PTR [eax+1776]
	cmp	DWORD PTR [eax+esi*4], 0
	je	SHORT $LN3@Object_Sol

; 571  : 				evt.m_defender->Observers[i]->Custom(evt.m_defender, 306492, 1, NULL);

	mov	eax, DWORD PTR [edi+28]
	mov	ecx, DWORD PTR [eax+1776]
	mov	ecx, DWORD PTR [ecx+esi*4]
	mov	edx, DWORD PTR [ecx]
	push	0
	push	1
	push	306492					; 0004ad3cH
	push	eax
	mov	eax, DWORD PTR [edx+32]
	call	eax
$LN3@Object_Sol:
	mov	eax, DWORD PTR [edi+28]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+1784]
	jl	SHORT $LL4@Object_Sol
$LN16@Object_Sol:
	pop	esi
$LN2@Object_Sol:
	pop	edi

; 572  : 		}
; 573  : 	}
; 574  : }

	ret	4
?Object_SoldierSquished@gzGameModeBase@@UAEXAAVgzEventObjectKill@@@Z ENDP ; gzGameModeBase::Object_SoldierSquished
_TEXT	ENDS
PUBLIC	?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z	; gzGameModeBase::IsPresetDisabled
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z$0
__ehfuncinfo$?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
$T69533 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_preset$ = 8						; size = 4
?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z PROC	; gzGameModeBase::IsPresetDisabled, COMDAT
; _this$ = ecx

; 576  : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H

; 577  : 	for (unsigned int i = 0; i < this->m_settings->m_DisablePreset.Count(); i++)

	mov	eax, DWORD PTR [ecx+36]
	push	ebx
	push	esi
	xor	esi, esi
	cmp	DWORD PTR [eax+68], esi
	push	edi
	mov	DWORD PTR _this$[esp+40], ecx
	jbe	SHORT $LN2@IsPresetDi
	mov	edi, DWORD PTR _preset$[ebp]
$LN4@IsPresetDi:

; 578  : 	{
; 579  : 		if (this->m_settings->m_DisablePreset[i] == preset)

	push	esi
	lea	ecx, DWORD PTR $T69533[esp+44]
	push	ecx
	lea	ecx, DWORD PTR [eax+56]
	call	??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z ; aStringArrayBase<aString>::operator[]
	push	edi
	mov	ecx, eax
	mov	DWORD PTR __$EHRec$[esp+52], 0
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	lea	ecx, DWORD PTR $T69533[esp+40]
	mov	bl, al
	mov	DWORD PTR __$EHRec$[esp+48], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	SHORT $LN14@IsPresetDi
	mov	edx, DWORD PTR _this$[esp+40]
	mov	eax, DWORD PTR [edx+36]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+68]
	jb	SHORT $LN4@IsPresetDi
$LN2@IsPresetDi:

; 580  : 			return true;
; 581  : 	}
; 582  : 	return false;

	xor	al, al

; 583  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
$LN14@IsPresetDi:
	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	pop	edi
	pop	esi
	mov	al, 1
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z$0:
	lea	ecx, DWORD PTR $T69533[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z:
	mov	eax, OFFSET __ehfuncinfo$?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?IsPresetDisabled@gzGameModeBase@@QAE_NPBD@Z ENDP	; gzGameModeBase::IsPresetDisabled
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzGamelogBase@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzGamelogBase@@UAEPAXI@Z PROC			; gzGamelogBase::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@12
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@12:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzGamelogBase@@UAEPAXI@Z ENDP			; gzGamelogBase::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0EH@ECCCOEPN@KILLED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF@ ; `string'
;	COMDAT ??_C@_0EH@ECCCOEPN@KILLED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0EH@ECCCOEPN@KILLED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF@ DB 'K'
	DB	'ILLED;%s;%d;%s;%.0f;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f;%.0f;'
	DB	'%s;%s;%s', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z$2
__ehfuncinfo$?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
_weapon$ = -120						; size = 4
tv190 = -116						; size = 4
tv194 = -112						; size = 4
_this$ = -108						; size = 4
_preset$ = -104						; size = 16
_pos$ = -88						; size = 24
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzGamelogObserver::Killed, COMDAT
; _this$ = ecx

; 886  : {

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	push	-1
	push	__ehhandler$?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 168				; 000000a8H
	push	ebx
	push	esi

; 887  : 	nc_Vector3 pos[2];
; 888  : 	obj->Get_Position(&pos[0]);

	mov	esi, DWORD PTR _obj$[ebp]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+56]
	mov	DWORD PTR _this$[esp+188], ecx
	push	edi
	lea	ecx, DWORD PTR _pos$[esp+192]
	push	ecx
	mov	ecx, esi
	call	edx

; 889  : 	nc_PhysicalGameObj *shooterPhys = NULL;
; 890  : 	if (shooter)

	mov	ebx, DWORD PTR _shooter$[ebp]
	xor	edi, edi
	test	ebx, ebx
	je	SHORT $LN7@Killed@2

; 891  : 	{
; 892  : 		shooter->Get_Position(&pos[1]);

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+56]
	lea	ecx, DWORD PTR _pos$[esp+204]
	push	ecx
	mov	ecx, ebx
	call	edx

; 893  : 		shooterPhys = shooter->As_PhysicalGameObj();

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+36]
	mov	ecx, ebx
	call	edx
	mov	edi, eax
$LN7@Killed@2:

; 894  : 	}
; 895  : 	const char *weapon = NULL;
; 896  : 	if (shooterPhys)

	test	edi, edi
	mov	DWORD PTR _weapon$[esp+192], 0
	je	SHORT $LN4@Killed@2

; 897  : 	{
; 898  : 		nc_ArmedGameObj *shooterArm = shooterPhys->As_ArmedGameObj();

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+148]
	mov	ecx, edi
	call	edx

; 899  : 		if (shooterArm)

	test	eax, eax
	je	SHORT $LN4@Killed@2

; 900  : 		{
; 901  : 			if (shooterArm->WeaponBag->current > 0)

	mov	ecx, DWORD PTR [eax+1968]
	cmp	DWORD PTR [ecx+28], 0
	jle	SHORT $LN4@Killed@2

; 902  : 				weapon = shooterArm->WeaponBag->Vector[shooterArm->WeaponBag->current]->WeaponDef->Get_Name();

	mov	eax, ecx
	mov	edx, DWORD PTR [eax+28]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR [eax+edx*4]
	mov	ecx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	DWORD PTR _weapon$[esp+192], eax
$LN4@Killed@2:

; 903  : 		}
; 904  : 	}
; 905  : 
; 906  : 	aString preset[] = {
; 907  : 		GetPresetInfo(obj->As_PhysicalGameObj(), false),

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+36]
	push	0
	mov	ecx, esi
	call	eax
	push	eax
	lea	ecx, DWORD PTR _preset$[esp+200]
	push	ecx
	call	?GetPresetInfo@@YA?AVaString@@PAVnc_PhysicalGameObj@@_N@Z ; GetPresetInfo

; 908  : 		GetPresetInfo(shooterPhys, true)
; 909  : 	};

	push	1
	lea	edx, DWORD PTR _preset$[esp+216]
	push	edi
	push	edx
	mov	DWORD PTR __$EHRec$[esp+224], 0
	call	?GetPresetInfo@@YA?AVaString@@PAVnc_PhysicalGameObj@@_N@Z ; GetPresetInfo
	add	esp, 24					; 00000018H

; 910  : 
; 911  : 	switch (this->m_objType)

	mov	eax, DWORD PTR _this$[esp+192]
	mov	eax, DWORD PTR [eax+28]
	add	eax, -1
	cmp	eax, 5
	mov	DWORD PTR __$EHRec$[esp+200], 1
	ja	$LN2@Killed@2

; 912  : 	{
; 913  : 		case GAMELOG_BUILDING:
; 914  : 		case GAMELOG_SOLDIER:
; 915  : 		case GAMELOG_VEHICLE:
; 916  : 		case GAMELOG_BEACON:
; 917  : 		case GAMELOG_C4:
; 918  : 		case GAMELOG_CRATE:
; 919  : 			this->Log("KILLED;%s;%d;%s;%.0f;%.0f;%.0f;%.0f;%d;%s;%.0f;%.0f;%.0f;%.0f;%s;%s;%s",
; 920  : 				this->m_typeString[this->m_objType],
; 921  : 				obj->NetworkID,
; 922  : 				obj->definition->Get_Name(),
; 923  : 				pos[0].Y,
; 924  : 				pos[0].X,
; 925  : 				pos[0].Z,
; 926  : 				gzCommands->Get_Facing(obj),
; 927  : 				(shooter ? shooter->NetworkID : 0),
; 928  : 				(shooter ? shooter->definition->Get_Name() : NULL),
; 929  : 				pos[1].Y,
; 930  : 				pos[1].X,
; 931  : 				pos[1].Z,
; 932  : 				gzCommands->Get_Facing(shooter),
; 933  : 				weapon,
; 934  : 				preset[0].GetString(),
; 935  : 				preset[1].GetString()
; 936  : 			);

	xor	edi, edi
	cmp	ebx, edi
	je	SHORT $LN10@Killed@2
	mov	ecx, DWORD PTR [ebx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR [ebx+12]
	mov	DWORD PTR tv190[esp+192], eax
	mov	DWORD PTR tv194[esp+192], ecx
	jmp	SHORT $LN13@Killed@2
$LN10@Killed@2:
	mov	DWORD PTR tv190[esp+192], edi
	mov	DWORD PTR tv194[esp+192], edi
$LN13@Killed@2:
	mov	eax, DWORD PTR _preset$[esp+204]
	cmp	eax, edi
	je	SHORT $LN21@Killed@2
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN22@Killed@2
$LN21@Killed@2:
	xor	ecx, ecx
$LN22@Killed@2:
	mov	eax, DWORD PTR _preset$[esp+196]
	cmp	eax, edi
	je	SHORT $LN27@Killed@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN28@Killed@2
$LN27@Killed@2:
	xor	eax, eax
$LN28@Killed@2:
	mov	edx, DWORD PTR _weapon$[esp+192]
	mov	edi, DWORD PTR [esi+1724]
	push	ecx
	push	eax
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+72]
	push	edx
	push	ebx
	call	ecx
	mov	edx, DWORD PTR tv190[esp+208]
	mov	eax, DWORD PTR tv194[esp+208]
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	sub	esp, 28					; 0000001cH
	fstp	QWORD PTR [esp+24]
	fld	DWORD PTR _pos$[esp+256]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+248]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+252]
	fstp	QWORD PTR [esp]
	push	edx
	mov	edx, DWORD PTR [ecx+72]
	push	eax
	push	esi
	call	edx
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+48]
	sub	esp, 28					; 0000001cH
	fstp	QWORD PTR [esp+24]
	mov	ecx, edi
	fld	DWORD PTR _pos$[esp+284]
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$[esp+276]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$[esp+280]
	fstp	QWORD PTR [esp]
	call	edx
	mov	ecx, DWORD PTR _this$[esp+276]
	mov	edx, DWORD PTR [ecx+28]
	push	eax
	mov	eax, DWORD PTR [esi+12]
	push	eax
	mov	eax, DWORD PTR ?m_typeString@gzGamelogBase@@1PAPBDA[edx*4]
	push	eax
	push	OFFSET ??_C@_0EH@ECCCOEPN@KILLED?$DL?$CFs?$DL?$CFd?$DL?$CFs?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF?40f?$DL?$CF@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log
	add	esp, 100				; 00000064H
$LN2@Killed@2:

; 937  : 			break;
; 938  : 	}
; 939  : }

	push	OFFSET ??1aString@@UAE@XZ
	push	2
	push	8
	lea	ecx, DWORD PTR _preset$[esp+204]
	push	ecx
	mov	DWORD PTR __$EHRec$[esp+216], -1
	call	??_M@YGXPAXIHP6EX0@Z@Z
	mov	ecx, DWORD PTR __$EHRec$[esp+192]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z$0:
	lea	ecx, DWORD PTR _preset$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z$2:
	push	OFFSET ??1aString@@UAE@XZ
	push	2
	push	8
	lea	eax, DWORD PTR _preset$[ebp]
	push	eax
	call	??_M@YGXPAXIHP6EX0@Z@Z
	ret	0
__ehhandler$?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Killed@gzGamelogObserver@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzGamelogObserver::Killed
PUBLIC	??_C@_05PGGAFPFO@Death?$AA@			; `string'
PUBLIC	__real@47c34f80
;	COMDAT ??_C@_05PGGAFPFO@Death?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_05PGGAFPFO@Death?$AA@ DB 'Death', 00H		; `string'
CONST	ENDS
;	COMDAT __real@47c34f80
CONST	SEGMENT
__real@47c34f80 DD 047c34f80r			; 99999
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z$0
__ehfuncinfo$?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
$T69612 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverBuilding::Created, COMDAT
; _this$ = ecx

; 970  : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H
	push	ebx
	mov	ebx, ecx

; 971  : 	this->m_Building = obj->As_BuildingGameObj();

	mov	ecx, DWORD PTR _obj$[ebp]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+64]
	push	esi
	push	edi
	mov	DWORD PTR _this$[esp+40], ebx
	call	edx
	mov	DWORD PTR [ebx+28], eax

; 972  : 
; 973  : #if VERC(1, 0, 1)
; 974  : 		for (unsigned int i = 0; i < gzGameMgr->m_settings->m_disableBuildings.Count(); i++)

	mov	eax, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	ecx, DWORD PTR [eax+72]
	add	eax, 72					; 00000048H
	xor	esi, esi
	cmp	DWORD PTR [ecx+148], esi
	jbe	$LN2@Created@3
	jmp	SHORT $LN4@Created@3
	npad	1
$LL16@Created@3:
	mov	ebx, DWORD PTR _this$[esp+40]
$LN4@Created@3:

; 975  : 		{
; 976  : 			
; 977  : 			if (gzGameMgr->m_settings->m_disableBuildings[i] == this->m_Building->definition->Get_Name())

	mov	ecx, DWORD PTR [eax]
	push	esi
	lea	edx, DWORD PTR $T69612[esp+44]
	push	edx
	add	ecx, 136				; 00000088H
	call	??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z ; aStringArrayBase<aString>::operator[]
	mov	edi, eax
	mov	eax, DWORD PTR [ebx+28]
	mov	ecx, DWORD PTR [eax+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	mov	DWORD PTR __$EHRec$[esp+48], 0
	call	eax
	push	eax
	mov	ecx, edi
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	lea	ecx, DWORD PTR $T69612[esp+40]
	mov	bl, al
	mov	DWORD PTR __$EHRec$[esp+48], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	SHORT $LN14@Created@3
	mov	eax, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	ecx, DWORD PTR [eax+72]
	add	eax, 72					; 00000048H
	add	esi, 1
	cmp	esi, DWORD PTR [ecx+148]
	jb	SHORT $LL16@Created@3

; 980  : 				break;
; 981  : 			}
; 982  : 		}
; 983  : #endif
; 984  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
$LN14@Created@3:

; 978  : 			{
; 979  : 				gzCommands->Apply_Damage(obj, 99999.0f, "Death", NULL);

	fld	DWORD PTR __real@47c34f80
	mov	edx, DWORD PTR _obj$[ebp]
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	push	0
	push	OFFSET ??_C@_05PGGAFPFO@Death?$AA@
	push	ecx
	mov	ecx, DWORD PTR [eax+616]
	fstp	DWORD PTR [esp]
	push	edx
	call	ecx
	add	esp, 16					; 00000010H
$LN2@Created@3:

; 980  : 				break;
; 981  : 			}
; 982  : 		}
; 983  : #endif
; 984  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z$0:
	lea	ecx, DWORD PTR $T69612[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Created@gzObserverBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverBuilding::Created
PUBLIC	__real@3d4ccccd
PUBLIC	__real@38d1b717
PUBLIC	__real@3c23d70a
EXTRN	?Remove_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z:PROC ; nc_ScriptableGameObj::Remove_Observer
;	COMDAT __real@3d4ccccd
; File d:\source code\fds lib\new\fds_vector.h
CONST	SEGMENT
__real@3d4ccccd DD 03d4ccccdr			; 0.05
CONST	ENDS
;	COMDAT __real@38d1b717
CONST	SEGMENT
__real@38d1b717 DD 038d1b717r			; 0.0001
CONST	ENDS
;	COMDAT __real@3c23d70a
CONST	SEGMENT
__real@3c23d70a DD 03c23d70ar			; 0.01
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
CONST	ENDS
;	COMDAT ?Timer_Expired@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_curFloatPos$59117 = -12				; size = 12
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzObserver_Parachute::Timer_Expired, COMDAT
; _this$ = ecx

; 1130 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 12					; 0000000cH
	cmp	eax, 1
	push	ebx
	push	esi
	mov	ebx, ecx
	jne	$LN14@Timer_Expi@5

; 1131 : 	{
; 1132 : 		nc_PhysicalGameObj *floater = nc_GameObjManager::Find_PhysicalGameObj(this->m_floaterId);

	mov	eax, DWORD PTR [ebx+28]
	push	eax
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	mov	esi, eax
	add	esp, 4

; 1133 : 		if (floater)

	test	esi, esi
	je	SHORT $LN11@Timer_Expi@5

; 1134 : 		{
; 1135 : 			nc_PhysicalGameObj *para = nc_GameObjManager::Find_PhysicalGameObj(this->m_parachuteId);

	mov	ecx, DWORD PTR [ebx+32]
	push	ecx
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj

; 1136 : 			nc_Vector3 curFloatPos;
; 1137 : 			floater->Get_Position(&curFloatPos);

	mov	edx, DWORD PTR [esi]
	mov	edx, DWORD PTR [edx+56]
	add	esp, 4
	lea	eax, DWORD PTR _curFloatPos$59117[esp+20]
	push	eax
	mov	ecx, esi
	call	edx

; 1138 : 			if ((this->m_floaterPos.Z - curFloatPos.Z) <= 0.01f)

	fld	DWORD PTR [ebx+44]
	fsub	DWORD PTR _curFloatPos$59117[esp+28]
	fcomp	DWORD PTR __real@3c23d70a
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN12@Timer_Expi@5

; 1139 : 			{
; 1140 : 				obj->Start_Observer_Timer(this->GetID(), 0.0001f, 2);

	fld	DWORD PTR __real@38d1b717
	mov	eax, DWORD PTR [ebx+4]
	push	2
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+24]
	fstp	DWORD PTR [esp]
	push	eax
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	esi
	pop	ebx

; 1167 : 	}
; 1168 : }

	add	esp, 12					; 0000000cH
	ret	8
$LN12@Timer_Expi@5:

; 1141 : 				return;
; 1142 : 			}
; 1143 : 			else
; 1144 : 				floater->Get_Position(&this->m_floaterPos);

	mov	edx, DWORD PTR [esi]
	mov	edx, DWORD PTR [edx+56]
	lea	eax, DWORD PTR [ebx+36]
	push	eax
	mov	ecx, esi
	call	edx
$LN11@Timer_Expi@5:

; 1145 : 		}
; 1146 : 		obj->Start_Observer_Timer(this->GetID(), 0.05f, 1);

	fld	DWORD PTR __real@3d4ccccd
	mov	eax, DWORD PTR [ebx+4]
	push	1
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+24]
	fstp	DWORD PTR [esp]
	push	eax
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	esi
	pop	ebx

; 1167 : 	}
; 1168 : }

	add	esp, 12					; 0000000cH
	ret	8
$LN14@Timer_Expi@5:

; 1147 : 	}
; 1148 : 	else if (number == 2)

	cmp	eax, 2
	jne	SHORT $LN9@Timer_Expi@5

; 1149 : 	{
; 1150 : 		if (nc_GameObjManager::Find_PhysicalGameObj(this->m_floaterId))

	mov	ecx, DWORD PTR [ebx+28]
	push	ecx
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN8@Timer_Expi@5

; 1151 : 		nc_GameObjManager::Find_PhysicalGameObj(this->m_floaterId)->Set_Delete_Pending();

	mov	edx, DWORD PTR [ebx+28]
	push	edx
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+44]
	add	esp, 4
	call	edx
$LN8@Timer_Expi@5:

; 1152 : 		if (nc_GameObjManager::Find_PhysicalGameObj(this->m_parachuteId))

	mov	eax, DWORD PTR [ebx+32]
	push	eax
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN7@Timer_Expi@5

; 1153 : 			nc_GameObjManager::Find_PhysicalGameObj(this->m_parachuteId)->Set_Delete_Pending();

	mov	ecx, DWORD PTR [ebx+32]
	push	ecx
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	mov	edx, DWORD PTR [eax+8]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+44]
	add	esp, 4
	call	eax
$LN7@Timer_Expi@5:

; 1154 : 		obj->Start_Observer_Timer(this->GetID(), 0.5f, 3);

	fld	DWORD PTR __real@3f000000
	push	3
	push	ecx
	mov	ecx, DWORD PTR [ebx+4]
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+28]
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	esi
	pop	ebx

; 1167 : 	}
; 1168 : }

	add	esp, 12					; 0000000cH
	ret	8
$LN9@Timer_Expi@5:

; 1155 : 	}
; 1156 : 	else if (number == 3)

	cmp	eax, 3
	jne	SHORT $LN5@Timer_Expi@5
	push	edi

; 1157 : 	{
; 1158 : 		for (int i = 0; i < obj->Observers.Count(); i++)

	mov	edi, DWORD PTR _obj$[esp+20]
	xor	esi, esi
	cmp	DWORD PTR [edi+1784], esi
	jle	SHORT $LN2@Timer_Expi@5
	npad	6
$LL4@Timer_Expi@5:

; 1159 : 		{
; 1160 : 			if (!stricmp(obj->Observers[i]->Get_Name(), "M00_No_Falling_Damage_DME"))

	mov	edx, DWORD PTR [edi+1776]
	mov	ecx, DWORD PTR [edx+esi*4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	push	OFFSET ??_C@_0BK@NKAKCAFI@M00_No_Falling_Damage_DME?$AA@
	call	edx
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN30@Timer_Expi@5
	add	esi, 1
	cmp	esi, DWORD PTR [edi+1784]
	jl	SHORT $LL4@Timer_Expi@5

; 1163 : 				break;
; 1164 : 			}
; 1165 : 		}
; 1166 : 		this->Destroy_Script();

	mov	ecx, ebx
	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
	pop	edi
	pop	esi
	pop	ebx

; 1167 : 	}
; 1168 : }

	add	esp, 12					; 0000000cH
	ret	8
$LN30@Timer_Expi@5:

; 1161 : 			{
; 1162 : 				obj->Remove_Observer(obj->Observers[i]);

	mov	eax, DWORD PTR [edi+1776]
	mov	ecx, DWORD PTR [eax+esi*4]
	push	ecx
	mov	ecx, edi
	call	?Remove_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z ; nc_ScriptableGameObj::Remove_Observer
$LN2@Timer_Expi@5:

; 1163 : 				break;
; 1164 : 			}
; 1165 : 		}
; 1166 : 		this->Destroy_Script();

	mov	ecx, ebx
	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
	pop	edi
$LN5@Timer_Expi@5:
	pop	esi
	pop	ebx

; 1167 : 	}
; 1168 : }

	add	esp, 12					; 0000000cH
	ret	8
?Timer_Expired@gzObserver_Parachute@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzObserver_Parachute::Timer_Expired
_TEXT	ENDS
PUBLIC	?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ; std::_DebugHeapAllocator<char>::deallocate
; Function compile flags: /Ogtpy
; File c:\program files (x86)\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	??1?$aVector@PAVaStringData@@@@UAE@XZ		; aVector<aStringData *>::~aVector<aStringData *>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??1?$aVector@PAVaStringData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAVaStringData@@@@UAE@XZ PROC		; aVector<aStringData *>::~aVector<aStringData *>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	je	SHORT $LN8@aVector
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 47   : 	};

	ret	0
??1?$aVector@PAVaStringData@@@@UAE@XZ ENDP		; aVector<aStringData *>::~aVector<aStringData *>
_TEXT	ENDS
PUBLIC	??_7?$aStringArrayBase@VaString@@@@6B@		; aStringArrayBase<aString>::`vftable'
PUBLIC	??1?$aStringArrayBase@VaString@@@@UAE@XZ	; aStringArrayBase<aString>::~aStringArrayBase<aString>
PUBLIC	??_R4?$aStringArrayBase@VaString@@@@6B@		; aStringArrayBase<aString>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aStringArrayBase@VaString@@@@@8	; aStringArrayBase<aString> `RTTI Type Descriptor'
PUBLIC	??_R3?$aStringArrayBase@VaString@@@@8		; aStringArrayBase<aString>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aStringArrayBase@VaString@@@@8		; aStringArrayBase<aString>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aStringArrayBase@VaString@@@@8	; aStringArrayBase<aString>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Delete@?$aStringArrayBase@VaString@@@@UAEXI@Z	; aStringArrayBase<aString>::Delete
EXTRN	??_E?$aStringArrayBase@VaString@@@@UAEPAXI@Z:PROC ; aStringArrayBase<aString>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aStringArrayBase@VaString@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aStringArrayBase@VaString@@@@8 DD FLAT:??_R0?AV?$aStringArrayBase@VaString@@@@@8 ; aStringArrayBase<aString>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aStringArrayBase@VaString@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aStringArrayBase@VaString@@@@8
rdata$r	SEGMENT
??_R2?$aStringArrayBase@VaString@@@@8 DD FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaString@@@@8 ; aStringArrayBase<aString>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3?$aStringArrayBase@VaString@@@@8
rdata$r	SEGMENT
??_R3?$aStringArrayBase@VaString@@@@8 DD 00H		; aStringArrayBase<aString>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$aStringArrayBase@VaString@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aStringArrayBase@VaString@@@@@8
_DATA	SEGMENT
??_R0?AV?$aStringArrayBase@VaString@@@@@8 DD FLAT:??_7type_info@@6B@ ; aStringArrayBase<aString> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aStringArrayBase@VaString@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aStringArrayBase@VaString@@@@6B@
rdata$r	SEGMENT
??_R4?$aStringArrayBase@VaString@@@@6B@ DD 00H		; aStringArrayBase<aString>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aStringArrayBase@VaString@@@@@8
	DD	FLAT:??_R3?$aStringArrayBase@VaString@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aStringArrayBase@VaString@@@@6B@
CONST	SEGMENT
??_7?$aStringArrayBase@VaString@@@@6B@ DD FLAT:??_R4?$aStringArrayBase@VaString@@@@6B@ ; aStringArrayBase<aString>::`vftable'
	DD	FLAT:??_E?$aStringArrayBase@VaString@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aStringArrayBase@VaString@@@@UAEXI@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$aStringArrayBase@VaString@@@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$aStringArrayBase@VaString@@@@UAE@XZ$0
__ehfuncinfo$??1?$aStringArrayBase@VaString@@@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$aStringArrayBase@VaString@@@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
xdata$x	ENDS
;	COMDAT ??1?$aStringArrayBase@VaString@@@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$aStringArrayBase@VaString@@@@UAE@XZ PROC		; aStringArrayBase<aString>::~aStringArrayBase<aString>, COMDAT
; _this$ = ecx

; 76   : 	{

	push	-1
	push	__ehhandler$??1?$aStringArrayBase@VaString@@@@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 ??_7?$aStringArrayBase@VaString@@@@6B@
	xor	edi, edi
	mov	DWORD PTR __$EHRec$[esp+32], edi

; 77   : 		this->Clear();

	call	?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ ; aStringArrayBase<aString>::Clear

; 78   : 	};

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	je	SHORT $LN11@aStringArr
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN11@aStringArr:
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	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$??1?$aStringArrayBase@VaString@@@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$aVector@PAVaStringData@@@@UAE@XZ	; aVector<aStringData *>::~aVector<aStringData *>
__ehhandler$??1?$aStringArrayBase@VaString@@@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$aStringArrayBase@VaString@@@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$aStringArrayBase@VaString@@@@UAE@XZ ENDP		; aStringArrayBase<aString>::~aStringArrayBase<aString>
; Function compile flags: /Ogtpy
;	COMDAT ?Delete@?$aStringArrayBase@VaString@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aStringArrayBase@VaString@@@@UAEXI@Z PROC	; aStringArrayBase<aString>::Delete, COMDAT
; _this$ = ecx

; 110  : 	{

	push	esi
	push	edi

; 111  : 		if (index >= this->m_items)

	mov	edi, DWORD PTR _index$[esp+4]
	mov	esi, ecx
	cmp	edi, DWORD PTR [esi+12]
	jae	SHORT $LN2@Delete@6

; 112  : 			return;
; 113  : 		this->m_vector[index]->DecRef();

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+edi*4]
	call	?DecRef@aStringData@@QAEXXZ		; aStringData::DecRef

; 114  : 		this->aVector<aStringData *>::Delete(index);

	push	edi
	mov	ecx, esi
	call	?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z ; aVector<aStringData *>::Delete
$LN2@Delete@6:
	pop	edi
	pop	esi

; 115  : 	};

	ret	4
?Delete@?$aStringArrayBase@VaString@@@@UAEXI@Z ENDP	; aStringArrayBase<aString>::Delete
_TEXT	ENDS
PUBLIC	??_7?$aStringArrayBase@VaWideString@@@@6B@	; aStringArrayBase<aWideString>::`vftable'
PUBLIC	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ	; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
PUBLIC	??_R4?$aStringArrayBase@VaWideString@@@@6B@	; aStringArrayBase<aWideString>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aStringArrayBase@VaWideString@@@@@8	; aStringArrayBase<aWideString> `RTTI Type Descriptor'
PUBLIC	??_R3?$aStringArrayBase@VaWideString@@@@8	; aStringArrayBase<aWideString>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aStringArrayBase@VaWideString@@@@8	; aStringArrayBase<aWideString>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8 ; aStringArrayBase<aWideString>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z ; aStringArrayBase<aWideString>::Delete
EXTRN	??_E?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z:PROC ; aStringArrayBase<aWideString>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8 DD FLAT:??_R0?AV?$aStringArrayBase@VaWideString@@@@@8 ; aStringArrayBase<aWideString>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aStringArrayBase@VaWideString@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aStringArrayBase@VaWideString@@@@8
rdata$r	SEGMENT
??_R2?$aStringArrayBase@VaWideString@@@@8 DD FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8 ; aStringArrayBase<aWideString>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3?$aStringArrayBase@VaWideString@@@@8
rdata$r	SEGMENT
??_R3?$aStringArrayBase@VaWideString@@@@8 DD 00H	; aStringArrayBase<aWideString>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$aStringArrayBase@VaWideString@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aStringArrayBase@VaWideString@@@@@8
_DATA	SEGMENT
??_R0?AV?$aStringArrayBase@VaWideString@@@@@8 DD FLAT:??_7type_info@@6B@ ; aStringArrayBase<aWideString> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aStringArrayBase@VaWideString@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aStringArrayBase@VaWideString@@@@6B@
rdata$r	SEGMENT
??_R4?$aStringArrayBase@VaWideString@@@@6B@ DD 00H	; aStringArrayBase<aWideString>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aStringArrayBase@VaWideString@@@@@8
	DD	FLAT:??_R3?$aStringArrayBase@VaWideString@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aStringArrayBase@VaWideString@@@@6B@
CONST	SEGMENT
??_7?$aStringArrayBase@VaWideString@@@@6B@ DD FLAT:??_R4?$aStringArrayBase@VaWideString@@@@6B@ ; aStringArrayBase<aWideString>::`vftable'
	DD	FLAT:??_E?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ$0
__ehfuncinfo$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
xdata$x	ENDS
;	COMDAT ??1?$aStringArrayBase@VaWideString@@@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$aStringArrayBase@VaWideString@@@@UAE@XZ PROC	; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>, COMDAT
; _this$ = ecx

; 76   : 	{

	push	-1
	push	__ehhandler$??1?$aStringArrayBase@VaWideString@@@@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 ??_7?$aStringArrayBase@VaWideString@@@@6B@
	xor	edi, edi
	mov	DWORD PTR __$EHRec$[esp+32], edi

; 77   : 		this->Clear();

	call	?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ ; aStringArrayBase<aWideString>::Clear

; 78   : 	};

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	je	SHORT $LN11@aStringArr@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN11@aStringArr@2:
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	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$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$aVector@PAVaStringData@@@@UAE@XZ	; aVector<aStringData *>::~aVector<aStringData *>
__ehhandler$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ENDP	; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
; Function compile flags: /Ogtpy
;	COMDAT ?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z PROC	; aStringArrayBase<aWideString>::Delete, COMDAT
; _this$ = ecx

; 110  : 	{

	push	esi
	push	edi

; 111  : 		if (index >= this->m_items)

	mov	edi, DWORD PTR _index$[esp+4]
	mov	esi, ecx
	cmp	edi, DWORD PTR [esi+12]
	jae	SHORT $LN2@Delete@7

; 112  : 			return;
; 113  : 		this->m_vector[index]->DecRef();

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+edi*4]
	call	?DecRef@aStringData@@QAEXXZ		; aStringData::DecRef

; 114  : 		this->aVector<aStringData *>::Delete(index);

	push	edi
	mov	ecx, esi
	call	?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z ; aVector<aStringData *>::Delete
$LN2@Delete@7:
	pop	edi
	pop	esi

; 115  : 	};

	ret	4
?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z ENDP	; aStringArrayBase<aWideString>::Delete
_TEXT	ENDS
PUBLIC	??1?$aVector@I@@UAE@XZ				; aVector<unsigned int>::~aVector<unsigned int>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??1?$aVector@I@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@I@@UAE@XZ PROC				; aVector<unsigned int>::~aVector<unsigned int>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@I@@6B@
	je	SHORT $LN8@aVector@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector@2:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 47   : 	};

	ret	0
??1?$aVector@I@@UAE@XZ ENDP				; aVector<unsigned int>::~aVector<unsigned int>
_TEXT	ENDS
PUBLIC	??1?$aVector@UstObserverDataStruct@@@@UAE@XZ	; aVector<stObserverDataStruct>::~aVector<stObserverDataStruct>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@UstObserverDataStruct@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@UstObserverDataStruct@@@@UAE@XZ PROC	; aVector<stObserverDataStruct>::~aVector<stObserverDataStruct>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@UstObserverDataStruct@@@@6B@
	je	SHORT $LN8@aVector@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector@3:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 47   : 	};

	ret	0
??1?$aVector@UstObserverDataStruct@@@@UAE@XZ ENDP	; aVector<stObserverDataStruct>::~aVector<stObserverDataStruct>
_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>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAVaStringData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAVaStringData@@@@UAEPAXI@Z PROC		; aVector<aStringData *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	je	SHORT $LN6@scalar@13
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@13:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@13
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@13:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAVaStringData@@@@UAEPAXI@Z ENDP		; aVector<aStringData *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z PROC	; aStringArrayBase<aWideString>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@14
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@14:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z ENDP	; aStringArrayBase<aWideString>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@I@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@I@@UAEPAXI@Z PROC				; aVector<unsigned int>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@I@@6B@
	je	SHORT $LN6@scalar@15
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@15:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@15
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@15:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@I@@UAEPAXI@Z ENDP				; aVector<unsigned int>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@UstObserverDataStruct@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@UstObserverDataStruct@@@@UAEPAXI@Z PROC	; aVector<stObserverDataStruct>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@UstObserverDataStruct@@@@6B@
	je	SHORT $LN6@scalar@16
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@16:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@16
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@16:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@UstObserverDataStruct@@@@UAEPAXI@Z ENDP	; aVector<stObserverDataStruct>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1aWideStringArray@@UAE@XZ			; aWideStringArray::~aWideStringArray
; Function compile flags: /Ogtpy
;	COMDAT ??1aWideStringArray@@UAE@XZ
_TEXT	SEGMENT
??1aWideStringArray@@UAE@XZ PROC			; aWideStringArray::~aWideStringArray, COMDAT
; _this$ = ecx
	jmp	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
??1aWideStringArray@@UAE@XZ ENDP			; aWideStringArray::~aWideStringArray
_TEXT	ENDS
PUBLIC	??0?$aStringArrayBase@VaWideString@@@@QAE@XZ	; aStringArrayBase<aWideString>::aStringArrayBase<aWideString>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$aStringArrayBase@VaWideString@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aStringArrayBase@VaWideString@@@@QAE@XZ PROC	; aStringArrayBase<aWideString>::aStringArrayBase<aWideString>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aStringArrayBase@VaWideString@@@@6B@
	ret	0
??0?$aStringArrayBase@VaWideString@@@@QAE@XZ ENDP	; aStringArrayBase<aWideString>::aStringArrayBase<aWideString>
_TEXT	ENDS
PUBLIC	??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z PROC	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	ret	4
??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z ENDP	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
_TEXT	ENDS
PUBLIC	??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@ ; `string'
;	COMDAT ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@ DB 'd:\source'
	DB	' code\fds lib\new\fds_scripts.h', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T69883 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzGamelogObserver>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	ebx, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T69883[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi+28], 0
	mov	DWORD PTR [esi], OFFSET ??_7gzGamelogObserver@@6B@
	jmp	SHORT $LN4@Create
$LN3@Create:
	xor	esi, esi
$LN4@Create:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

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

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T69883[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzGamelogObserver@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzGamelogObserver>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T69912 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverBuilding>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	36					; 00000024H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T69912[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@2
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverBuilding@@6B@
	jmp	SHORT $LN4@Create@2
$LN3@Create@2:
	xor	esi, esi
$LN4@Create@2:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

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

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T69912[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverBuilding>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T69935 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObelisk_Powerup>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	36					; 00000024H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T69935[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@3
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObelisk_Powerup@@6B@
	jmp	SHORT $LN4@Create@3
$LN3@Create@3:
	xor	esi, esi
$LN4@Create@3:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

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

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T69935[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObelisk_Powerup>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T69958 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserver_Parachute>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	48					; 00000030H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T69958[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@4
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserver_Parachute@@6B@
	jmp	SHORT $LN4@Create@4
$LN3@Create@4:
	xor	esi, esi
$LN4@Create@4:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

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

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T69958[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserver_Parachute>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T69981 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserver_Nod_Obelisk>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	32					; 00000020H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T69981[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@5
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserver_Nod_Obelisk@@6B@
	jmp	SHORT $LN4@Create@5
$LN3@Create@5:
	xor	esi, esi
$LN4@Create@5:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

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

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T69981[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserver_Nod_Obelisk>::Create
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzGamelogObserver@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzGamelogObserver@@UAEPAXI@Z PROC			; gzGamelogObserver::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN10@scalar@17
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN10@scalar@17:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzGamelogObserver@@UAEPAXI@Z ENDP			; gzGamelogObserver::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzObserverBuilding@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverBuilding@@UAEPAXI@Z PROC			; gzObserverBuilding::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@18
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@18:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserverBuilding@@UAEPAXI@Z ENDP			; gzObserverBuilding::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzObelisk_Powerup@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObelisk_Powerup@@UAEPAXI@Z PROC			; gzObelisk_Powerup::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@19
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@19:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObelisk_Powerup@@UAEPAXI@Z ENDP			; gzObelisk_Powerup::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzObserver_Parachute@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserver_Parachute@@UAEPAXI@Z PROC		; gzObserver_Parachute::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@20
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@20:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserver_Parachute@@UAEPAXI@Z ENDP		; gzObserver_Parachute::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzObserver_Nod_Obelisk@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserver_Nod_Obelisk@@UAEPAXI@Z PROC		; gzObserver_Nod_Obelisk::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@21
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@21:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserver_Nod_Obelisk@@UAEPAXI@Z ENDP		; gzObserver_Nod_Obelisk::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1aStringArray@@UAE@XZ				; aStringArray::~aStringArray
; Function compile flags: /Ogtpy
;	COMDAT ??1aStringArray@@UAE@XZ
_TEXT	SEGMENT
??1aStringArray@@UAE@XZ PROC				; aStringArray::~aStringArray, COMDAT
; _this$ = ecx
	jmp	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
??1aStringArray@@UAE@XZ ENDP				; aStringArray::~aStringArray
_TEXT	ENDS
PUBLIC	??0?$aStringArrayBase@VaString@@@@QAE@XZ	; aStringArrayBase<aString>::aStringArrayBase<aString>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$aStringArrayBase@VaString@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aStringArrayBase@VaString@@@@QAE@XZ PROC		; aStringArrayBase<aString>::aStringArrayBase<aString>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aStringArrayBase@VaString@@@@6B@
	ret	0
??0?$aStringArrayBase@VaString@@@@QAE@XZ ENDP		; aStringArrayBase<aString>::aStringArrayBase<aString>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aStringArrayBase@VaString@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aStringArrayBase@VaString@@@@UAEPAXI@Z PROC	; aStringArrayBase<aString>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@22
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@22:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aStringArrayBase@VaString@@@@UAEPAXI@Z ENDP	; aStringArrayBase<aString>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0BK@BNPBNNID@?$CFs?5is?5using?5game?5mode?3?5?$CFs?$AA@ ; `string'
PUBLIC	??_C@_0DG@MBBLPLGL@?$FLSpawner?$FN?5Deleted?5spawner?3?5?$CFd?$DL?5T@ ; `string'
PUBLIC	??_C@_02JINPPBEP@No?$AA@			; `string'
PUBLIC	??_C@_03CCLAEDDF@Yes?$AA@			; `string'
PUBLIC	??_C@_0O@KMJNOOOC@CONFIG?$DL?$CFu?$DL?$CFls?$AA@ ; `string'
PUBLIC	??_C@_07DNPCCCDC@2?403?$DL?$CFs?$AA@		; `string'
PUBLIC	??_C@_01NOFIACDB@w?$AA@				; `string'
PUBLIC	?Settings_Loaded@gzGameManager@@UAEXXZ		; gzGameManager::Settings_Loaded
EXTRN	??0gzGameAow@@QAE@XZ:PROC			; gzGameAow::gzGameAow
EXTRN	?SpawnerList@nc_SpawnManager@@2AAV?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@A:DWORD ; nc_SpawnManager::SpawnerList
EXTRN	_fopen:PROC
;	COMDAT ??_C@_0BK@BNPBNNID@?$CFs?5is?5using?5game?5mode?3?5?$CFs?$AA@
; File d:\source code\stgm\stgame.cpp
CONST	SEGMENT
??_C@_0BK@BNPBNNID@?$CFs?5is?5using?5game?5mode?3?5?$CFs?$AA@ DB '%s is u'
	DB	'sing game mode: %s', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0DG@MBBLPLGL@?$FLSpawner?$FN?5Deleted?5spawner?3?5?$CFd?$DL?5T@
CONST	SEGMENT
??_C@_0DG@MBBLPLGL@?$FLSpawner?$FN?5Deleted?5spawner?3?5?$CFd?$DL?5T@ DB '['
	DB	'Spawner] Deleted spawner: %d; Team: %d; Primary: %s', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_02JINPPBEP@No?$AA@
CONST	SEGMENT
??_C@_02JINPPBEP@No?$AA@ DB 'No', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03CCLAEDDF@Yes?$AA@
CONST	SEGMENT
??_C@_03CCLAEDDF@Yes?$AA@ DB 'Yes', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@KMJNOOOC@CONFIG?$DL?$CFu?$DL?$CFls?$AA@
CONST	SEGMENT
??_C@_0O@KMJNOOOC@CONFIG?$DL?$CFu?$DL?$CFls?$AA@ DB 'CONFIG;%u;%ls', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_07DNPCCCDC@2?403?$DL?$CFs?$AA@
CONST	SEGMENT
??_C@_07DNPCCCDC@2?403?$DL?$CFs?$AA@ DB '2.03;%s', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_01NOFIACDB@w?$AA@
CONST	SEGMENT
??_C@_01NOFIACDB@w?$AA@ DB 'w', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Settings_Loaded@gzGameManager@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Settings_Loaded@gzGameManager@@UAEXXZ$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Settings_Loaded@gzGameManager@@UAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Settings_Loaded@gzGameManager@@UAEXXZ$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Settings_Loaded@gzGameManager@@UAEXXZ$3
__ehfuncinfo$?Settings_Loaded@gzGameManager@@UAEXXZ DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?Settings_Loaded@gzGameManager@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Settings_Loaded@gzGameManager@@UAEXXZ
_TEXT	SEGMENT
$T70086 = -16						; size = 4
$T70080 = -16						; size = 4
$T70074 = -16						; size = 4
$T70068 = -16						; size = 4
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Settings_Loaded@gzGameManager@@UAEXXZ PROC		; gzGameManager::Settings_Loaded, COMDAT
; _this$ = ecx

; 217  : {

	push	-1
	push	__ehhandler$?Settings_Loaded@gzGameManager@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebp
	mov	ebp, ecx

; 218  : 	if (this->m_settings->m_EnableGamelog)

	mov	eax, DWORD PTR [ebp+36]
	cmp	BYTE PTR [eax+112], 0
	push	esi
	mov	DWORD PTR _this$[esp+24], ebp
	je	SHORT $LN16@Settings_L

; 219  : 		this->m_gamelogFile = fopen(GAMELOG_FILENAME, "w");

	push	OFFSET ??_C@_01NOFIACDB@w?$AA@
	push	OFFSET ??_C@_0M@BPABCLGK@gamelog?4txt?$AA@
	call	_fopen
	add	esp, 8
	mov	DWORD PTR [ebp+8], eax
$LN16@Settings_L:

; 220  : 	gzGamelogBase::Log("2.03;%s", cGame->MapName.m_Buffer);

	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	push	eax
	push	OFFSET ??_C@_07DNPCCCDC@2?403?$DL?$CFs?$AA@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log

; 221  : 	gzGamelogBase::Log("CONFIG;%u;%ls", cGame->TimeLimit_Minutes, cGame->GameTitle.m_Buffer);

	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+28]
	mov	eax, DWORD PTR [eax+508]
	push	edx
	push	eax
	push	OFFSET ??_C@_0O@KMJNOOOC@CONFIG?$DL?$CFu?$DL?$CFls?$AA@
	call	?Log@gzGamelogBase@@SAXPBDZZ		; gzGamelogBase::Log

; 222  : 
; 223  : 	if (this->m_settings->m_DisableSpawner.Count() > 0)

	mov	ecx, DWORD PTR [ebp+36]
	mov	eax, DWORD PTR [ecx+132]
	add	esp, 20					; 00000014H
	test	eax, eax
	jbe	$LN12@Settings_L

; 224  : 	{
; 225  : 		for (int i = 0; i < nc_SpawnManager::SpawnerList.Count(); i++)

	mov	edx, DWORD PTR ?SpawnerList@nc_SpawnManager@@2AAV?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@A ; nc_SpawnManager::SpawnerList
	xor	esi, esi
	cmp	DWORD PTR [edx+16], esi
	jle	$LN12@Settings_L
	push	ebx
	push	edi
	npad	10
$LL75@Settings_L:

; 226  : 		{
; 227  : 			for (unsigned int j = 0; j < this->m_settings->m_DisableSpawner.Count(); j++)

	mov	ecx, DWORD PTR [ebp+36]
	xor	eax, eax
	cmp	DWORD PTR [ecx+132], eax
	jbe	$LN13@Settings_L
	mov	edi, DWORD PTR [edx+4]
	mov	edi, DWORD PTR [edi+esi*4]
	mov	ebx, DWORD PTR [edi+8]
	mov	ecx, DWORD PTR [ecx+124]
	npad	3
$LL11@Settings_L:

; 228  : 			{
; 229  : 				if (nc_SpawnManager::SpawnerList[i]->ID == this->m_settings->m_DisableSpawner[j])

	cmp	ebx, DWORD PTR [ecx]
	je	SHORT $LN69@Settings_L
	mov	ebp, DWORD PTR [ebp+36]
	add	eax, 1
	add	ecx, 4
	cmp	eax, DWORD PTR [ebp+132]
	mov	ebp, DWORD PTR _this$[esp+32]
	jb	SHORT $LL11@Settings_L
	jmp	SHORT $LN13@Settings_L
$LN69@Settings_L:

; 230  : 				{
; 231  : #ifdef DEVMSG
; 232  : 					stConsole::Out("[Spawner] Deleted spawner: %d; Team: %d; Primary: %s\n",
; 233  : 						nc_SpawnManager::SpawnerList[i]->ID,
; 234  : 						nc_SpawnManager::SpawnerList[i]->Definition->PlayerType,
; 235  : 						(nc_SpawnManager::SpawnerList[i]->Definition->IsPrimary ? "Yes" : "No")
; 236  : 					);

	mov	eax, DWORD PTR [edi+108]
	cmp	BYTE PTR [eax+68], 0
	mov	ecx, OFFSET ??_C@_03CCLAEDDF@Yes?$AA@
	jne	SHORT $LN20@Settings_L
	mov	ecx, OFFSET ??_C@_02JINPPBEP@No?$AA@
$LN20@Settings_L:
	mov	edx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [edx+esi*4]
	push	ecx
	mov	ecx, DWORD PTR [eax+108]
	mov	edx, DWORD PTR [ecx+52]
	mov	eax, DWORD PTR [eax+8]
	push	edx
	push	eax
	push	OFFSET ??_C@_0DG@MBBLPLGL@?$FLSpawner?$FN?5Deleted?5spawner?3?5?$CFd?$DL?5T@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out

; 237  : #endif
; 238  : 					nc_SpawnManager::SpawnerList.Delete(i);

	mov	edx, DWORD PTR ?SpawnerList@nc_SpawnManager@@2AAV?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@A ; nc_SpawnManager::SpawnerList
	mov	ecx, DWORD PTR [edx+16]
	lea	eax, DWORD PTR [edx+16]
	add	esp, 16					; 00000010H
	cmp	esi, ecx
	jge	SHORT $LN59@Settings_L
	add	ecx, -1
	mov	DWORD PTR [eax], ecx
	mov	eax, ecx
	cmp	esi, eax
	jge	SHORT $LN72@Settings_L
	mov	ecx, DWORD PTR [edx+4]
	sub	eax, esi
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+esi*4]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+4]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN72@Settings_L:
	mov	edx, DWORD PTR ?SpawnerList@nc_SpawnManager@@2AAV?$nc_DynamicVectorClass@PAVnc_SpawnerClass@@@@A ; nc_SpawnManager::SpawnerList
$LN59@Settings_L:

; 239  : 					i--;

	sub	esi, 1
$LN13@Settings_L:

; 224  : 	{
; 225  : 		for (int i = 0; i < nc_SpawnManager::SpawnerList.Count(); i++)

	add	esi, 1
	cmp	esi, DWORD PTR [edx+16]
	jl	$LL75@Settings_L
	pop	edi
	pop	ebx
$LN12@Settings_L:

; 240  : 					break;
; 241  : 				}
; 242  : 			}
; 243  : 		}
; 244  : 	}
; 245  : 
; 246  : 	if (this->m_gameMode != NULL)

	mov	ecx, DWORD PTR [ebp+4]
	test	ecx, ecx
	je	SHORT $LN7@Settings_L

; 247  : 		this->m_gameMode->SetDeletePending();

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx
$LN7@Settings_L:

; 248  : 	switch (this->m_settings->m_GameMode)

	mov	eax, DWORD PTR [ebp+36]
	mov	eax, DWORD PTR [eax+24]
	sub	eax, 3

; 264  : 			break;
; 265  : 
; 266  : 		//case GAMEMODE_DM:
; 267  : 		//	this->m_gameMode = new gzGameDM;
; 268  : 		//	break;
; 269  : 
; 270  : 		// Default is AOW
; 271  : 		case GAMEMODE_AOW:
; 272  : 		default:
; 273  : 			this->m_gameMode = new gzGameAow;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	je	$LN4@Settings_L

; 248  : 	switch (this->m_settings->m_GameMode)

	sub	eax, 1
	je	$LN3@Settings_L
	sub	eax, 1
	je	SHORT $LN2@Settings_L

; 264  : 			break;
; 265  : 
; 266  : 		//case GAMEMODE_DM:
; 267  : 		//	this->m_gameMode = new gzGameDM;
; 268  : 		//	break;
; 269  : 
; 270  : 		// Default is AOW
; 271  : 		case GAMEMODE_AOW:
; 272  : 		default:
; 273  : 			this->m_gameMode = new gzGameAow;

	push	273					; 00000111H
	push	OFFSET ??_C@_0N@KCLHNPAP@?4?2stgame?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70086[esp+24], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+32], 3
	je	SHORT $LN33@Settings_L
	mov	ecx, eax
	call	??0gzGameAow@@QAE@XZ			; gzGameAow::gzGameAow
	mov	DWORD PTR [ebp+4], eax

; 274  : 			break;

	jmp	$LN77@Settings_L
$LN33@Settings_L:

; 264  : 			break;
; 265  : 
; 266  : 		//case GAMEMODE_DM:
; 267  : 		//	this->m_gameMode = new gzGameDM;
; 268  : 		//	break;
; 269  : 
; 270  : 		// Default is AOW
; 271  : 		case GAMEMODE_AOW:
; 272  : 		default:
; 273  : 			this->m_gameMode = new gzGameAow;

	xor	eax, eax
	mov	DWORD PTR [ebp+4], eax

; 274  : 			break;

	jmp	$LN77@Settings_L
$LN2@Settings_L:

; 260  : 			break;
; 261  : 
; 262  : 		case GAMEMODE_500SNIP:
; 263  : 			this->m_gameMode = new gzGame500Snip;

	push	263					; 00000107H
	push	OFFSET ??_C@_0N@KCLHNPAP@?4?2stgame?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70080[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 2
	je	SHORT $LN21@Settings_L
	mov	ecx, esi
	call	??0gzGameSniper@@QAE@XZ			; gzGameSniper::gzGameSniper
	mov	DWORD PTR [esi], OFFSET ??_7gzGame500Snip@@6B@
	jmp	SHORT $LN22@Settings_L
$LN3@Settings_L:

; 256  : 			break;
; 257  : 
; 258  : 		case GAMEMODE_SNIPER:
; 259  : 			this->m_gameMode = new gzGameSniper;

	push	259					; 00000103H
	push	OFFSET ??_C@_0N@KCLHNPAP@?4?2stgame?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70074[esp+24], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+32], 1
	je	SHORT $LN33@Settings_L
	mov	ecx, eax
	call	??0gzGameSniper@@QAE@XZ			; gzGameSniper::gzGameSniper

; 264  : 			break;
; 265  : 
; 266  : 		//case GAMEMODE_DM:
; 267  : 		//	this->m_gameMode = new gzGameDM;
; 268  : 		//	break;
; 269  : 
; 270  : 		// Default is AOW
; 271  : 		case GAMEMODE_AOW:
; 272  : 		default:
; 273  : 			this->m_gameMode = new gzGameAow;

	mov	DWORD PTR [ebp+4], eax

; 274  : 			break;

	jmp	SHORT $LN77@Settings_L
$LN4@Settings_L:

; 249  : 	{
; 250  : 		//case GAMEMODE_CTF:
; 251  : 		//	this->m_gameMode = new gzGameCTF;
; 252  : 		//	break;
; 253  : 
; 254  : 		case GAMEMODE_INFONLY:
; 255  : 			this->m_gameMode = new gzGameInfOnly;

	push	255					; 000000ffH
	push	OFFSET ??_C@_0N@KCLHNPAP@?4?2stgame?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70068[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN21@Settings_L
	mov	ecx, esi
	call	??0gzGameModeBase@@QAE@XZ		; gzGameModeBase::gzGameModeBase
	mov	DWORD PTR [esi], OFFSET ??_7gzGameInfOnly@@6B@
	jmp	SHORT $LN22@Settings_L
$LN21@Settings_L:
	xor	esi, esi
$LN22@Settings_L:
	mov	DWORD PTR [ebp+4], esi
$LN77@Settings_L:

; 275  : 	}
; 276  : 	gzLogger("_GENERAL", "%s is using game mode: %s",
; 277  : 		cGame->MapName.m_Buffer,
; 278  : 		this->m_gameMode->ModeName()
; 279  : 	);

	mov	ecx, DWORD PTR [ebp+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+136]
	mov	DWORD PTR __$EHRec$[esp+32], -1
	call	eax
	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [ecx]
	push	eax
	mov	eax, DWORD PTR [edx+40]
	push	eax
	push	OFFSET ??_C@_0BK@BNPBNNID@?$CFs?5is?5using?5game?5mode?3?5?$CFs?$AA@
	push	OFFSET ??_C@_08GIKHGICO@_GENERAL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger

; 280  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Settings_Loaded@gzGameManager@@UAEXXZ$3:
	mov	eax, DWORD PTR $T70086[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Settings_Loaded@gzGameManager@@UAEXXZ$2:
	mov	eax, DWORD PTR $T70080[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Settings_Loaded@gzGameManager@@UAEXXZ$1:
	mov	eax, DWORD PTR $T70074[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Settings_Loaded@gzGameManager@@UAEXXZ$0:
	mov	eax, DWORD PTR $T70068[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Settings_Loaded@gzGameManager@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Settings_Loaded@gzGameManager@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Settings_Loaded@gzGameManager@@UAEXXZ ENDP		; gzGameManager::Settings_Loaded
PUBLIC	??1gzChatCommandBase@@QAE@XZ			; gzChatCommandBase::~gzChatCommandBase
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzChatCommandBase@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$1
__ehfuncinfo$??1gzChatCommandBase@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??1gzChatCommandBase@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzChatCommandBase@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzChatCommandBase@@QAE@XZ PROC			; gzChatCommandBase::~gzChatCommandBase, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzChatCommandBase@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	lea	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR __$EHRec$[esp+28], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR [esi+24]
	mov	BYTE PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 4
	jmp	??1aWideStringArray@@UAE@XZ
__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzChatCommandBase@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzChatCommandBase@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzChatCommandBase@@QAE@XZ ENDP			; gzChatCommandBase::~gzChatCommandBase
PUBLIC	??_7aWideStringArray@@6B@			; aWideStringArray::`vftable'
PUBLIC	??0aWideStringArray@@QAE@XZ			; aWideStringArray::aWideStringArray
PUBLIC	??_R4aWideStringArray@@6B@			; aWideStringArray::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaWideStringArray@@@8			; aWideStringArray `RTTI Type Descriptor'
PUBLIC	??_R3aWideStringArray@@8			; aWideStringArray::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aWideStringArray@@8			; aWideStringArray::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aWideStringArray@@8		; aWideStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EaWideStringArray@@UAEPAXI@Z:PROC		; aWideStringArray::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@aWideStringArray@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aWideStringArray@@8 DD FLAT:??_R0?AVaWideStringArray@@@8 ; aWideStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R2aWideStringArray@@8
rdata$r	SEGMENT
??_R2aWideStringArray@@8 DD FLAT:??_R1A@?0A@EA@aWideStringArray@@8 ; aWideStringArray::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3aWideStringArray@@8
rdata$r	SEGMENT
??_R3aWideStringArray@@8 DD 00H				; aWideStringArray::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaWideStringArray@@@8
_DATA	SEGMENT
??_R0?AVaWideStringArray@@@8 DD FLAT:??_7type_info@@6B@	; aWideStringArray `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaWideStringArray@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aWideStringArray@@6B@
rdata$r	SEGMENT
??_R4aWideStringArray@@6B@ DD 00H			; aWideStringArray::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaWideStringArray@@@8
	DD	FLAT:??_R3aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_7aWideStringArray@@6B@
CONST	SEGMENT
??_7aWideStringArray@@6B@ DD FLAT:??_R4aWideStringArray@@6B@ ; aWideStringArray::`vftable'
	DD	FLAT:??_EaWideStringArray@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aWideStringArray@@QAE@XZ
_TEXT	SEGMENT
??0aWideStringArray@@QAE@XZ PROC			; aWideStringArray::aWideStringArray, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax], OFFSET ??_7aWideStringArray@@6B@
	ret	0
??0aWideStringArray@@QAE@XZ ENDP			; aWideStringArray::aWideStringArray
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaWideStringArray@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaWideStringArray@@UAEPAXI@Z PROC			; aWideStringArray::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@23
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@23:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideStringArray@@UAEPAXI@Z ENDP			; aWideStringArray::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_7aStringArray@@6B@				; aStringArray::`vftable'
PUBLIC	??0aStringArray@@QAE@XZ				; aStringArray::aStringArray
PUBLIC	??_R4aStringArray@@6B@				; aStringArray::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaStringArray@@@8			; aStringArray `RTTI Type Descriptor'
PUBLIC	??_R3aStringArray@@8				; aStringArray::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aStringArray@@8				; aStringArray::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aStringArray@@8			; aStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EaStringArray@@UAEPAXI@Z:PROC		; aStringArray::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@aStringArray@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aStringArray@@8 DD FLAT:??_R0?AVaStringArray@@@8 ; aStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R2aStringArray@@8
rdata$r	SEGMENT
??_R2aStringArray@@8 DD FLAT:??_R1A@?0A@EA@aStringArray@@8 ; aStringArray::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaString@@@@8
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3aStringArray@@8
rdata$r	SEGMENT
??_R3aStringArray@@8 DD 00H				; aStringArray::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2aStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaStringArray@@@8
_DATA	SEGMENT
??_R0?AVaStringArray@@@8 DD FLAT:??_7type_info@@6B@	; aStringArray `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaStringArray@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aStringArray@@6B@
rdata$r	SEGMENT
??_R4aStringArray@@6B@ DD 00H				; aStringArray::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaStringArray@@@8
	DD	FLAT:??_R3aStringArray@@8
rdata$r	ENDS
;	COMDAT ??_7aStringArray@@6B@
CONST	SEGMENT
??_7aStringArray@@6B@ DD FLAT:??_R4aStringArray@@6B@	; aStringArray::`vftable'
	DD	FLAT:??_EaStringArray@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aStringArrayBase@VaString@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aStringArray@@QAE@XZ
_TEXT	SEGMENT
??0aStringArray@@QAE@XZ PROC				; aStringArray::aStringArray, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax], OFFSET ??_7aStringArray@@6B@
	ret	0
??0aStringArray@@QAE@XZ ENDP				; aStringArray::aStringArray
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaStringArray@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaStringArray@@UAEPAXI@Z PROC			; aStringArray::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@24
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@24:
	mov	eax, esi
	pop	esi
	ret	4
??_GaStringArray@@UAEPAXI@Z ENDP			; aStringArray::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_7gzChatCommandBase@@6B@			; gzChatCommandBase::`vftable'
PUBLIC	??0gzChatCommandBase@@QAE@XZ			; gzChatCommandBase::gzChatCommandBase
PUBLIC	??_R4gzChatCommandBase@@6B@			; gzChatCommandBase::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChatCommandBase@@@8			; gzChatCommandBase `RTTI Type Descriptor'
PUBLIC	??_R3gzChatCommandBase@@8			; gzChatCommandBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChatCommandBase@@8			; gzChatCommandBase::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChatCommandBase@@8		; gzChatCommandBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??0aWideString@@QAE@XZ:PROC			; aWideString::aWideString
;	COMDAT ??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChatCommandBase@@8 DD FLAT:??_R0?AVgzChatCommandBase@@@8 ; gzChatCommandBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChatCommandBase@@8
rdata$r	SEGMENT
??_R2gzChatCommandBase@@8 DD FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8 ; gzChatCommandBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzChatCommandBase@@8
rdata$r	SEGMENT
??_R3gzChatCommandBase@@8 DD 00H			; gzChatCommandBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChatCommandBase@@@8
_DATA	SEGMENT
??_R0?AVgzChatCommandBase@@@8 DD FLAT:??_7type_info@@6B@ ; gzChatCommandBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChatCommandBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChatCommandBase@@6B@
rdata$r	SEGMENT
??_R4gzChatCommandBase@@6B@ DD 00H			; gzChatCommandBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChatCommandBase@@@8
	DD	FLAT:??_R3gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_7gzChatCommandBase@@6B@
CONST	SEGMENT
??_7gzChatCommandBase@@6B@ DD FLAT:??_R4gzChatCommandBase@@6B@ ; gzChatCommandBase::`vftable'
	DD	FLAT:__purecall
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzChatCommandBase@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$1
__ehfuncinfo$??0gzChatCommandBase@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0gzChatCommandBase@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzChatCommandBase@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzChatCommandBase@@QAE@XZ PROC			; gzChatCommandBase::gzChatCommandBase, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0gzChatCommandBase@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7gzChatCommandBase@@6B@
	xor	eax, eax
	mov	DWORD PTR _this$[esp+20], esi
	mov	DWORD PTR [esi+8], eax
	mov	DWORD PTR [esi+12], eax
	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+4], OFFSET ??_7aWideStringArray@@6B@
	lea	ecx, DWORD PTR [esi+24]
	mov	DWORD PTR __$EHRec$[esp+28], eax
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [esi+32]
	mov	BYTE PTR __$EHRec$[esp+28], 1
	call	??0aWideString@@QAE@XZ			; aWideString::aWideString
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 4
	jmp	??1aWideStringArray@@UAE@XZ
__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1aString@@UAE@XZ
__ehhandler$??0gzChatCommandBase@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzChatCommandBase@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzChatCommandBase@@QAE@XZ ENDP			; gzChatCommandBase::gzChatCommandBase
PUBLIC	??_7gzSettingsGameClass@@6B@			; gzSettingsGameClass::`vftable'
PUBLIC	??0gzSettingsGameClass@@QAE@XZ			; gzSettingsGameClass::gzSettingsGameClass
PUBLIC	??_R4gzSettingsGameClass@@6B@			; gzSettingsGameClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzSettingsGameClass@@@8			; gzSettingsGameClass `RTTI Type Descriptor'
PUBLIC	??_R3gzSettingsGameClass@@8			; gzSettingsGameClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzSettingsGameClass@@8			; gzSettingsGameClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzSettingsGameClass@@8		; gzSettingsGameClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
;	COMDAT ??_R1A@?0A@EA@gzSettingsGameClass@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@gzSettingsGameClass@@8 DD FLAT:??_R0?AVgzSettingsGameClass@@@8 ; gzSettingsGameClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSettingsGameClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzSettingsGameClass@@8
rdata$r	SEGMENT
??_R2gzSettingsGameClass@@8 DD FLAT:??_R1A@?0A@EA@gzSettingsGameClass@@8 ; gzSettingsGameClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzSettingsGameClass@@8
rdata$r	SEGMENT
??_R3gzSettingsGameClass@@8 DD 00H			; gzSettingsGameClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzSettingsGameClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzSettingsGameClass@@@8
_DATA	SEGMENT
??_R0?AVgzSettingsGameClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzSettingsGameClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzSettingsGameClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzSettingsGameClass@@6B@
rdata$r	SEGMENT
??_R4gzSettingsGameClass@@6B@ DD 00H			; gzSettingsGameClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzSettingsGameClass@@@8
	DD	FLAT:??_R3gzSettingsGameClass@@8
rdata$r	ENDS
;	COMDAT ??_7gzSettingsGameClass@@6B@
CONST	SEGMENT
??_7gzSettingsGameClass@@6B@ DD FLAT:??_R4gzSettingsGameClass@@6B@ ; gzSettingsGameClass::`vftable'
	DD	FLAT:?Delete@gzSettingsGameClass@@UAEXXZ
	DD	FLAT:?Load@gzSettingsGameClass@@UAEXXZ
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$??0gzSettingsGameClass@@QAE@XZ DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$??0gzSettingsGameClass@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0gzSettingsGameClass@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzSettingsGameClass@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzSettingsGameClass@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzSettingsGameClass@@QAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0gzSettingsGameClass@@QAE@XZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$??0gzSettingsGameClass@@QAE@XZ$4
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ??0gzSettingsGameClass@@QAE@XZ
_TEXT	SEGMENT
$T70259 = -20						; size = 4
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzSettingsGameClass@@QAE@XZ PROC			; gzSettingsGameClass::gzSettingsGameClass, COMDAT
; _this$ = ecx

; 30   : {

	push	-1
	push	__ehhandler$??0gzSettingsGameClass@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	push	ebx
	push	esi
	mov	esi, ecx
	xor	ebx, ebx
	mov	DWORD PTR [esi], OFFSET ??_7stSettingsBase@@6B@
	mov	DWORD PTR [esi+12], ebx
	mov	DWORD PTR [esi+16], ebx
	mov	DWORD PTR [esi+20], ebx
	mov	DWORD PTR [esi+8], ebx
	mov	ecx, DWORD PTR ?gzSettingsMgr@@3PAVgzSettingsManager@@A ; gzSettingsMgr
	add	ecx, 36					; 00000024H
	mov	DWORD PTR $T70259[esp+28], esi
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+12]
	lea	edx, DWORD PTR $T70259[esp+28]
	push	edx
	mov	DWORD PTR _this$[esp+32], esi
	call	eax
	push	OFFSET ??1aString@@UAE@XZ
	push	OFFSET ??0aString@@QAE@XZ		; aString::aString
	push	2
	push	8
	lea	ecx, DWORD PTR [esi+40]
	push	ecx
	mov	DWORD PTR [esi], OFFSET ??_7gzSettingsGameClass@@6B@
	call	??_L@YGXPAXIHP6EX0@Z1@Z
	mov	DWORD PTR __$EHRec$[esp+36], ebx
	mov	DWORD PTR [esi+60], ebx
	mov	DWORD PTR [esi+64], ebx
	mov	DWORD PTR [esi+68], ebx
	mov	DWORD PTR [esi+56], OFFSET ??_7aStringArray@@6B@
	lea	ecx, DWORD PTR [esi+104]
	mov	BYTE PTR __$EHRec$[esp+36], 1
	call	??0aString@@QAE@XZ			; aString::aString
	mov	DWORD PTR [esi+120], OFFSET ??_7?$aVector@I@@6B@
	mov	DWORD PTR [esi+124], ebx
	mov	DWORD PTR [esi+128], ebx
	mov	DWORD PTR [esi+132], ebx
	mov	DWORD PTR [esi+140], ebx
	mov	DWORD PTR [esi+144], ebx
	mov	DWORD PTR [esi+148], ebx
	mov	DWORD PTR [esi+136], OFFSET ??_7aStringArray@@6B@

; 31   : 	this->m_confModTime = 0;
; 32   : 
; 33   : 	this->m_GameMode = 1;
; 34   : 	this->m_ForceTeam = -1;
; 35   : 	this->m_EnableVehicleWreckages = false;
; 36   : 	this->m_EnableInvincibleBuildings = false;
; 37   : 	this->m_EnableBeacon = true;
; 38   : 	this->m_EnableWeaponDrop = false;
; 39   : 	this->m_SuicideResetNegativeCredits = false;
; 40   : 
; 41   : 	this->Load();

	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+36], 4
	mov	DWORD PTR [esi+16], ebx
	mov	DWORD PTR [esi+20], ebx
	mov	DWORD PTR [esi+24], 1
	mov	DWORD PTR [esi+28], -1
	mov	BYTE PTR [esi+32], bl
	mov	BYTE PTR [esi+33], bl
	mov	BYTE PTR [esi+34], 1
	mov	BYTE PTR [esi+35], bl
	mov	BYTE PTR [esi+37], bl
	call	?Load@gzSettingsGameClass@@UAEXXZ	; gzSettingsGameClass::Load

; 42   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzSettingsGameClass@@QAE@XZ$0:
	push	OFFSET ??1aString@@UAE@XZ
	push	2
	push	8
	mov	eax, DWORD PTR _this$[ebp]
	add	eax, 40					; 00000028H
	push	eax
	call	??_M@YGXPAXIHP6EX0@Z@Z
	ret	0
__unwindfunclet$??0gzSettingsGameClass@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 56					; 00000038H
	jmp	??1aStringArray@@UAE@XZ
__unwindfunclet$??0gzSettingsGameClass@@QAE@XZ$2:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 104				; 00000068H
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0gzSettingsGameClass@@QAE@XZ$3:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 120				; 00000078H
	jmp	??1?$aVector@I@@UAE@XZ			; aVector<unsigned int>::~aVector<unsigned int>
__unwindfunclet$??0gzSettingsGameClass@@QAE@XZ$4:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 136				; 00000088H
	jmp	??1aStringArray@@UAE@XZ
__ehhandler$??0gzSettingsGameClass@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzSettingsGameClass@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzSettingsGameClass@@QAE@XZ ENDP			; gzSettingsGameClass::gzSettingsGameClass
PUBLIC	??_7gzChat_SetSpeed@@6B@			; gzChat_SetSpeed::`vftable'
PUBLIC	??0gzChat_SetSpeed@@QAE@XZ			; gzChat_SetSpeed::gzChat_SetSpeed
PUBLIC	??_R4gzChat_SetSpeed@@6B@			; gzChat_SetSpeed::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_SetSpeed@@@8			; gzChat_SetSpeed `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_SetSpeed@@8				; gzChat_SetSpeed::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_SetSpeed@@8				; gzChat_SetSpeed::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_SetSpeed@@8		; gzChat_SetSpeed::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z ; gzChat_SetSpeed::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_SetSpeed@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_SetSpeed@@8 DD FLAT:??_R0?AVgzChat_SetSpeed@@@8 ; gzChat_SetSpeed::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_SetSpeed@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_SetSpeed@@8
rdata$r	SEGMENT
??_R2gzChat_SetSpeed@@8 DD FLAT:??_R1A@?0A@EA@gzChat_SetSpeed@@8 ; gzChat_SetSpeed::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_SetSpeed@@8
rdata$r	SEGMENT
??_R3gzChat_SetSpeed@@8 DD 00H				; gzChat_SetSpeed::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_SetSpeed@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_SetSpeed@@@8
_DATA	SEGMENT
??_R0?AVgzChat_SetSpeed@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_SetSpeed `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_SetSpeed@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_SetSpeed@@6B@
rdata$r	SEGMENT
??_R4gzChat_SetSpeed@@6B@ DD 00H			; gzChat_SetSpeed::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_SetSpeed@@@8
	DD	FLAT:??_R3gzChat_SetSpeed@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_SetSpeed@@6B@
CONST	SEGMENT
??_7gzChat_SetSpeed@@6B@ DD FLAT:??_R4gzChat_SetSpeed@@6B@ ; gzChat_SetSpeed::`vftable'
	DD	FLAT:?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_SetSpeed@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_SetSpeed@@QAE@XZ PROC				; gzChat_SetSpeed::gzChat_SetSpeed, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_SetSpeed@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_SetSpeed@@QAE@XZ ENDP				; gzChat_SetSpeed::gzChat_SetSpeed
_TEXT	ENDS
PUBLIC	??_C@_0BE@EEKKHBAL@Speed?5out?5of?5range?4?$AA@	; `string'
PUBLIC	??_C@_0CF@CCODIL@Your?5speed?5has?5been?5changed?5to?5?$CF@ ; `string'
PUBLIC	??_C@_0M@MKIGABNB@gzSpectator?$AA@		; `string'
EXTRN	?PagePlayer@@YAXHPBDZZ:PROC			; PagePlayer
EXTRN	??0aString@@QAE@PB_W@Z:PROC			; aString::aString
EXTRN	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z:PROC ; nc_cPlayerManager::Find_Player
;	COMDAT ??_C@_0BE@EEKKHBAL@Speed?5out?5of?5range?4?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BE@EEKKHBAL@Speed?5out?5of?5range?4?$AA@ DB 'Speed out of range.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CF@CCODIL@Your?5speed?5has?5been?5changed?5to?5?$CF@
CONST	SEGMENT
??_C@_0CF@CCODIL@Your?5speed?5has?5been?5changed?5to?5?$CF@ DB 'Your spee'
	DB	'd has been changed to %.0f.', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@MKIGABNB@gzSpectator?$AA@
CONST	SEGMENT
??_C@_0M@MKIGABNB@gzSpectator?$AA@ DB 'gzSpectator', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z$2
__ehfuncinfo$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
_token$ = -36						; size = 8
$T70309 = -28						; size = 8
$T70310 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_speed$ = 16						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_SetSpeed::Activate, COMDAT
; _this$ = ecx

; 1216 : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	ebp

; 1217 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(sender);

	mov	ebp, DWORD PTR _sender$[esp+36]
	push	edi
	push	ebp
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	edi, eax
	add	esp, 4

; 1218 : 		if (!pData || !pData->Owner.Reference)

	test	edi, edi
	je	$LN7@Activate@3
	mov	eax, DWORD PTR [edi+20]
	test	eax, eax
	je	$LN7@Activate@3

; 1219 : 			return;
; 1220 : 		bool isSpec = false;
; 1221 : 		for (int i = 0; i < pData->Owner.Reference->obj->Observers.Count(); i++)

	mov	eax, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [eax+1784]
	push	esi
	xor	esi, esi
	test	ecx, ecx
	jle	SHORT $LN22@Activate@3
	npad	4
$LL6@Activate@3:

; 1222 : 		{
; 1223 : 			if (!stricmp(pData->Owner.Reference->obj->Observers[i]->Get_Name(), "gzSpectator"))

	mov	eax, DWORD PTR [eax+1776]
	mov	ecx, DWORD PTR [eax+esi*4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+4]
	push	OFFSET ??_C@_0M@MKIGABNB@gzSpectator?$AA@
	call	eax
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN22@Activate@3
	mov	ecx, DWORD PTR [edi+20]
	mov	eax, DWORD PTR [ecx+4]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+1784]
	jl	SHORT $LL6@Activate@3
$LN22@Activate@3:

; 1224 : 			{
; 1225 : 				isSpec = true;
; 1226 : 				break;
; 1227 : 			}
; 1228 : 		}
; 1229 : #if !ISDEV()
; 1230 : 		if (isSpec)
; 1231 : 		{
; 1232 : #endif
; 1233 : 			aToken token(msg);

	mov	edx, DWORD PTR _msg$[esp+44]
	push	edx
	lea	ecx, DWORD PTR $T70309[esp+52]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	lea	eax, DWORD PTR $T70309[esp+48]
	push	eax
	lea	ecx, DWORD PTR _token$[esp+52]
	mov	DWORD PTR __$EHRec$[esp+60], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T70309[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1234 : 			int speed = token.gettok(1, ' ').ToLong();

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T70310[esp+56]
	push	ecx
	lea	ecx, DWORD PTR _token$[esp+60]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+56], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	mov	esi, eax
	lea	ecx, DWORD PTR $T70310[esp+48]
	mov	DWORD PTR _speed$[esp+44], esi
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1235 : 			if (speed < 1 || speed > 50)

	add	esi, -1
	cmp	esi, 49					; 00000031H
	pop	esi
	ja	SHORT $LN1@Activate@3

; 1239 : 			}
; 1240 : 			pData->Owner.Reference->obj->As_SoldierGameObj()->Set_Max_Speed((float)speed);

	mov	edx, DWORD PTR [edi+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	fild	DWORD PTR _speed$[esp+40]
	mov	edx, DWORD PTR [eax]
	push	ecx
	mov	ecx, eax
	fstp	DWORD PTR [esp]
	mov	eax, DWORD PTR [edx+244]
	call	eax

; 1241 : 			PagePlayer(sender, "Your speed has been changed to %.0f.", pData->Owner.Reference->obj->As_SoldierGameObj()->Get_Max_Speed());

	mov	ecx, DWORD PTR [edi+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+200]
	call	eax
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	OFFSET ??_C@_0CF@CCODIL@Your?5speed?5has?5been?5changed?5to?5?$CF@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H

; 1242 : #if !ISDEV()
; 1243 : 		}
; 1244 : #endif
; 1245 : 	}

	jmp	SHORT $LN25@Activate@3
$LN1@Activate@3:

; 1236 : 			{
; 1237 : 				PagePlayer(sender, "Speed out of range.");

	push	OFFSET ??_C@_0BE@EEKKHBAL@Speed?5out?5of?5range?4?$AA@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN25@Activate@3:

; 1238 : 				return;

	lea	ecx, DWORD PTR _token$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN7@Activate@3:

; 1242 : #if !ISDEV()
; 1243 : 		}
; 1244 : #endif
; 1245 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	pop	edi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR $T70309[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR _token$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z$2:
	lea	ecx, DWORD PTR $T70310[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_SetSpeed@@UAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_SetSpeed::Activate
PUBLIC	??_7gzChat_Time@@6B@				; gzChat_Time::`vftable'
PUBLIC	??0gzChat_Time@@QAE@XZ				; gzChat_Time::gzChat_Time
PUBLIC	??_R4gzChat_Time@@6B@				; gzChat_Time::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_Time@@@8				; gzChat_Time `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_Time@@8				; gzChat_Time::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_Time@@8				; gzChat_Time::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_Time@@8			; gzChat_Time::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z ; gzChat_Time::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_Time@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_Time@@8 DD FLAT:??_R0?AVgzChat_Time@@@8 ; gzChat_Time::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_Time@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_Time@@8
rdata$r	SEGMENT
??_R2gzChat_Time@@8 DD FLAT:??_R1A@?0A@EA@gzChat_Time@@8 ; gzChat_Time::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_Time@@8
rdata$r	SEGMENT
??_R3gzChat_Time@@8 DD 00H				; gzChat_Time::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_Time@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_Time@@@8
_DATA	SEGMENT
??_R0?AVgzChat_Time@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_Time `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_Time@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_Time@@6B@
rdata$r	SEGMENT
??_R4gzChat_Time@@6B@ DD 00H				; gzChat_Time::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_Time@@@8
	DD	FLAT:??_R3gzChat_Time@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_Time@@6B@
CONST	SEGMENT
??_7gzChat_Time@@6B@ DD FLAT:??_R4gzChat_Time@@6B@	; gzChat_Time::`vftable'
	DD	FLAT:?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_Time@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_Time@@QAE@XZ PROC				; gzChat_Time::gzChat_Time, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_Time@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_Time@@QAE@XZ ENDP				; gzChat_Time::gzChat_Time
_TEXT	ENDS
PUBLIC	??_C@_0CF@KOOFAKKB@Current?5map?$CI?$CFs?$CJ?5has?5been?5elapsed@ ; `string'
;	COMDAT ??_C@_0CF@KOOFAKKB@Current?5map?$CI?$CFs?$CJ?5has?5been?5elapsed@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0CF@KOOFAKKB@Current?5map?$CI?$CFs?$CJ?5has?5been?5elapsed@ DB 'Cur'
	DB	'rent map(%s) has been elapsed %s.', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z$0
__ehfuncinfo$?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
$T70342 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_Time::Activate, COMDAT
; _this$ = ecx

; 1251 : 	{

	push	-1
	push	__ehhandler$?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8

; 1252 : 		PagePlayer(sender, "Current map(%s) has been elapsed %s.", cGame->MapName, SecsToAscTime(cGame->GameDuration_Seconds).GetString());

	mov	eax, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx+604]
	push	edx
	lea	eax, DWORD PTR $T70342[esp+24]
	push	eax
	call	?SecsToAscTime@@YA?AVaString@@I@Z	; SecsToAscTime
	add	esp, 8
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+28], 0
	je	SHORT $LN6@Activate@4
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN7@Activate@4
$LN6@Activate@4:
	xor	eax, eax
$LN7@Activate@4:
	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [ecx]
	mov	ecx, DWORD PTR _sender$[esp+16]
	push	eax
	mov	eax, DWORD PTR [edx+40]
	push	eax
	push	OFFSET ??_C@_0CF@KOOFAKKB@Current?5map?$CI?$CFs?$CJ?5has?5been?5elapsed@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR $T70342[esp+20]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1253 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR $T70342[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_Time@@UAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_Time::Activate
PUBLIC	??_7gzChat_Donate@@6B@				; gzChat_Donate::`vftable'
PUBLIC	??0gzChat_Donate@@QAE@XZ			; gzChat_Donate::gzChat_Donate
PUBLIC	??_R4gzChat_Donate@@6B@				; gzChat_Donate::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_Donate@@@8			; gzChat_Donate `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_Donate@@8				; gzChat_Donate::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_Donate@@8				; gzChat_Donate::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_Donate@@8			; gzChat_Donate::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z ; gzChat_Donate::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_Donate@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_Donate@@8 DD FLAT:??_R0?AVgzChat_Donate@@@8 ; gzChat_Donate::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_Donate@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_Donate@@8
rdata$r	SEGMENT
??_R2gzChat_Donate@@8 DD FLAT:??_R1A@?0A@EA@gzChat_Donate@@8 ; gzChat_Donate::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_Donate@@8
rdata$r	SEGMENT
??_R3gzChat_Donate@@8 DD 00H				; gzChat_Donate::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_Donate@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_Donate@@@8
_DATA	SEGMENT
??_R0?AVgzChat_Donate@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_Donate `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_Donate@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_Donate@@6B@
rdata$r	SEGMENT
??_R4gzChat_Donate@@6B@ DD 00H				; gzChat_Donate::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_Donate@@@8
	DD	FLAT:??_R3gzChat_Donate@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_Donate@@6B@
CONST	SEGMENT
??_7gzChat_Donate@@6B@ DD FLAT:??_R4gzChat_Donate@@6B@	; gzChat_Donate::`vftable'
	DD	FLAT:?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_Donate@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_Donate@@QAE@XZ PROC				; gzChat_Donate::gzChat_Donate, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_Donate@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_Donate@@QAE@XZ ENDP				; gzChat_Donate::gzChat_Donate
_TEXT	ENDS
PUBLIC	??8@YA_NABVaString@@0@Z				; operator==
EXTRN	?Compare@aString@@QBE_NABV1@H_N@Z:PROC		; aString::Compare
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	COMDAT ??8@YA_NABVaString@@0@Z
_TEXT	SEGMENT
_str1$ = 8						; size = 4
_str2$ = 12						; size = 4
??8@YA_NABVaString@@0@Z PROC				; operator==, COMDAT

; 201  : {

	push	ebx
	push	esi

; 202  : 	return ((str1.GetLength() == str2.GetLength()) && str1.Compare(str2));

	mov	esi, DWORD PTR _str1$[esp+4]
	push	edi
	mov	ecx, esi
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	mov	edi, DWORD PTR _str2$[esp+8]
	mov	ecx, edi
	mov	ebx, eax
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	cmp	ebx, eax
	jne	SHORT $LN3@operator@4
	push	0
	push	-1
	push	edi
	mov	ecx, esi
	call	?Compare@aString@@QBE_NABV1@H_N@Z	; aString::Compare
	test	al, al
	je	SHORT $LN3@operator@4
	pop	edi
	pop	esi
	mov	eax, 1
	pop	ebx

; 203  : }

	ret	0
$LN3@operator@4:
	pop	edi
	pop	esi

; 202  : 	return ((str1.GetLength() == str2.GetLength()) && str1.Compare(str2));

	xor	eax, eax
	pop	ebx

; 203  : }

	ret	0
??8@YA_NABVaString@@0@Z ENDP				; operator==
_TEXT	ENDS
PUBLIC	??_7aWideString@@6B@				; aWideString::`vftable'
PUBLIC	??0aWideString@@QAE@ABV0@@Z			; aWideString::aWideString
PUBLIC	??_R4aWideString@@6B@				; aWideString::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaWideString@@@8				; aWideString `RTTI Type Descriptor'
PUBLIC	??_R3aWideString@@8				; aWideString::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aWideString@@8				; aWideString::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aWideString@@8			; aWideString::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?CharSize@aWideString@@UBEIXZ			; aWideString::CharSize
EXTRN	??_EaWideString@@UAEPAXI@Z:PROC			; aWideString::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@aWideString@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aWideString@@8 DD FLAT:??_R0?AVaWideString@@@8 ; aWideString::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aWideString@@8
rdata$r	ENDS
;	COMDAT ??_R2aWideString@@8
rdata$r	SEGMENT
??_R2aWideString@@8 DD FLAT:??_R1A@?0A@EA@aWideString@@8 ; aWideString::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R3aWideString@@8
rdata$r	SEGMENT
??_R3aWideString@@8 DD 00H				; aWideString::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2aWideString@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaWideString@@@8
_DATA	SEGMENT
??_R0?AVaWideString@@@8 DD FLAT:??_7type_info@@6B@	; aWideString `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaWideString@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aWideString@@6B@
rdata$r	SEGMENT
??_R4aWideString@@6B@ DD 00H				; aWideString::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaWideString@@@8
	DD	FLAT:??_R3aWideString@@8
rdata$r	ENDS
;	COMDAT ??_7aWideString@@6B@
CONST	SEGMENT
??_7aWideString@@6B@ DD FLAT:??_R4aWideString@@6B@	; aWideString::`vftable'
	DD	FLAT:??_EaWideString@@UAEPAXI@Z
	DD	FLAT:?CharSize@aWideString@@UBEIXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aWideString@@QAE@ABV0@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??0aWideString@@QAE@ABV0@@Z PROC			; aWideString::aWideString, COMDAT
; _this$ = ecx

; 229  : 	aWideString(const aWideString& str) : aStringBase(str) { };

	mov	eax, DWORD PTR _str$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [esi], OFFSET ??_7aWideString@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0aWideString@@QAE@ABV0@@Z ENDP			; aWideString::aWideString
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?CharSize@aWideString@@UBEIXZ
_TEXT	SEGMENT
?CharSize@aWideString@@UBEIXZ PROC			; aWideString::CharSize, COMDAT
; _this$ = ecx

; 238  : 	unsigned int CharSize() const { return 2; };

	mov	eax, 2
	ret	0
?CharSize@aWideString@@UBEIXZ ENDP			; aWideString::CharSize
_TEXT	ENDS
PUBLIC	?GetString@aWideString@@QBEPB_WXZ		; aWideString::GetString
; Function compile flags: /Ogtpy
;	COMDAT ?GetString@aWideString@@QBEPB_WXZ
_TEXT	SEGMENT
?GetString@aWideString@@QBEPB_WXZ PROC			; aWideString::GetString, COMDAT
; _this$ = ecx

; 239  : 	const wchar_t *GetString() const { return (this->m_data) ? (const wchar_t*)this->m_data->GetBuffer() : NULL; };

	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	je	SHORT $LN3@GetString@2
	mov	eax, DWORD PTR [eax]
	ret	0
$LN3@GetString@2:
	xor	eax, eax
	ret	0
?GetString@aWideString@@QBEPB_WXZ ENDP			; aWideString::GetString
_TEXT	ENDS
PUBLIC	?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ	; gzPlayer::GetPlayerData
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.h
;	COMDAT ?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ
_TEXT	SEGMENT
?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ PROC	; gzPlayer::GetPlayerData, COMDAT
; _this$ = ecx

; 88   : 	inline nc_cPlayer *GetPlayerData() { return this->m_gameData; };

	mov	eax, DWORD PTR [ecx+76]
	ret	0
?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ ENDP	; gzPlayer::GetPlayerData
_TEXT	ENDS
PUBLIC	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ	; gzPlayer::GetPlayerName
; Function compile flags: /Ogtpy
;	COMDAT ?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ
_TEXT	SEGMENT
$T70402 = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ PROC	; gzPlayer::GetPlayerName, COMDAT
; _this$ = ecx

; 107  : 	inline aWideString GetPlayerName() { return this->m_name; };

	push	ecx
	push	esi
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+4]
	add	ecx, 80					; 00000050H
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR $T70402[esp+12], 0
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [esi], OFFSET ??_7aWideString@@6B@
	mov	eax, esi
	pop	esi
	pop	ecx
	ret	4
?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ENDP	; gzPlayer::GetPlayerName
_TEXT	ENDS
PUBLIC	?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ ; gzGameManager::GetGame
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.h
;	COMDAT ?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ
_TEXT	SEGMENT
?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ PROC	; gzGameManager::GetGame, COMDAT
; _this$ = ecx

; 108  : 	gzGameModeBase *GetGame() { return this->m_gameMode; };

	mov	eax, DWORD PTR [ecx+40]
	ret	0
?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ ENDP	; gzGameManager::GetGame
_TEXT	ENDS
PUBLIC	??_C@_0CG@EBFLAMKK@You?5have?5donated?5?$CF?40f?5credits?5to@ ; `string'
PUBLIC	??_C@_0CJ@ENHKFCPA@You?5have?5received?5?$CF?40f?5credits?5f@ ; `string'
PUBLIC	??_C@_0BN@BFHAAGHP@You?5can?5not?5donate?5to?5enemy?$CB?$AA@ ; `string'
PUBLIC	??_C@_0CA@CDOLGGMO@You?5can?5not?5donate?5to?5yourself?$CB?$AA@ ; `string'
PUBLIC	??_C@_0O@LBCNAIHM@?$CFs?5not?5found?4?$AA@	; `string'
PUBLIC	??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@ ; `string'
PUBLIC	??_C@_0EH@JKIOFGJM@Minimum?5amount?5is?51?5credit?5and?5s@ ; `string'
PUBLIC	??_C@_03NFKEKGGK@all?$AA@			; `string'
PUBLIC	??_C@_0CB@PMMLBHJK@Usage?3?5?$CBdonate?5?$FLplayer?$FN?5?$FLamount?$FN@ ; `string'
PUBLIC	??_C@_0BP@HINMIFAD@You?5don?8t?5have?5?$CF?40f?5credit?$CIs?$CJ?4?$AA@ ; `string'
PUBLIC	??_C@_0CA@GNAJHFJB@Minimum?5amount?5is?5?$CFd?5credit?$CIs?$CJ?4?$AA@ ; `string'
PUBLIC	??_C@_0FG@BAHEEFKJ@You?5have?5distirbuted?5?$CF?40f?5credit@ ; `string'
PUBLIC	??_C@_0CL@IENOIJGO@You?5have?5received?5?$CF?40f?5credit?$CIs?$CJ@ ; `string'
PUBLIC	??_C@_17IIFKAHCJ@?$AAa?$AAl?$AAl?$AA?$AA@	; `string'
PUBLIC	??_C@_0EI@CKMEIMHJ@You?5can?5NOT?5donate?5credit?$CIs?$CJ?5to?5@ ; `string'
PUBLIC	??_C@_0CJ@NIHJJPNC@Donate?5is?5not?5available?5in?5?$CFs?5ga@ ; `string'
EXTRN	?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z:PROC ; gzPlayerManager::FindByPartName
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z:PROC ; gzPlayerManager::Find
EXTRN	?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z:PROC ; gzPlayerManager::FindByPartNameCount
EXTRN	?ToDouble@aToken@@QAENXZ:PROC			; aToken::ToDouble
EXTRN	__wtof:PROC
EXTRN	?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A:DWORD ; nc_cPlayerManager::PlayerList
EXTRN	_wcsicmp:PROC
EXTRN	?Tally_Team_Size@nc_cPlayerManager@@SAHH@Z:PROC	; nc_cPlayerManager::Tally_Team_Size
;	COMDAT ??_C@_0CG@EBFLAMKK@You?5have?5donated?5?$CF?40f?5credits?5to@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0CG@EBFLAMKK@You?5have?5donated?5?$CF?40f?5credits?5to@ DB 'You hav'
	DB	'e donated %.0f credits to %ls.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CJ@ENHKFCPA@You?5have?5received?5?$CF?40f?5credits?5f@
CONST	SEGMENT
??_C@_0CJ@ENHKFCPA@You?5have?5received?5?$CF?40f?5credits?5f@ DB 'You hav'
	DB	'e received %.0f credits from %ls.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BN@BFHAAGHP@You?5can?5not?5donate?5to?5enemy?$CB?$AA@
CONST	SEGMENT
??_C@_0BN@BFHAAGHP@You?5can?5not?5donate?5to?5enemy?$CB?$AA@ DB 'You can '
	DB	'not donate to enemy!', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CA@CDOLGGMO@You?5can?5not?5donate?5to?5yourself?$CB?$AA@
CONST	SEGMENT
??_C@_0CA@CDOLGGMO@You?5can?5not?5donate?5to?5yourself?$CB?$AA@ DB 'You c'
	DB	'an not donate to yourself!', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@LBCNAIHM@?$CFs?5not?5found?4?$AA@
CONST	SEGMENT
??_C@_0O@LBCNAIHM@?$CFs?5not?5found?4?$AA@ DB '%s not found.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@
CONST	SEGMENT
??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@ DB 'F'
	DB	'ound %d result(s) for "%s". Please specify a unique string fo'
	DB	'r the nickname.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0EH@JKIOFGJM@Minimum?5amount?5is?51?5credit?5and?5s@
CONST	SEGMENT
??_C@_0EH@JKIOFGJM@Minimum?5amount?5is?51?5credit?5and?5s@ DB 'Minimum am'
	DB	'ount is 1 credit and submitted amount is less than 1 credit.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_03NFKEKGGK@all?$AA@
CONST	SEGMENT
??_C@_03NFKEKGGK@all?$AA@ DB 'all', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@PMMLBHJK@Usage?3?5?$CBdonate?5?$FLplayer?$FN?5?$FLamount?$FN@
CONST	SEGMENT
??_C@_0CB@PMMLBHJK@Usage?3?5?$CBdonate?5?$FLplayer?$FN?5?$FLamount?$FN@ DB 'U'
	DB	'sage: !donate [player] [amount]', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@HINMIFAD@You?5don?8t?5have?5?$CF?40f?5credit?$CIs?$CJ?4?$AA@
CONST	SEGMENT
??_C@_0BP@HINMIFAD@You?5don?8t?5have?5?$CF?40f?5credit?$CIs?$CJ?4?$AA@ DB 'Y'
	DB	'ou don''t have %.0f credit(s).', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CA@GNAJHFJB@Minimum?5amount?5is?5?$CFd?5credit?$CIs?$CJ?4?$AA@
CONST	SEGMENT
??_C@_0CA@GNAJHFJB@Minimum?5amount?5is?5?$CFd?5credit?$CIs?$CJ?4?$AA@ DB 'M'
	DB	'inimum amount is %d credit(s).', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0FG@BAHEEFKJ@You?5have?5distirbuted?5?$CF?40f?5credit@
CONST	SEGMENT
??_C@_0FG@BAHEEFKJ@You?5have?5distirbuted?5?$CF?40f?5credit@ DB 'You have'
	DB	' distirbuted %.0f credits to your team. (%.0f per player, tot'
	DB	'al %d player(s))', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CL@IENOIJGO@You?5have?5received?5?$CF?40f?5credit?$CIs?$CJ@
CONST	SEGMENT
??_C@_0CL@IENOIJGO@You?5have?5received?5?$CF?40f?5credit?$CIs?$CJ@ DB 'Yo'
	DB	'u have received %.0f credit(s) from %ls.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_17IIFKAHCJ@?$AAa?$AAl?$AAl?$AA?$AA@
CONST	SEGMENT
??_C@_17IIFKAHCJ@?$AAa?$AAl?$AAl?$AA?$AA@ DB 'a', 00H, 'l', 00H, 'l', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0EI@CKMEIMHJ@You?5can?5NOT?5donate?5credit?$CIs?$CJ?5to?5@
CONST	SEGMENT
??_C@_0EI@CKMEIMHJ@You?5can?5NOT?5donate?5credit?$CIs?$CJ?5to?5@ DB 'You '
	DB	'can NOT donate credit(s) to your team because you are the onl'
	DB	'y one.', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CJ@NIHJJPNC@Donate?5is?5not?5available?5in?5?$CFs?5ga@
CONST	SEGMENT
??_C@_0CJ@NIHJJPNC@Donate?5is?5not?5available?5in?5?$CFs?5ga@ DB 'Donate '
	DB	'is not available in %s game mode.', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	0cH
	DD	FLAT:__unwindtable$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$3
	DD	04H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$4
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$6
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$7
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$8
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$9
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$10
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
_amount$ = -108						; size = 4
_amount$59297 = -108					; size = 4
_nickCount$ = -104					; size = 4
$T70417 = -104						; size = 8
$T70415 = -104						; size = 8
_dstCount$59298 = -104					; size = 4
$T70434 = -96						; size = 4
$T70427 = -96						; size = 8
_eachAmount$59310 = -96					; size = 4
_token$ = -88						; size = 8
$T70414 = -80						; size = 8
$T70426 = -72						; size = 8
$T70425 = -72						; size = 8
$T70424 = -72						; size = 8
$T70421 = -72						; size = 8
$T70419 = -72						; size = 8
$T70418 = -72						; size = 8
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_Donate::Activate, COMDAT
; _this$ = ecx

; 1259 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	push	-1
	push	__ehhandler$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 104				; 00000068H
	push	ebx
	push	esi
	push	edi

; 1349 : 		}
; 1350 : 
; 1351 : 		// Nickname unique check
; 1352 : 		int nickCount = gzPlayerManager::FindByPartNameCount(token.gettok(1, ' ').GetData());

	xor	edi, edi
	mov	DWORD PTR $T70434[esp+128], edi
	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+72]
	mov	eax, DWORD PTR [eax+24]
	add	eax, -4					; fffffffcH
	cmp	eax, 2
	ja	SHORT $LN80@Activate@5
	mov	ecx, DWORD PTR [ecx+40]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+136]
	call	eax
	mov	esi, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0CJ@NIHJJPNC@Donate?5is?5not?5available?5in?5?$CFs?5ga@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	jmp	SHORT $LN21@Activate@5
$LN80@Activate@5:

; 1260 : 		// Game mode check
; 1261 : 		switch (gzGameMgr->m_settings->m_GameMode)
; 1262 : 		{
; 1263 : 			case GAMEMODE_SNIPER:
; 1264 : 			case GAMEMODE_500SNIP:
; 1265 : 			case GAMEMODE_DM:
; 1266 : 				PagePlayer(sender, "Donate is not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	mov	esi, DWORD PTR _sender$[ebp]
$LN21@Activate@5:

; 1267 : 		}
; 1268 : 
; 1269 : 		aToken token(msg);

	mov	ecx, DWORD PTR _msg$[ebp]
	push	ecx
	lea	ecx, DWORD PTR $T70414[esp+132]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	lea	edx, DWORD PTR $T70414[esp+128]
	push	edx
	lea	ecx, DWORD PTR _token$[esp+132]
	mov	DWORD PTR __$EHRec$[esp+140], edi
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T70414[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1270 : 
; 1271 : 		if (token.numtok(' ') == 1)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _token$[esp+132]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 1
	jne	$LN19@Activate@5

; 1272 : 		{
; 1273 : 			nc_cPlayer *pData = nc_cPlayerManager::Find_Player(sender);

	push	esi
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	edi, eax

; 1274 : 			float amount = 0.0f;
; 1275 : 			int dstCount = (nc_cPlayerManager::Tally_Team_Size(pData->PlayerType.Get()) - 1);

	lea	ebx, DWORD PTR [edi+1900]
	add	esp, 4
	mov	ecx, ebx
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	push	eax
	call	?Tally_Team_Size@nc_cPlayerManager@@SAHH@Z ; nc_cPlayerManager::Tally_Team_Size
	mov	esi, eax
	add	esp, 4
	sub	esi, 1
	mov	DWORD PTR _dstCount$59298[esp+128], esi

; 1276 : 
; 1277 : 			// Donor is the only player in the team
; 1278 : 			if (dstCount == 0)

	jne	SHORT $LN18@Activate@5

; 1279 : 			{
; 1280 : 				PagePlayer(sender, "You can NOT donate credit(s) to your team because you are the only one.");

	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0EI@CKMEIMHJ@You?5can?5NOT?5donate?5credit?$CIs?$CJ?5to?5@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1281 : 				return;

	jmp	$LN90@Activate@5
$LN18@Activate@5:

; 1282 : 			}
; 1283 : 
; 1284 : 			// All credits?
; 1285 : 			if (!wcsicmp(msg, L"all"))

	mov	ecx, DWORD PTR _msg$[ebp]
	push	OFFSET ??_C@_17IIFKAHCJ@?$AAa?$AAl?$AAl?$AA?$AA@
	push	ecx
	call	_wcsicmp
	add	esp, 8
	test	eax, eax
	jne	$LN17@Activate@5

; 1286 : 				amount = pData->Money.Get();

	lea	ecx, DWORD PTR [edi+8]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fst	DWORD PTR _amount$59297[esp+128]
$LN14@Activate@5:

; 1303 : 				}
; 1304 : 			}
; 1305 : 
; 1306 : 			// All checks passed!
; 1307 : 			float eachAmount = (amount / (float)dstCount);

	fidiv	DWORD PTR _dstCount$59298[esp+128]

; 1308 : 			int srcTeam = pData->PlayerType.Get();

	mov	ecx, ebx
	fstp	DWORD PTR _eachAmount$59310[esp+128]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get

; 1309 : 			for (nc_GenericSLNode<nc_cPlayer> *pList = nc_cPlayerManager::PlayerList->HeadNode; pList != NULL; pList = pList->NodeNext)

	mov	edx, DWORD PTR ?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A ; nc_cPlayerManager::PlayerList
	mov	esi, DWORD PTR [edx+4]
	test	esi, esi
	mov	ebx, eax
	je	SHORT $LN11@Activate@5
	npad	8
$LL13@Activate@5:

; 1310 : 			{
; 1311 : 				if (pList->NodeData->IsActive && pList->NodeData != pData)

	mov	eax, DWORD PTR [esi+4]
	cmp	BYTE PTR [eax+1981], 0
	je	SHORT $LN12@Activate@5
	cmp	eax, edi
	je	SHORT $LN12@Activate@5

; 1312 : 				{
; 1313 : 					if (pList->NodeData->PlayerType.Get() == srcTeam)

	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	eax, ebx
	jne	SHORT $LN12@Activate@5

; 1314 : 					{
; 1315 : 						pList->NodeData->Increment_Money(eachAmount);

	mov	ecx, DWORD PTR [esi+4]
	fld	DWORD PTR _eachAmount$59310[esp+128]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+16]
	push	ecx
	fstp	DWORD PTR [esp]
	call	edx

; 1316 : 						PagePlayer(pList->NodeData->PlayerId, "You have received %.0f credit(s) from %ls.", eachAmount, pData->PlayerName.m_Buffer);

	mov	eax, DWORD PTR [edi+1880]
	fld	DWORD PTR _eachAmount$59310[esp+128]
	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx+1884]
	push	eax
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	OFFSET ??_C@_0CL@IENOIJGO@You?5have?5received?5?$CF?40f?5credit?$CIs?$CJ@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 20					; 00000014H
$LN12@Activate@5:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL13@Activate@5
$LN11@Activate@5:

; 1317 : 					}
; 1318 : 				}
; 1319 : 			}
; 1320 : 			pData->Increment_Money(-amount);

	mov	eax, DWORD PTR [edi]
	fld	DWORD PTR _amount$59297[esp+128]
	mov	edx, DWORD PTR [eax+16]
	fchs
	push	ecx
	mov	ecx, edi
	fstp	DWORD PTR [esp]
	call	edx

; 1321 : 			PagePlayer(pData->PlayerId, "You have distirbuted %.0f credits to your team. (%.0f per player, total %d player(s))", amount, eachAmount, dstCount);

	fld	DWORD PTR _eachAmount$59310[esp+128]
	mov	eax, DWORD PTR _dstCount$59298[esp+128]
	mov	ecx, DWORD PTR [edi+1884]
	push	eax
	sub	esp, 16					; 00000010H
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _amount$59297[esp+148]
	fstp	QWORD PTR [esp]
	push	OFFSET ??_C@_0FG@BAHEEFKJ@You?5have?5distirbuted?5?$CF?40f?5credit@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 28					; 0000001cH

; 1322 : 			return;

	jmp	$LN90@Activate@5
$LN17@Activate@5:

; 1287 : 			else
; 1288 : 			{
; 1289 : 				amount = (float)_wtof(msg);

	mov	edx, DWORD PTR _msg$[ebp]
	push	edx
	call	__wtof
	fst	DWORD PTR _amount$59297[esp+132]

; 1290 : 
; 1291 : 				// Minimum check
; 1292 : 				if (amount < (float)dstCount)

	fild	DWORD PTR _dstCount$59298[esp+132]
	add	esp, 4
	fcompp
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN15@Activate@5

; 1293 : 				{
; 1294 : 					PagePlayer(sender, "Minimum amount is %d credit(s).", dstCount);

	mov	eax, DWORD PTR _sender$[ebp]
	push	esi
	push	OFFSET ??_C@_0CA@GNAJHFJB@Minimum?5amount?5is?5?$CFd?5credit?$CIs?$CJ?4?$AA@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH

; 1295 : 					return;

	jmp	$LN90@Activate@5
$LN15@Activate@5:

; 1296 : 				}
; 1297 : 
; 1298 : 				// Maximum check
; 1299 : 				if (amount > pData->Money.Get())

	lea	ecx, DWORD PTR [edi+8]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fld	DWORD PTR _amount$59297[esp+128]
	fcom	ST(1)
	fnstsw	ax
	fstp	ST(1)
	test	ah, 65					; 00000041H
	jne	$LN14@Activate@5

; 1300 : 				{
; 1301 : 					PagePlayer(sender, "You don't have %.0f credit(s).", amount);

	mov	ecx, DWORD PTR _sender$[ebp]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	OFFSET ??_C@_0BP@HINMIFAD@You?5don?8t?5have?5?$CF?40f?5credit?$CIs?$CJ?4?$AA@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H

; 1302 : 					return;

	jmp	$LN90@Activate@5
$LN19@Activate@5:

; 1323 : 		}
; 1324 : 
; 1325 : 		// Parameters check
; 1326 : 		if (token.numtok(' ') != 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _token$[esp+132]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2
	je	SHORT $LN8@Activate@5

; 1327 : 		{
; 1328 : 			PagePlayer(sender, "Usage: !donate [player] [amount]");

	push	OFFSET ??_C@_0CB@PMMLBHJK@Usage?3?5?$CBdonate?5?$FLplayer?$FN?5?$FLamount?$FN@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1329 : 			return;

	jmp	$LN90@Activate@5
$LN8@Activate@5:

; 1330 : 		}
; 1331 : 
; 1332 : 		// Variables initial
; 1333 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(sender);

	push	esi
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4

; 1334 : 		float amount = (float)token.gettok(2, ' ').ToDouble();

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T70415[esp+136]
	push	edx
	lea	ecx, DWORD PTR _token$[esp+140]
	mov	edi, eax
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 3
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	fstp	DWORD PTR _amount$[esp+128]
	lea	ecx, DWORD PTR $T70415[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1335 : 		
; 1336 : 		// Amount check
; 1337 : 		if (token.gettok(2, ' ').GetData() == "all")

	push	OFFSET ??_C@_03NFKEKGGK@all?$AA@
	lea	ecx, DWORD PTR $T70417[esp+132]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	2
	lea	eax, DWORD PTR $T70418[esp+136]
	push	eax
	lea	ecx, DWORD PTR _token$[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 4
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	lea	ecx, DWORD PTR $T70417[esp+128]
	push	ecx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+140], 5
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	??8@YA_NABVaString@@0@Z			; operator==
	add	esp, 8
	lea	ecx, DWORD PTR $T70418[esp+128]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+136], 4
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T70417[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN7@Activate@5

; 1338 : 			amount = pData->Money.Get();

	lea	ecx, DWORD PTR [edi+8]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR _amount$[esp+128]
$LN7@Activate@5:

; 1339 : 
; 1340 : 		if (amount < 1.0f)

	fld1
	fcomp	DWORD PTR _amount$[esp+128]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN6@Activate@5

; 1341 : 		{
; 1342 : 			PagePlayer(sender, "Minimum amount is 1 credit and submitted amount is less than 1 credit.");

	push	OFFSET ??_C@_0EH@JKIOFGJM@Minimum?5amount?5is?51?5credit?5and?5s@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1343 : 			return;

	jmp	$LN90@Activate@5
$LN6@Activate@5:

; 1344 : 		}
; 1345 : 		if (pData->Money.Get() < amount)

	lea	ecx, DWORD PTR [edi+8]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fld	DWORD PTR _amount$[esp+128]
	fcom	ST(1)
	fnstsw	ax
	fstp	ST(1)
	test	ah, 65					; 00000041H
	jne	SHORT $LN88@Activate@5

; 1346 : 		{
; 1347 : 			PagePlayer(sender, "You don't have %.0f credit(s).", amount);

	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	OFFSET ??_C@_0BP@HINMIFAD@You?5don?8t?5have?5?$CF?40f?5credit?$CIs?$CJ?4?$AA@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H

; 1348 : 			return;

	jmp	$LN90@Activate@5
$LN88@Activate@5:

; 1349 : 		}
; 1350 : 
; 1351 : 		// Nickname unique check
; 1352 : 		int nickCount = gzPlayerManager::FindByPartNameCount(token.gettok(1, ' ').GetData());

	push	32					; 00000020H
	fstp	ST(0)
	push	1
	lea	edx, DWORD PTR $T70419[esp+136]
	push	edx
	lea	ecx, DWORD PTR _token$[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z ; gzPlayerManager::FindByPartNameCount
	mov	ebx, eax
	add	esp, 4
	lea	ecx, DWORD PTR $T70419[esp+128]
	mov	DWORD PTR _nickCount$[esp+128], ebx
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1353 : 		if (nickCount >= 2 && !gzPlayerManager::Find(token.gettok(1, ' ').GetData()))

	cmp	ebx, 2
	jl	SHORT $LN25@Activate@5
	push	32					; 00000020H
	push	1
	lea	eax, DWORD PTR $T70421[esp+136]
	push	eax
	lea	ecx, DWORD PTR _token$[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 7
	mov	DWORD PTR $T70434[esp+128], 1
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ; gzPlayerManager::Find
	add	esp, 4
	test	eax, eax
	jne	SHORT $LN25@Activate@5
	mov	bl, 1
	jmp	SHORT $LN26@Activate@5
$LN25@Activate@5:
	xor	bl, bl
$LN26@Activate@5:
	test	BYTE PTR $T70434[esp+128], 1
	mov	DWORD PTR __$EHRec$[esp+136], 2
	je	SHORT $LN35@Activate@5
	lea	ecx, DWORD PTR $T70421[esp+128]
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN35@Activate@5:
	test	bl, bl

; 1354 : 		{
; 1355 : 			PagePlayer(sender, "Found %d result(s) for \"%s\". Please specify a unique string for the nickname.", nickCount, token.gettok(1, ' ').GetData().GetString());

	push	32					; 00000020H
	push	1
	je	SHORT $LN4@Activate@5
	lea	ecx, DWORD PTR $T70424[esp+136]
	push	ecx
	lea	ecx, DWORD PTR _token$[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 8
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN50@Activate@5
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN51@Activate@5
$LN50@Activate@5:
	xor	eax, eax
$LN51@Activate@5:
	mov	edx, DWORD PTR _nickCount$[esp+128]
	push	eax
	push	edx
	push	OFFSET ??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR $T70424[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1356 : 			return;

	jmp	$LN90@Activate@5
$LN4@Activate@5:

; 1357 : 		}
; 1358 : 
; 1359 : 		// Destination check
; 1360 : 		gzPlayer *dst = gzPlayerManager::FindByPartName(token.gettok(1, ' ').GetData());

	lea	eax, DWORD PTR $T70425[esp+136]
	push	eax
	lea	ecx, DWORD PTR _token$[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 9
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ; gzPlayerManager::FindByPartName
	add	esp, 4
	lea	ecx, DWORD PTR $T70425[esp+128]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1361 : 		if (!dst)

	test	esi, esi
	jne	SHORT $LN3@Activate@5

; 1362 : 		{
; 1363 : 			PagePlayer(sender, "%s not found.", token.gettok(1, ' ').GetData().GetString());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T70426[esp+136]
	push	ecx
	lea	ecx, DWORD PTR _token$[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 10		; 0000000aH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN56@Activate@5
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN57@Activate@5
$LN56@Activate@5:
	xor	eax, eax
$LN57@Activate@5:
	mov	edx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0O@LBCNAIHM@?$CFs?5not?5found?4?$AA@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T70426[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1364 : 			return;

	jmp	$LN90@Activate@5
$LN3@Activate@5:

; 1365 : 		}
; 1366 : 
; 1367 : 		// Self donate check
; 1368 : 		if (dst->GetPlayerData() == pData)

	mov	eax, DWORD PTR [esi+76]
	cmp	eax, edi
	jne	SHORT $LN2@Activate@5

; 1369 : 		{
; 1370 : 			PagePlayer(sender, "You can not donate to yourself!");

	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0CA@CDOLGGMO@You?5can?5not?5donate?5to?5yourself?$CB?$AA@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1371 : 			return;

	jmp	$LN90@Activate@5
$LN2@Activate@5:

; 1372 : 		}
; 1373 : 
; 1374 : 		// Team check
; 1375 : 		if (dst->GetPlayerData()->PlayerType.Get() != pData->PlayerType.Get())

	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	lea	ecx, DWORD PTR [edi+1900]
	mov	ebx, eax
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	ebx, eax
	je	SHORT $LN1@Activate@5

; 1376 : 		{
; 1377 : 			PagePlayer(sender, "You can not donate to enemy!");

	mov	ecx, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0BN@BFHAAGHP@You?5can?5not?5donate?5to?5enemy?$CB?$AA@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1378 : 			return;

	jmp	$LN90@Activate@5
$LN1@Activate@5:

; 1379 : 		}
; 1380 : 
; 1381 : 		pData->Increment_Money(-amount);

	mov	edx, DWORD PTR [edi]
	fld	DWORD PTR _amount$[esp+128]
	mov	eax, DWORD PTR [edx+16]
	fchs
	push	ecx
	mov	ecx, edi
	fstp	DWORD PTR [esp]
	call	eax

; 1382 : 		dst->GetPlayerData()->Increment_Money(amount);

	fld	DWORD PTR _amount$[esp+128]
	mov	ecx, DWORD PTR [esi+76]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+16]
	push	ecx
	fstp	DWORD PTR [esp]
	call	eax

; 1383 : 		PagePlayer(dst->GetPlayerData()->PlayerId, "You have received %.0f credits from %ls.", amount, pData->PlayerName.m_Buffer);

	mov	ecx, DWORD PTR [edi+1880]
	fld	DWORD PTR _amount$[esp+128]
	mov	eax, DWORD PTR [esi+76]
	mov	edx, DWORD PTR [eax+1884]
	push	ecx
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	OFFSET ??_C@_0CJ@ENHKFCPA@You?5have?5received?5?$CF?40f?5credits?5f@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 20					; 00000014H

; 1384 : 		PagePlayer(sender, "You have donated %.0f credits to %ls.", amount, dst->GetPlayerName().GetString());

	lea	eax, DWORD PTR $T70427[esp+128]
	push	eax
	mov	ecx, esi
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 11		; 0000000bH
	je	SHORT $LN70@Activate@5
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN71@Activate@5
$LN70@Activate@5:
	xor	eax, eax
$LN71@Activate@5:
	fld	DWORD PTR _amount$[esp+128]
	mov	ecx, DWORD PTR _sender$[ebp]
	push	eax
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	OFFSET ??_C@_0CG@EBFLAMKK@You?5have?5donated?5?$CF?40f?5credits?5to@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 20					; 00000014H
	lea	ecx, DWORD PTR $T70427[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN90@Activate@5:

; 1385 : 	}

	lea	ecx, DWORD PTR _token$[esp+128]
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR $T70414[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR _token$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$2:
	lea	ecx, DWORD PTR $T70415[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$3:
	lea	ecx, DWORD PTR $T70417[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$4:
	lea	ecx, DWORD PTR $T70418[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$5:
	lea	ecx, DWORD PTR $T70419[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$6:
	mov	eax, DWORD PTR $T70434[ebp]
	and	eax, 1
	je	$LN34@Activate@5
	and	DWORD PTR $T70434[ebp], -2		; fffffffeH
	lea	ecx, DWORD PTR $T70421[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
$LN34@Activate@5:
	ret	0
__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$7:
	lea	ecx, DWORD PTR $T70424[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$8:
	lea	ecx, DWORD PTR $T70425[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$9:
	lea	ecx, DWORD PTR $T70426[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z$10:
	lea	ecx, DWORD PTR $T70427[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_Donate@@UAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_Donate::Activate
; Function compile flags: /Ogtpy
;	COMDAT ??_GaWideString@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaWideString@@UAEPAXI@Z PROC				; aWideString::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@25
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@25:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideString@@UAEPAXI@Z ENDP				; aWideString::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_7gzChat_TeamDonate@@6B@			; gzChat_TeamDonate::`vftable'
PUBLIC	??0gzChat_TeamDonate@@QAE@XZ			; gzChat_TeamDonate::gzChat_TeamDonate
PUBLIC	??_R4gzChat_TeamDonate@@6B@			; gzChat_TeamDonate::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_TeamDonate@@@8			; gzChat_TeamDonate `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_TeamDonate@@8			; gzChat_TeamDonate::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_TeamDonate@@8			; gzChat_TeamDonate::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_TeamDonate@@8		; gzChat_TeamDonate::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_TeamDonate::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_TeamDonate@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_TeamDonate@@8 DD FLAT:??_R0?AVgzChat_TeamDonate@@@8 ; gzChat_TeamDonate::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_TeamDonate@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_TeamDonate@@8
rdata$r	SEGMENT
??_R2gzChat_TeamDonate@@8 DD FLAT:??_R1A@?0A@EA@gzChat_TeamDonate@@8 ; gzChat_TeamDonate::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_TeamDonate@@8
rdata$r	SEGMENT
??_R3gzChat_TeamDonate@@8 DD 00H			; gzChat_TeamDonate::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_TeamDonate@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_TeamDonate@@@8
_DATA	SEGMENT
??_R0?AVgzChat_TeamDonate@@@8 DD FLAT:??_7type_info@@6B@ ; gzChat_TeamDonate `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_TeamDonate@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_TeamDonate@@6B@
rdata$r	SEGMENT
??_R4gzChat_TeamDonate@@6B@ DD 00H			; gzChat_TeamDonate::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_TeamDonate@@@8
	DD	FLAT:??_R3gzChat_TeamDonate@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_TeamDonate@@6B@
CONST	SEGMENT
??_7gzChat_TeamDonate@@6B@ DD FLAT:??_R4gzChat_TeamDonate@@6B@ ; gzChat_TeamDonate::`vftable'
	DD	FLAT:?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_TeamDonate@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_TeamDonate@@QAE@XZ PROC			; gzChat_TeamDonate::gzChat_TeamDonate, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_TeamDonate@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_TeamDonate@@QAE@XZ ENDP			; gzChat_TeamDonate::gzChat_TeamDonate
_TEXT	ENDS
PUBLIC	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z$0
__ehfuncinfo$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z
_TEXT	SEGMENT
$T70553 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_pos$ = 12						; size = 4
??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z PROC ; aStringArrayBase<aWideString>::operator[], COMDAT
; _this$ = ecx

; 86   : 	{

	push	-1
	push	__ehhandler$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	DWORD PTR $T70553[esp+20], 0

; 87   : 		T ret;

	mov	esi, DWORD PTR ___$ReturnUdt$[esp+16]
	push	edi
	mov	edi, ecx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	call	??0aWideString@@QAE@XZ			; aWideString::aWideString

; 88   : 		ret.SetData(this->m_vector[pos]);
; 89   : 		return ret;

	mov	eax, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR _pos$[esp+20]
	mov	edx, DWORD PTR [eax+ecx*4]
	push	edx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR $T70553[esp+28], 1
	call	?SetData@aStringBase@@QAEXPAVaStringData@@@Z ; aStringBase::SetData

; 90   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z$0:
	mov	eax, DWORD PTR $T70553[ebp]
	and	eax, 1
	je	$LN4@operator@5
	and	DWORD PTR $T70553[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR ___$ReturnUdt$[ebp-4]
	jmp	??1aWideString@@UAE@XZ
$LN4@operator@5:
	ret	0
__ehhandler$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z:
	mov	eax, OFFSET __ehfuncinfo$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ENDP ; aStringArrayBase<aWideString>::operator[]
PUBLIC	??A?$aVector@PAVgzChatCommandBase@@@@QAEAAPAVgzChatCommandBase@@I@Z ; aVector<gzChatCommandBase *>::operator[]
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??A?$aVector@PAVgzChatCommandBase@@@@QAEAAPAVgzChatCommandBase@@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@PAVgzChatCommandBase@@@@QAEAAPAVgzChatCommandBase@@I@Z PROC ; aVector<gzChatCommandBase *>::operator[], COMDAT
; _this$ = ecx

; 64   : 	T& operator[](unsigned int nPos) { return this->m_vector[nPos]; };

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _nPos$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]
	ret	4
??A?$aVector@PAVgzChatCommandBase@@@@QAEAAPAVgzChatCommandBase@@I@Z ENDP ; aVector<gzChatCommandBase *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAVgzChatCommandBase@@@@QBEIXZ	; aVector<gzChatCommandBase *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAVgzChatCommandBase@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAVgzChatCommandBase@@@@QBEIXZ PROC	; aVector<gzChatCommandBase *>::Count, COMDAT
; _this$ = ecx

; 65   : 	inline unsigned int Count() const { return this->m_items; };

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@PAVgzChatCommandBase@@@@QBEIXZ ENDP	; aVector<gzChatCommandBase *>::Count
_TEXT	ENDS
PUBLIC	??_C@_1BA@CKIAHBAN@?$AA?$CB?$AAd?$AAo?$AAn?$AAa?$AAt?$AAe?$AA?$AA@ ; `string'
EXTRN	??8aWideString@@QAE_NPB_W@Z:PROC		; aWideString::operator==
EXTRN	?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A:BYTE ; gzChatManagerClass::m_chatCommandList
;	COMDAT ??_C@_1BA@CKIAHBAN@?$AA?$CB?$AAd?$AAo?$AAn?$AAa?$AAt?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_1BA@CKIAHBAN@?$AA?$CB?$AAd?$AAo?$AAn?$AAa?$AAt?$AAe?$AA?$AA@ DB '!', 00H
	DB	'd', 00H, 'o', 00H, 'n', 00H, 'a', 00H, 't', 00H, 'e', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z$0
__ehfuncinfo$?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
$T70571 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_TeamDonate::Activate, COMDAT
; _this$ = ecx

; 1389 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H
	push	ebx
	push	esi
	push	edi

; 1390 : 		for (unsigned int i = 0; i < gzChatManagerClass::m_chatCommandList.Count(); i++)

	xor	edi, edi
	cmp	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, edi
	jbe	$LN5@Activate@6
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
$LN7@Activate@6:

; 1391 : 		{
; 1392 : 			for (unsigned int j = 0; j < gzChatManagerClass::m_chatCommandList[i]->m_commandList.Count(); j++)

	mov	ecx, DWORD PTR [eax+edi*4]
	xor	esi, esi
	cmp	DWORD PTR [ecx+16], esi
	jbe	SHORT $LN6@Activate@6
$LN4@Activate@6:

; 1393 : 			{
; 1394 : 				if (gzChatManagerClass::m_chatCommandList[i]->m_commandList[j] == L"!donate")

	mov	ecx, DWORD PTR [eax+edi*4]
	push	esi
	lea	edx, DWORD PTR $T70571[esp+44]
	push	edx
	add	ecx, 4
	call	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
	push	OFFSET ??_C@_1BA@CKIAHBAN@?$AA?$CB?$AAd?$AAo?$AAn?$AAa?$AAt?$AAe?$AA?$AA@
	mov	ecx, eax
	mov	DWORD PTR __$EHRec$[esp+52], 0
	call	??8aWideString@@QAE_NPB_W@Z		; aWideString::operator==
	lea	ecx, DWORD PTR $T70571[esp+40]
	mov	bl, al
	mov	DWORD PTR __$EHRec$[esp+48], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	SHORT $LN26@Activate@6
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	ecx, DWORD PTR [eax+edi*4]
	add	esi, 1
	cmp	esi, DWORD PTR [ecx+16]
	jb	SHORT $LN4@Activate@6
$LN6@Activate@6:

; 1390 : 		for (unsigned int i = 0; i < gzChatManagerClass::m_chatCommandList.Count(); i++)

	add	edi, 1
	cmp	edi, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	jb	SHORT $LN7@Activate@6

; 1397 : 					return;
; 1398 : 				}
; 1399 : 			}
; 1400 : 		}
; 1401 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
$LN26@Activate@6:

; 1395 : 				{
; 1396 : 					gzChatManagerClass::m_chatCommandList[i]->Activate(L"all", type, sender, receiver, ret);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	ecx, DWORD PTR [edx+edi*4]
	mov	edx, DWORD PTR _ret$[ebp]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax]
	push	edx
	mov	edx, DWORD PTR _receiver$[ebp]
	push	edx
	mov	edx, DWORD PTR _sender$[ebp]
	push	edx
	mov	edx, DWORD PTR _type$[ebp]
	push	edx
	push	OFFSET ??_C@_17IIFKAHCJ@?$AAa?$AAl?$AAl?$AA?$AA@
	call	eax
$LN5@Activate@6:

; 1397 : 					return;
; 1398 : 				}
; 1399 : 			}
; 1400 : 		}
; 1401 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR $T70571[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_TeamDonate@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_TeamDonate::Activate
PUBLIC	??_7gzChat_Parachute@@6B@			; gzChat_Parachute::`vftable'
PUBLIC	??0gzChat_Parachute@@QAE@XZ			; gzChat_Parachute::gzChat_Parachute
PUBLIC	??_R4gzChat_Parachute@@6B@			; gzChat_Parachute::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_Parachute@@@8			; gzChat_Parachute `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_Parachute@@8			; gzChat_Parachute::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_Parachute@@8			; gzChat_Parachute::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_Parachute@@8		; gzChat_Parachute::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_Parachute@@UAEXPB_WHHHAAVaWideString@@@Z ; gzChat_Parachute::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_Parachute@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_Parachute@@8 DD FLAT:??_R0?AVgzChat_Parachute@@@8 ; gzChat_Parachute::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_Parachute@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_Parachute@@8
rdata$r	SEGMENT
??_R2gzChat_Parachute@@8 DD FLAT:??_R1A@?0A@EA@gzChat_Parachute@@8 ; gzChat_Parachute::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_Parachute@@8
rdata$r	SEGMENT
??_R3gzChat_Parachute@@8 DD 00H				; gzChat_Parachute::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_Parachute@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_Parachute@@@8
_DATA	SEGMENT
??_R0?AVgzChat_Parachute@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_Parachute `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_Parachute@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_Parachute@@6B@
rdata$r	SEGMENT
??_R4gzChat_Parachute@@6B@ DD 00H			; gzChat_Parachute::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_Parachute@@@8
	DD	FLAT:??_R3gzChat_Parachute@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_Parachute@@6B@
CONST	SEGMENT
??_7gzChat_Parachute@@6B@ DD FLAT:??_R4gzChat_Parachute@@6B@ ; gzChat_Parachute::`vftable'
	DD	FLAT:?Activate@gzChat_Parachute@@UAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_Parachute@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_Parachute@@QAE@XZ PROC			; gzChat_Parachute::gzChat_Parachute, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_Parachute@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_Parachute@@QAE@XZ ENDP			; gzChat_Parachute::gzChat_Parachute
_TEXT	ENDS
PUBLIC	??_C@_0BF@DJMJHDPB@gzObserver_Parachute?$AA@	; `string'
PUBLIC	??_C@_0DD@GNOEPIMC@You?5must?5be?5in?5a?5VTOL?5vehicle?5to@ ; `string'
PUBLIC	??_C@_0CO@CEBANEEB@You?5must?5be?5in?5a?5vehicle?5to?5use?5@ ; `string'
EXTRN	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ:PROC ; gzPlayer::GetSoldier
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z:PROC	; gzPlayerManager::Find
;	COMDAT ??_C@_0BF@DJMJHDPB@gzObserver_Parachute?$AA@
; File d:\source code\fds lib\new\fds_vector.h
CONST	SEGMENT
??_C@_0BF@DJMJHDPB@gzObserver_Parachute?$AA@ DB 'gzObserver_Parachute', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DD@GNOEPIMC@You?5must?5be?5in?5a?5VTOL?5vehicle?5to@
CONST	SEGMENT
??_C@_0DD@GNOEPIMC@You?5must?5be?5in?5a?5VTOL?5vehicle?5to@ DB 'You must '
	DB	'be in a VTOL vehicle to use this command.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CO@CEBANEEB@You?5must?5be?5in?5a?5vehicle?5to?5use?5@
CONST	SEGMENT
??_C@_0CO@CEBANEEB@You?5must?5be?5in?5a?5vehicle?5to?5use?5@ DB 'You must'
	DB	' be in a vehicle to use this command.', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
CONST	ENDS
;	COMDAT ?Activate@gzChat_Parachute@@UAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_Parachute@@UAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_Parachute::Activate, COMDAT
; _this$ = ecx

; 1407 : 	{

	push	esi
	push	edi

; 1408 : 		gzPlayer *gzData = gzPlayerManager::Find(sender);

	mov	edi, DWORD PTR _sender$[esp+4]
	push	edi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	esi, eax
	add	esp, 4

; 1409 : 
; 1410 : 		if (gzData == NULL || gzData->GetSoldier() == NULL)

	test	esi, esi
	je	$LN11@Activate@7
	mov	ecx, esi
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	test	eax, eax
	je	$LN11@Activate@7

; 1411 : 			return;
; 1412 : 
; 1413 : 		if (gzData->GetSoldier()->Vehicle == NULL)

	mov	ecx, esi
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	cmp	DWORD PTR [eax+2444], 0
	jne	SHORT $LN10@Activate@7

; 1414 : 			PagePlayer(sender, "You must be in a vehicle to use this command.");

	push	OFFSET ??_C@_0CO@CEBANEEB@You?5must?5be?5in?5a?5vehicle?5to?5use?5@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	esi

; 1430 : 			}
; 1431 : 		}
; 1432 : 	}

	ret	20					; 00000014H
$LN10@Activate@7:

; 1415 : 		else if (gzStatic_Cast(nc_VehicleGameObjDef, gzData->GetSoldier()->Vehicle->definition)->VehicleType != 3)

	mov	ecx, esi
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	mov	eax, DWORD PTR [eax+2444]
	mov	ecx, DWORD PTR [eax+1724]
	cmp	DWORD PTR [ecx+224], 3
	je	SHORT $LN8@Activate@7

; 1416 : 			PagePlayer(sender, "You must be in a VTOL vehicle to use this command.");

	push	OFFSET ??_C@_0DD@GNOEPIMC@You?5must?5be?5in?5a?5VTOL?5vehicle?5to@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	esi

; 1430 : 			}
; 1431 : 		}
; 1432 : 	}

	ret	20					; 00000014H
$LN8@Activate@7:

; 1417 : 		else
; 1418 : 		{
; 1419 : 			if (*msg)

	mov	edx, DWORD PTR _msg$[esp+4]
	cmp	WORD PTR [edx], 0
	jne	SHORT $LN11@Activate@7

; 1420 : 			{
; 1421 : 			}
; 1422 : 			else
; 1423 : 			{
; 1424 : 				for (int i = 0; i < gzData->GetSoldier()->Observers.Count(); i++)

	mov	ecx, esi
	xor	edi, edi
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	add	eax, 1772				; 000006ecH
	cmp	DWORD PTR [eax+12], edi
	jle	SHORT $LN2@Activate@7
$LL4@Activate@7:

; 1425 : 				{
; 1426 : 					if (!stricmp(gzData->GetSoldier()->Observers[i]->Get_Name(), "gzObserver_Parachute"))

	mov	ecx, esi
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	add	eax, 1772				; 000006ecH
	mov	eax, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [eax+edi*4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+4]
	push	OFFSET ??_C@_0BF@DJMJHDPB@gzObserver_Parachute?$AA@
	call	eax
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN11@Activate@7
	mov	ecx, esi
	add	edi, 1
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	add	eax, 1772				; 000006ecH
	cmp	edi, DWORD PTR [eax+12]
	jl	SHORT $LL4@Activate@7
$LN2@Activate@7:

; 1427 : 						return;
; 1428 : 				}
; 1429 : 				gzData->GetSoldier()->Add_Observer(nc_ScriptManager::Create_Script("gzObserver_Parachute"));

	push	OFFSET ??_C@_0BF@DJMJHDPB@gzObserver_Parachute?$AA@
	call	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z ; nc_ScriptManager::Create_Script
	add	esp, 4
	push	eax
	mov	ecx, esi
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	mov	ecx, eax
	call	?Add_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z ; nc_ScriptableGameObj::Add_Observer
$LN11@Activate@7:
	pop	edi
	pop	esi

; 1430 : 			}
; 1431 : 		}
; 1432 : 	}

	ret	20					; 00000014H
?Activate@gzChat_Parachute@@UAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_Parachute::Activate
_TEXT	ENDS
PUBLIC	??_7gzChat_UseFDSCmd@@6B@			; gzChat_UseFDSCmd::`vftable'
PUBLIC	??0gzChat_UseFDSCmd@@QAE@XZ			; gzChat_UseFDSCmd::gzChat_UseFDSCmd
PUBLIC	??_R4gzChat_UseFDSCmd@@6B@			; gzChat_UseFDSCmd::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_UseFDSCmd@@@8			; gzChat_UseFDSCmd `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_UseFDSCmd@@8			; gzChat_UseFDSCmd::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_UseFDSCmd@@8			; gzChat_UseFDSCmd::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_UseFDSCmd@@8		; gzChat_UseFDSCmd::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z ; gzChat_UseFDSCmd::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_UseFDSCmd@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_UseFDSCmd@@8 DD FLAT:??_R0?AVgzChat_UseFDSCmd@@@8 ; gzChat_UseFDSCmd::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_UseFDSCmd@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_UseFDSCmd@@8
rdata$r	SEGMENT
??_R2gzChat_UseFDSCmd@@8 DD FLAT:??_R1A@?0A@EA@gzChat_UseFDSCmd@@8 ; gzChat_UseFDSCmd::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_UseFDSCmd@@8
rdata$r	SEGMENT
??_R3gzChat_UseFDSCmd@@8 DD 00H				; gzChat_UseFDSCmd::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_UseFDSCmd@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_UseFDSCmd@@@8
_DATA	SEGMENT
??_R0?AVgzChat_UseFDSCmd@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_UseFDSCmd `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_UseFDSCmd@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_UseFDSCmd@@6B@
rdata$r	SEGMENT
??_R4gzChat_UseFDSCmd@@6B@ DD 00H			; gzChat_UseFDSCmd::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_UseFDSCmd@@@8
	DD	FLAT:??_R3gzChat_UseFDSCmd@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_UseFDSCmd@@6B@
CONST	SEGMENT
??_7gzChat_UseFDSCmd@@6B@ DD FLAT:??_R4gzChat_UseFDSCmd@@6B@ ; gzChat_UseFDSCmd::`vftable'
	DD	FLAT:?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_UseFDSCmd@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_UseFDSCmd@@QAE@XZ PROC			; gzChat_UseFDSCmd::gzChat_UseFDSCmd, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_UseFDSCmd@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_UseFDSCmd@@QAE@XZ ENDP			; gzChat_UseFDSCmd::gzChat_UseFDSCmd
_TEXT	ENDS
PUBLIC	?Count@?$nc_DynamicVectorClass@PAVnc_ConsoleFunctionClass@@@@QAEHXZ ; nc_DynamicVectorClass<nc_ConsoleFunctionClass *>::Count
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_vector.h
;	COMDAT ?Count@?$nc_DynamicVectorClass@PAVnc_ConsoleFunctionClass@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$nc_DynamicVectorClass@PAVnc_ConsoleFunctionClass@@@@QAEHXZ PROC ; nc_DynamicVectorClass<nc_ConsoleFunctionClass *>::Count, COMDAT
; _this$ = ecx

; 375  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+16]

; 376  : 	}

	ret	0
?Count@?$nc_DynamicVectorClass@PAVnc_ConsoleFunctionClass@@@@QAEHXZ ENDP ; nc_DynamicVectorClass<nc_ConsoleFunctionClass *>::Count
_TEXT	ENDS
PUBLIC	??A?$nc_VectorClass@PAVnc_ConsoleFunctionClass@@@@QAEAAPAVnc_ConsoleFunctionClass@@H@Z ; nc_VectorClass<nc_ConsoleFunctionClass *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$nc_VectorClass@PAVnc_ConsoleFunctionClass@@@@QAEAAPAVnc_ConsoleFunctionClass@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$nc_VectorClass@PAVnc_ConsoleFunctionClass@@@@QAEAAPAVnc_ConsoleFunctionClass@@H@Z PROC ; nc_VectorClass<nc_ConsoleFunctionClass *>::operator[], COMDAT
; _this$ = ecx

; 341  : 		return Vector[index];

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _index$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]

; 342  : 	}

	ret	4
??A?$nc_VectorClass@PAVnc_ConsoleFunctionClass@@@@QAEAAPAVnc_ConsoleFunctionClass@@H@Z ENDP ; nc_VectorClass<nc_ConsoleFunctionClass *>::operator[]
_TEXT	ENDS
PUBLIC	??_C@_0BI@OAADHKBB@Command?5?$CC?$CFs?$CC?5not?5found?4?$AA@ ; `string'
EXTRN	?gettok@aToken@@QAE?AV1@HHE@Z:PROC		; aToken::gettok
EXTRN	?FunctionList@nc_ConsoleFunctionManager@@2AAV?$nc_DynamicVectorClass@PAVnc_ConsoleFunctionClass@@@@A:DWORD ; nc_ConsoleFunctionManager::FunctionList
;	COMDAT ??_C@_0BI@OAADHKBB@Command?5?$CC?$CFs?$CC?5not?5found?4?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BI@OAADHKBB@Command?5?$CC?$CFs?$CC?5not?5found?4?$AA@ DB 'Command '
	DB	'"%s" not found.', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	08H
	DD	FLAT:__unwindtable$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$2
	DD	03H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$3
	DD	05H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$4
	DD	05H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$5
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
_c$ = -64						; size = 8
_cmd$ = -56						; size = 8
$T70639 = -48						; size = 8
$T70640 = -40						; size = 8
$T70642 = -32						; size = 8
$T70641 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_UseFDSCmd::Activate, COMDAT
; _this$ = ecx

; 1439 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 52					; 00000034H

; 1440 : 		aToken c(msg);

	mov	eax, DWORD PTR _msg$[ebp]
	push	esi
	push	edi
	push	eax
	lea	ecx, DWORD PTR $T70639[esp+76]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	lea	ecx, DWORD PTR $T70639[esp+72]
	push	ecx
	xor	esi, esi
	lea	ecx, DWORD PTR _c$[esp+76]
	mov	DWORD PTR __$EHRec$[esp+84], esi
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T70639[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1441 : 		aString cmd = c.gettok(1, ' ').GetData();

	push	32					; 00000020H
	push	1
	lea	edx, DWORD PTR $T70640[esp+80]
	push	edx
	lea	ecx, DWORD PTR _c$[esp+84]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 3
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	lea	ecx, DWORD PTR _cmd$[esp+76]
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR _cmd$[esp+72], OFFSET ??_7aString@@6B@
	lea	ecx, DWORD PTR $T70640[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 5
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1442 : 		for (int i = 0; i < nc_ConsoleFunctionManager::FunctionList.Count(); i++)

	mov	eax, DWORD PTR ?FunctionList@nc_ConsoleFunctionManager@@2AAV?$nc_DynamicVectorClass@PAVnc_ConsoleFunctionClass@@@@A ; nc_ConsoleFunctionManager::FunctionList
	cmp	DWORD PTR [eax+16], esi
	jle	$LN4@Activate@8
	mov	edi, DWORD PTR _sender$[ebp]
	npad	2
$LL6@Activate@8:

; 1443 : 		{
; 1444 : 			if (cmd == nc_ConsoleFunctionManager::FunctionList[i]->Get_Name() || (nc_ConsoleFunctionManager::FunctionList[i]->Get_Alias() != NULL && cmd == nc_ConsoleFunctionManager::FunctionList[i]->Get_Alias()))

	mov	eax, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [eax+esi*4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx]
	call	eax
	push	eax
	lea	ecx, DWORD PTR _cmd$[esp+76]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN49@Activate@8
	mov	ecx, DWORD PTR ?FunctionList@nc_ConsoleFunctionManager@@2AAV?$nc_DynamicVectorClass@PAVnc_ConsoleFunctionClass@@@@A ; nc_ConsoleFunctionManager::FunctionList
	mov	edx, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR [edx+esi*4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	test	eax, eax
	je	SHORT $LN3@Activate@8
	mov	eax, DWORD PTR ?FunctionList@nc_ConsoleFunctionManager@@2AAV?$nc_DynamicVectorClass@PAVnc_ConsoleFunctionClass@@@@A ; nc_ConsoleFunctionManager::FunctionList
	mov	ecx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [ecx+esi*4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+4]
	call	eax
	push	eax
	lea	ecx, DWORD PTR _cmd$[esp+76]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	SHORT $LN49@Activate@8
$LN3@Activate@8:

; 1447 : 				break;
; 1448 : 			}
; 1449 : 			if (i == (nc_ConsoleFunctionManager::FunctionList.Count() -1))

	mov	eax, DWORD PTR ?FunctionList@nc_ConsoleFunctionManager@@2AAV?$nc_DynamicVectorClass@PAVnc_ConsoleFunctionClass@@@@A ; nc_ConsoleFunctionManager::FunctionList
	mov	ecx, DWORD PTR [eax+16]
	add	ecx, -1
	cmp	esi, ecx
	jne	SHORT $LN5@Activate@8

; 1450 : 				PagePlayer(sender, "Command \"%s\" not found.", c.gettok(1,' ').GetData().GetString());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T70642[esp+80]
	push	ecx
	lea	ecx, DWORD PTR _c$[esp+84]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 7
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN41@Activate@8
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN42@Activate@8
$LN41@Activate@8:
	xor	eax, eax
$LN42@Activate@8:
	push	eax
	push	OFFSET ??_C@_0BI@OAADHKBB@Command?5?$CC?$CFs?$CC?5not?5found?4?$AA@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T70642[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 5
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	mov	eax, DWORD PTR ?FunctionList@nc_ConsoleFunctionManager@@2AAV?$nc_DynamicVectorClass@PAVnc_ConsoleFunctionClass@@@@A ; nc_ConsoleFunctionManager::FunctionList
$LN5@Activate@8:
	add	esi, 1
	cmp	esi, DWORD PTR [eax+16]
	jl	$LL6@Activate@8

; 1443 : 		{
; 1444 : 			if (cmd == nc_ConsoleFunctionManager::FunctionList[i]->Get_Name() || (nc_ConsoleFunctionManager::FunctionList[i]->Get_Alias() != NULL && cmd == nc_ConsoleFunctionManager::FunctionList[i]->Get_Alias()))

	jmp	SHORT $LN4@Activate@8
$LN49@Activate@8:

; 1445 : 			{
; 1446 : 				nc_ConsoleFunctionManager::FunctionList[i]->Activate((char *)c.gettok(2, c.numtok(' ') -1, ' ').GetData().GetString());

	mov	edx, DWORD PTR ?FunctionList@nc_ConsoleFunctionManager@@2AAV?$nc_DynamicVectorClass@PAVnc_ConsoleFunctionClass@@@@A ; nc_ConsoleFunctionManager::FunctionList
	mov	eax, DWORD PTR [edx+4]
	mov	esi, DWORD PTR [eax+esi*4]
	push	32					; 00000020H
	push	32					; 00000020H
	lea	ecx, DWORD PTR _c$[esp+80]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	sub	eax, 1
	push	eax
	push	2
	lea	ecx, DWORD PTR $T70641[esp+84]
	push	ecx
	lea	ecx, DWORD PTR _c$[esp+88]
	call	?gettok@aToken@@QAE?AV1@HHE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 6
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN33@Activate@8
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN34@Activate@8
$LN33@Activate@8:
	xor	eax, eax
$LN34@Activate@8:
	mov	edx, DWORD PTR [esi]
	push	eax
	mov	eax, DWORD PTR [edx+12]
	mov	ecx, esi
	call	eax
	lea	ecx, DWORD PTR $T70641[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 5
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN4@Activate@8:

; 1451 : 		}
; 1452 : 		//nc_cPlayer *pData = nc_cPlayerManager::Find_Player(sender);
; 1453 : 		//aToken c(msg);
; 1454 : 		//char *cmd = new char[strlen(c.gettok(1,' ').ToChar()) +1];
; 1455 : 		//strcpy(cmd, c.gettok(1, ' ').ToChar());
; 1456 : 		//for (int i = 0; i < nc_ConsoleFunctionManager::FunctionList.Count(); i++)
; 1457 : 		//{
; 1458 : 		//	if (!stricmp(nc_ConsoleFunctionManager::FunctionList[i]->Get_Name(), cmd) || (nc_ConsoleFunctionManager::FunctionList[i]->Get_Alias() != NULL && !stricmp(nc_ConsoleFunctionManager::FunctionList[i]->Get_Alias(), cmd)))
; 1459 : 		//	{
; 1460 : 		//		nc_ConsoleFunctionManager::FunctionList[i]->Activate((char *)c.gettok(2, c.numtok(' ') -1, ' ').ToChar());
; 1461 : 		//		break;
; 1462 : 		//	}
; 1463 : 		//	if (i == (nc_ConsoleFunctionManager::FunctionList.Count() -1))
; 1464 : 		//		PagePlayer(sender, "Command \"%s\" not found.", c.gettok(1,' ').ToChar());
; 1465 : 		//}
; 1466 : 		//delete [] cmd;
; 1467 : 	}

	lea	ecx, DWORD PTR _cmd$[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR _c$[esp+72]
	mov	DWORD PTR __$EHRec$[esp+80], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	mov	ecx, DWORD PTR __$EHRec$[esp+72]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR $T70639[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR _c$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$2:
	lea	ecx, DWORD PTR $T70640[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$3:
	lea	ecx, DWORD PTR _cmd$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$5:
	lea	ecx, DWORD PTR $T70642[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z$4:
	lea	ecx, DWORD PTR $T70641[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_UseFDSCmd@@UAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_UseFDSCmd::Activate
PUBLIC	??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@ ; `string'
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_SetSpeed>::gzChatCommand_Reg<gzChat_SetSpeed>
EXTRN	??4aWideString@@QAEAAV0@ABV0@@Z:PROC		; aWideString::operator=
EXTRN	??0aWideString@@QAE@PB_W@Z:PROC			; aWideString::aWideString
EXTRN	??0aWideString@@QAE@ABVaString@@@Z:PROC		; aWideString::aWideString
;	COMDAT ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@
; File d:\source code\alib\include\avector.h
CONST	SEGMENT
??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@ DB 'd:\source '
	DB	'code\stgm\stchat.h', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T70733 = -48						; size = 8
$T70732 = -48						; size = 8
$T70730 = -48						; size = 4
$T70725 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T70723 = -32						; size = 8
$T70731 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_commands$ = 8						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_SetSpeed>::gzChatCommand_Reg<gzChat_SetSpeed>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[ebp]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+64], edi
	je	$LN37@gzChatComm

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

	push	eax
	lea	ecx, DWORD PTR $T70723[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70723[esp+64]
	xor	ebx, ebx
	push	eax
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], ebx
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T70723[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70725[esp+64], esi
	cmp	esi, ebx
	mov	BYTE PTR __$EHRec$[esp+72], 3
	je	SHORT $LN9@gzChatComm
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_SetSpeed@@6B@
	mov	ebx, esi
$LN9@gzChatComm:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [ebx+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 2
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm
	lea	edi, DWORD PTR [ebx+4]
	npad	3
$LL5@gzChatComm:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T70731[esp+72]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T70730[esp+72], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T70731[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+64]
$LN3@gzChatComm:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T70732[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70732[esp+64]
	push	eax
	lea	ecx, DWORD PTR [ebx+24]
	mov	BYTE PTR __$EHRec$[esp+76], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T70732[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T70733[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T70733[esp+64]
	push	ecx
	lea	ecx, DWORD PTR [ebx+32]
	mov	BYTE PTR __$EHRec$[esp+76], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T70733[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN37@gzChatComm:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T70723[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T70725[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T70731[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T70732[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T70733[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_SetSpeed>::gzChatCommand_Reg<gzChat_SetSpeed>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_Time>::gzChatCommand_Reg<gzChat_Time>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T70782 = -48						; size = 8
$T70781 = -48						; size = 8
$T70779 = -48						; size = 4
$T70774 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T70772 = -32						; size = 8
$T70780 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_commands$ = 8						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_Time>::gzChatCommand_Reg<gzChat_Time>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[ebp]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+64], edi
	je	$LN37@gzChatComm@2

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

	push	eax
	lea	ecx, DWORD PTR $T70772[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70772[esp+64]
	xor	ebx, ebx
	push	eax
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], ebx
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T70772[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70774[esp+64], esi
	cmp	esi, ebx
	mov	BYTE PTR __$EHRec$[esp+72], 3
	je	SHORT $LN9@gzChatComm@2
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_Time@@6B@
	mov	ebx, esi
$LN9@gzChatComm@2:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [ebx+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 2
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@2
	lea	edi, DWORD PTR [ebx+4]
	npad	3
$LL5@gzChatComm@2:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T70780[esp+72]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T70779[esp+72], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T70780[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@2

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+64]
$LN3@gzChatComm@2:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@2

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T70781[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70781[esp+64]
	push	eax
	lea	ecx, DWORD PTR [ebx+24]
	mov	BYTE PTR __$EHRec$[esp+76], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T70781[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@2

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T70782[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T70782[esp+64]
	push	ecx
	lea	ecx, DWORD PTR [ebx+32]
	mov	BYTE PTR __$EHRec$[esp+76], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T70782[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@2:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@2
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@2:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN37@gzChatComm@2:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T70772[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T70774[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T70780[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T70781[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T70782[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_Time>::gzChatCommand_Reg<gzChat_Time>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_Donate>::gzChatCommand_Reg<gzChat_Donate>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T70831 = -48						; size = 8
$T70830 = -48						; size = 8
$T70828 = -48						; size = 4
$T70823 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T70821 = -32						; size = 8
$T70829 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_commands$ = 8						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_Donate>::gzChatCommand_Reg<gzChat_Donate>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[ebp]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+64], edi
	je	$LN37@gzChatComm@3

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

	push	eax
	lea	ecx, DWORD PTR $T70821[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70821[esp+64]
	xor	ebx, ebx
	push	eax
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], ebx
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T70821[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70823[esp+64], esi
	cmp	esi, ebx
	mov	BYTE PTR __$EHRec$[esp+72], 3
	je	SHORT $LN9@gzChatComm@3
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_Donate@@6B@
	mov	ebx, esi
$LN9@gzChatComm@3:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [ebx+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 2
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@3
	lea	edi, DWORD PTR [ebx+4]
	npad	3
$LL5@gzChatComm@3:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T70829[esp+72]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T70828[esp+72], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T70829[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@3

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+64]
$LN3@gzChatComm@3:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@3

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T70830[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70830[esp+64]
	push	eax
	lea	ecx, DWORD PTR [ebx+24]
	mov	BYTE PTR __$EHRec$[esp+76], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T70830[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@3

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T70831[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T70831[esp+64]
	push	ecx
	lea	ecx, DWORD PTR [ebx+32]
	mov	BYTE PTR __$EHRec$[esp+76], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T70831[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@3:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@3
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@3:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN37@gzChatComm@3:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T70821[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T70823[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T70829[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T70830[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T70831[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_Donate>::gzChatCommand_Reg<gzChat_Donate>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_TeamDonate>::gzChatCommand_Reg<gzChat_TeamDonate>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T70880 = -48						; size = 8
$T70879 = -48						; size = 8
$T70877 = -48						; size = 4
$T70872 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T70870 = -32						; size = 8
$T70878 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_commands$ = 8						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_TeamDonate>::gzChatCommand_Reg<gzChat_TeamDonate>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[ebp]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+64], edi
	je	$LN37@gzChatComm@4

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

	push	eax
	lea	ecx, DWORD PTR $T70870[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70870[esp+64]
	xor	ebx, ebx
	push	eax
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], ebx
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T70870[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70872[esp+64], esi
	cmp	esi, ebx
	mov	BYTE PTR __$EHRec$[esp+72], 3
	je	SHORT $LN9@gzChatComm@4
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_TeamDonate@@6B@
	mov	ebx, esi
$LN9@gzChatComm@4:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [ebx+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 2
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@4
	lea	edi, DWORD PTR [ebx+4]
	npad	3
$LL5@gzChatComm@4:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T70878[esp+72]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T70877[esp+72], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T70878[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@4

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+64]
$LN3@gzChatComm@4:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@4

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T70879[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70879[esp+64]
	push	eax
	lea	ecx, DWORD PTR [ebx+24]
	mov	BYTE PTR __$EHRec$[esp+76], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T70879[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@4

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T70880[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T70880[esp+64]
	push	ecx
	lea	ecx, DWORD PTR [ebx+32]
	mov	BYTE PTR __$EHRec$[esp+76], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T70880[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@4:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@4
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@4:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN37@gzChatComm@4:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T70870[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T70872[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T70878[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T70879[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T70880[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_TeamDonate>::gzChatCommand_Reg<gzChat_TeamDonate>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_Parachute>::gzChatCommand_Reg<gzChat_Parachute>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T70929 = -48						; size = 8
$T70928 = -48						; size = 8
$T70926 = -48						; size = 4
$T70921 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T70919 = -32						; size = 8
$T70927 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_commands$ = 8						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_Parachute>::gzChatCommand_Reg<gzChat_Parachute>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[ebp]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+64], edi
	je	$LN37@gzChatComm@5

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

	push	eax
	lea	ecx, DWORD PTR $T70919[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70919[esp+64]
	xor	ebx, ebx
	push	eax
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], ebx
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T70919[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70921[esp+64], esi
	cmp	esi, ebx
	mov	BYTE PTR __$EHRec$[esp+72], 3
	je	SHORT $LN9@gzChatComm@5
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_Parachute@@6B@
	mov	ebx, esi
$LN9@gzChatComm@5:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [ebx+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 2
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@5
	lea	edi, DWORD PTR [ebx+4]
	npad	3
$LL5@gzChatComm@5:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T70927[esp+72]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T70926[esp+72], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T70927[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@5

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+64]
$LN3@gzChatComm@5:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@5

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T70928[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70928[esp+64]
	push	eax
	lea	ecx, DWORD PTR [ebx+24]
	mov	BYTE PTR __$EHRec$[esp+76], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T70928[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@5

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T70929[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T70929[esp+64]
	push	ecx
	lea	ecx, DWORD PTR [ebx+32]
	mov	BYTE PTR __$EHRec$[esp+76], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T70929[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@5:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@5
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@5:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN37@gzChatComm@5:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T70919[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T70921[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T70927[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T70928[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T70929[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_Parachute>::gzChatCommand_Reg<gzChat_Parachute>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_UseFDSCmd>::gzChatCommand_Reg<gzChat_UseFDSCmd>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T70978 = -48						; size = 8
$T70977 = -48						; size = 8
$T70975 = -48						; size = 4
$T70970 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T70968 = -32						; size = 8
$T70976 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_commands$ = 8						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_UseFDSCmd>::gzChatCommand_Reg<gzChat_UseFDSCmd>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[ebp]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+64], edi
	je	$LN37@gzChatComm@6

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

	push	eax
	lea	ecx, DWORD PTR $T70968[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70968[esp+64]
	xor	ebx, ebx
	push	eax
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], ebx
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T70968[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70970[esp+64], esi
	cmp	esi, ebx
	mov	BYTE PTR __$EHRec$[esp+72], 3
	je	SHORT $LN9@gzChatComm@6
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_UseFDSCmd@@6B@
	mov	ebx, esi
$LN9@gzChatComm@6:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [ebx+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 2
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@6
	lea	edi, DWORD PTR [ebx+4]
	npad	3
$LL5@gzChatComm@6:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T70976[esp+72]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T70975[esp+72], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T70976[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@6

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+64]
$LN3@gzChatComm@6:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@6

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T70977[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70977[esp+64]
	push	eax
	lea	ecx, DWORD PTR [ebx+24]
	mov	BYTE PTR __$EHRec$[esp+76], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T70977[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@6

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T70978[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T70978[esp+64]
	push	ecx
	lea	ecx, DWORD PTR [ebx+32]
	mov	BYTE PTR __$EHRec$[esp+76], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T70978[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@6:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@6
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@6:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN37@gzChatComm@6:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T70968[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T70970[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T70976[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T70977[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T70978[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_UseFDSCmd>::gzChatCommand_Reg<gzChat_UseFDSCmd>
PUBLIC	??_C@_04JAPNOPEA@?$CBfds?$AA@			; `string'
PUBLIC	??_C@_0BE@PHHPIGLO@?$CBp?0?$CBpara?0?$CBparachute?$AA@ ; `string'
PUBLIC	??_C@_09BNHMBLCC@Parachute?$AA@			; `string'
PUBLIC	??_C@_08MMNHDBIG@?$CBtdonate?$AA@		; `string'
PUBLIC	??_C@_0L@DCMOHKCM@?$CBd?0?$CBdonate?$AA@	; `string'
PUBLIC	??_C@_05JADELBNI@?$CBtime?$AA@			; `string'
PUBLIC	??_C@_0O@PGDMLOEI@?$CBsetspeed?0?$CBss?$AA@	; `string'
PUBLIC	??_C@_0BH@HMDABLOK@gzObserver_Nod_Obelisk?$AA@	; `string'
PUBLIC	??_C@_0BD@BAJHFLFM@gzObserverBuilding?$AA@	; `string'
PUBLIC	??_C@_0BB@BBLMKOHC@gzObserverBeacon?$AA@	; `string'
PUBLIC	??_C@_0BC@HKIMCODC@gzObserverVehicle?$AA@	; `string'
PUBLIC	??_C@_0N@HDGPBLNP@gzObserverC4?$AA@		; `string'
PUBLIC	??_C@_0BC@JAPCKGMC@gzObserverSoldier?$AA@	; `string'
PUBLIC	??_C@_0BC@JNGANIHG@gzGamelogObserver?$AA@	; `string'
PUBLIC	??_C@_0BC@JLELKGGA@gzObelisk_Powerup?$AA@	; `string'
PUBLIC	??_C@_0M@JFEMEAOJ@Nod_Obelisk?$AA@		; `string'
PUBLIC	??_7gzGameManager@@6BgzSettingsEvent@@@		; gzGameManager::`vftable'
PUBLIC	??_7gzGameManager@@6BEventHandler@@@		; gzGameManager::`vftable'
PUBLIC	??0gzGameManager@@QAE@XZ			; gzGameManager::gzGameManager
PUBLIC	??_R4gzGameManager@@6BEventHandler@@@		; gzGameManager::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzGameManager@@@8			; gzGameManager `RTTI Type Descriptor'
PUBLIC	??_R3gzGameManager@@8				; gzGameManager::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzGameManager@@8				; gzGameManager::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzGameManager@@8			; gzGameManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1CE@?0A@EA@gzSettingsEvent@@8		; gzSettingsEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
PUBLIC	?GetName@gzGameManager@@UAEPBDXZ		; gzGameManager::GetName
PUBLIC	??_R4gzGameManager@@6BgzSettingsEvent@@@	; gzGameManager::`RTTI Complete Object Locator'
EXTRN	_remove:PROC
EXTRN	??_EgzGameManager@@UAEPAXI@Z:PROC		; gzGameManager::`vector deleting destructor'
;	COMDAT ??_R4gzGameManager@@6BgzSettingsEvent@@@
; File d:\source code\stgm\stsetting.h
rdata$r	SEGMENT
??_R4gzGameManager@@6BgzSettingsEvent@@@ DD 00H		; gzGameManager::`RTTI Complete Object Locator'
	DD	024H
	DD	00H
	DD	FLAT:??_R0?AVgzGameManager@@@8
	DD	FLAT:??_R3gzGameManager@@8
rdata$r	ENDS
;	COMDAT ??_R1CE@?0A@EA@gzSettingsEvent@@8
rdata$r	SEGMENT
??_R1CE@?0A@EA@gzSettingsEvent@@8 DD FLAT:??_R0?AVgzSettingsEvent@@@8 ; gzSettingsEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
	DD	00H
	DD	024H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzGameManager@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzGameManager@@8 DD FLAT:??_R0?AVgzGameManager@@@8 ; gzGameManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzGameManager@@8
rdata$r	ENDS
;	COMDAT ??_R2gzGameManager@@8
rdata$r	SEGMENT
??_R2gzGameManager@@8 DD FLAT:??_R1A@?0A@EA@gzGameManager@@8 ; gzGameManager::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
	DD	FLAT:??_R1CE@?0A@EA@gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R3gzGameManager@@8
rdata$r	SEGMENT
??_R3gzGameManager@@8 DD 00H				; gzGameManager::`RTTI Class Hierarchy Descriptor'
	DD	01H
	DD	04H
	DD	FLAT:??_R2gzGameManager@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzGameManager@@@8
_DATA	SEGMENT
??_R0?AVgzGameManager@@@8 DD FLAT:??_7type_info@@6B@	; gzGameManager `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzGameManager@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzGameManager@@6BEventHandler@@@
rdata$r	SEGMENT
??_R4gzGameManager@@6BEventHandler@@@ DD 00H		; gzGameManager::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzGameManager@@@8
	DD	FLAT:??_R3gzGameManager@@8
rdata$r	ENDS
;	COMDAT ??_C@_04JAPNOPEA@?$CBfds?$AA@
CONST	SEGMENT
??_C@_04JAPNOPEA@?$CBfds?$AA@ DB '!fds', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@PHHPIGLO@?$CBp?0?$CBpara?0?$CBparachute?$AA@
CONST	SEGMENT
??_C@_0BE@PHHPIGLO@?$CBp?0?$CBpara?0?$CBparachute?$AA@ DB '!p,!para,!para'
	DB	'chute', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_09BNHMBLCC@Parachute?$AA@
CONST	SEGMENT
??_C@_09BNHMBLCC@Parachute?$AA@ DB 'Parachute', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_08MMNHDBIG@?$CBtdonate?$AA@
CONST	SEGMENT
??_C@_08MMNHDBIG@?$CBtdonate?$AA@ DB '!tdonate', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@DCMOHKCM@?$CBd?0?$CBdonate?$AA@
CONST	SEGMENT
??_C@_0L@DCMOHKCM@?$CBd?0?$CBdonate?$AA@ DB '!d,!donate', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_05JADELBNI@?$CBtime?$AA@
CONST	SEGMENT
??_C@_05JADELBNI@?$CBtime?$AA@ DB '!time', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@PGDMLOEI@?$CBsetspeed?0?$CBss?$AA@
CONST	SEGMENT
??_C@_0O@PGDMLOEI@?$CBsetspeed?0?$CBss?$AA@ DB '!setspeed,!ss', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@HMDABLOK@gzObserver_Nod_Obelisk?$AA@
CONST	SEGMENT
??_C@_0BH@HMDABLOK@gzObserver_Nod_Obelisk?$AA@ DB 'gzObserver_Nod_Obelisk'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@BAJHFLFM@gzObserverBuilding?$AA@
CONST	SEGMENT
??_C@_0BD@BAJHFLFM@gzObserverBuilding?$AA@ DB 'gzObserverBuilding', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@BBLMKOHC@gzObserverBeacon?$AA@
CONST	SEGMENT
??_C@_0BB@BBLMKOHC@gzObserverBeacon?$AA@ DB 'gzObserverBeacon', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@HKIMCODC@gzObserverVehicle?$AA@
CONST	SEGMENT
??_C@_0BC@HKIMCODC@gzObserverVehicle?$AA@ DB 'gzObserverVehicle', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@HDGPBLNP@gzObserverC4?$AA@
CONST	SEGMENT
??_C@_0N@HDGPBLNP@gzObserverC4?$AA@ DB 'gzObserverC4', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@JAPCKGMC@gzObserverSoldier?$AA@
CONST	SEGMENT
??_C@_0BC@JAPCKGMC@gzObserverSoldier?$AA@ DB 'gzObserverSoldier', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@JNGANIHG@gzGamelogObserver?$AA@
CONST	SEGMENT
??_C@_0BC@JNGANIHG@gzGamelogObserver?$AA@ DB 'gzGamelogObserver', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@JLELKGGA@gzObelisk_Powerup?$AA@
CONST	SEGMENT
??_C@_0BC@JLELKGGA@gzObelisk_Powerup?$AA@ DB 'gzObelisk_Powerup', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@JFEMEAOJ@Nod_Obelisk?$AA@
CONST	SEGMENT
??_C@_0M@JFEMEAOJ@Nod_Obelisk?$AA@ DB 'Nod_Obelisk', 00H ; `string'
CONST	ENDS
;	COMDAT ??_7gzGameManager@@6BgzSettingsEvent@@@
CONST	SEGMENT
??_7gzGameManager@@6BgzSettingsEvent@@@ DD FLAT:??_R4gzGameManager@@6BgzSettingsEvent@@@ ; gzGameManager::`vftable'
	DD	FLAT:?Settings_Loaded@gzGameManager@@UAEXXZ
CONST	ENDS
;	COMDAT ??_7gzGameManager@@6BEventHandler@@@
CONST	SEGMENT
??_7gzGameManager@@6BEventHandler@@@ DD FLAT:??_R4gzGameManager@@6BEventHandler@@@ ; gzGameManager::`vftable'
	DD	FLAT:??_EgzGameManager@@UAEPAXI@Z
	DD	FLAT:?GetName@gzGameManager@@UAEPBDXZ
	DD	FLAT:?Delete@gzGameManager@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzGameManager@@UAEXXZ
	DD	FLAT:?Level_Ended@gzGameManager@@UAEXXZ
	DD	FLAT:?Think@EventHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzGameManager@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzGameManager@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzGameManager@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzGameManager@@QAE@XZ$2
__ehfuncinfo$??0gzGameManager@@QAE@XZ DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0gzGameManager@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
xdata$x	ENDS
;	COMDAT ??0gzGameManager@@QAE@XZ
_TEXT	SEGMENT
_gzChat_UseFDSCmd_Reg$ = -37				; size = 1
_gzChat_Parachute_Reg$ = -37				; size = 1
_gzChat_TeamDonate_Reg$ = -37				; size = 1
_gzChat_Donate_Reg$ = -37				; size = 1
_gzChat_Time_Reg$ = -37					; size = 1
_gzChat_SetSpeed_Reg$ = -37				; size = 1
_this$ = -36						; size = 4
$T71018 = -32						; size = 4
_ob$71122 = -28						; size = 16
_ob$71116 = -28						; size = 16
_ob$71108 = -28						; size = 16
_ob$71100 = -28						; size = 16
_ob$71092 = -28						; size = 16
_ob$71084 = -28						; size = 16
_ob$71076 = -28						; size = 16
_ob$71068 = -28						; size = 16
_ob$71060 = -28						; size = 16
_ob$71052 = -28						; size = 16
_ob$71044 = -28						; size = 16
_ob$71038 = -28						; size = 16
__$EHRec$ = -12						; size = 12
??0gzGameManager@@QAE@XZ PROC				; gzGameManager::gzGameManager, COMDAT
; _this$ = ecx

; 165  : {

	push	-1
	push	__ehhandler$??0gzGameManager@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 28					; 0000001cH
	push	ebx
	push	ebp
	push	esi
	mov	ebp, ecx
	push	edi
	mov	DWORD PTR _this$[esp+56], ebp
	call	??0EventHandler@@QAE@XZ			; EventHandler::EventHandler
	mov	DWORD PTR [ebp+36], OFFSET ??_7gzSettingsEvent@@6B@
	xor	edi, edi
	lea	esi, DWORD PTR [ebp+56]
	mov	DWORD PTR [ebp], OFFSET ??_7gzGameManager@@6BEventHandler@@@
	mov	DWORD PTR [ebp+36], OFFSET ??_7gzGameManager@@6BgzSettingsEvent@@@
	mov	DWORD PTR __$EHRec$[esp+64], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@UstObserverDataStruct@@@@6B@
	mov	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi+8], edi
	mov	DWORD PTR [esi+12], edi

; 166  : 	this->RegisterEvent(EVT_GAME_LEVEL_LOADED);

	push	edi
	push	4096					; 00001000H
	mov	ecx, ebp
	mov	BYTE PTR __$EHRec$[esp+72], 1
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 167  : 	this->RegisterEvent(EVT_GAME_LEVEL_ENDED);

	push	edi
	push	4097					; 00001001H
	mov	ecx, ebp
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 168  : 
; 169  : 	this->AddObserver("Nod_Obelisk", "gzObelisk_Powerup", NULL);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71038[esp+56]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _ob$71038[esp+60], edi
	mov	DWORD PTR _ob$71038[esp+64], OFFSET ??_C@_0M@JFEMEAOJ@Nod_Obelisk?$AA@
	mov	DWORD PTR _ob$71038[esp+68], OFFSET ??_C@_0BC@JLELKGGA@gzObelisk_Powerup?$AA@
	mov	DWORD PTR _ob$71038[esp+72], edi
	call	edx

; 170  : 	this->AddObserver(0x3001, "gzGamelogObserver", NULL);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71044[esp+56]
	push	ecx
	mov	ebx, OFFSET ??_C@_00CNPNBAHC@?$AA@
	mov	ecx, esi
	mov	DWORD PTR _ob$71044[esp+60], 12289	; 00003001H
	mov	DWORD PTR _ob$71044[esp+64], edi
	mov	DWORD PTR _ob$71044[esp+68], OFFSET ??_C@_0BC@JNGANIHG@gzGamelogObserver?$AA@
	mov	DWORD PTR _ob$71044[esp+72], ebx
	call	edx

; 171  : 	this->AddObserver(0x3006, "gzGamelogObserver", NULL);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71052[esp+56]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _ob$71052[esp+60], 12294	; 00003006H
	mov	DWORD PTR _ob$71052[esp+64], edi
	mov	DWORD PTR _ob$71052[esp+68], OFFSET ??_C@_0BC@JNGANIHG@gzGamelogObserver?$AA@
	mov	DWORD PTR _ob$71052[esp+72], ebx
	call	edx

; 172  : 	this->AddObserver(0x3010, "gzGamelogObserver", NULL);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71060[esp+56]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _ob$71060[esp+60], 12304	; 00003010H
	mov	DWORD PTR _ob$71060[esp+64], edi
	mov	DWORD PTR _ob$71060[esp+68], OFFSET ??_C@_0BC@JNGANIHG@gzGamelogObserver?$AA@
	mov	DWORD PTR _ob$71060[esp+72], ebx
	call	edx

; 173  : 	this->AddObserver(0x3016, "gzGamelogObserver", NULL);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71068[esp+56]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _ob$71068[esp+60], 12310	; 00003016H
	mov	DWORD PTR _ob$71068[esp+64], edi
	mov	DWORD PTR _ob$71068[esp+68], OFFSET ??_C@_0BC@JNGANIHG@gzGamelogObserver?$AA@
	mov	DWORD PTR _ob$71068[esp+72], ebx
	call	edx

; 174  : 	this->AddObserver(0xD001, "gzGamelogObserver", NULL);

	mov	DWORD PTR _ob$71076[esp+56], 53249	; 0000d001H
	mov	DWORD PTR _ob$71076[esp+60], edi
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71076[esp+56]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _ob$71076[esp+68], OFFSET ??_C@_0BC@JNGANIHG@gzGamelogObserver?$AA@
	mov	DWORD PTR _ob$71076[esp+72], ebx
	call	edx

; 175  : 
; 176  : 	this->AddObserver(0x3001, "gzObserverSoldier");

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71084[esp+56]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _ob$71084[esp+60], 12289	; 00003001H
	mov	DWORD PTR _ob$71084[esp+64], edi
	mov	DWORD PTR _ob$71084[esp+68], OFFSET ??_C@_0BC@JAPCKGMC@gzObserverSoldier?$AA@
	mov	DWORD PTR _ob$71084[esp+72], ebx
	call	edx

; 177  : 	this->AddObserver(0x3006, "gzObserverC4");

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71092[esp+56]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _ob$71092[esp+60], 12294	; 00003006H
	mov	DWORD PTR _ob$71092[esp+64], edi
	mov	DWORD PTR _ob$71092[esp+68], OFFSET ??_C@_0N@HDGPBLNP@gzObserverC4?$AA@
	mov	DWORD PTR _ob$71092[esp+72], ebx
	call	edx

; 178  : 	this->AddObserver(0x3010, "gzObserverVehicle");

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71100[esp+56]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _ob$71100[esp+60], 12304	; 00003010H
	mov	DWORD PTR _ob$71100[esp+64], edi
	mov	DWORD PTR _ob$71100[esp+68], OFFSET ??_C@_0BC@HKIMCODC@gzObserverVehicle?$AA@
	mov	DWORD PTR _ob$71100[esp+72], ebx
	call	edx

; 179  : 	this->AddObserver(0x3016, "gzObserverBeacon");

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71108[esp+56]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _ob$71108[esp+60], 12310	; 00003016H
	mov	DWORD PTR _ob$71108[esp+64], edi
	mov	DWORD PTR _ob$71108[esp+68], OFFSET ??_C@_0BB@BBLMKOHC@gzObserverBeacon?$AA@
	mov	DWORD PTR _ob$71108[esp+72], ebx
	call	edx

; 180  : 	this->AddObserver(0xD001, "gzObserverBuilding");

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71116[esp+56]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _ob$71116[esp+60], 53249	; 0000d001H
	mov	DWORD PTR _ob$71116[esp+64], edi
	mov	DWORD PTR _ob$71116[esp+68], OFFSET ??_C@_0BD@BAJHFLFM@gzObserverBuilding?$AA@
	mov	DWORD PTR _ob$71116[esp+72], ebx
	call	edx

; 181  : 
; 182  : #if ISDEV()
; 183  : 	this->AddObserver("Nod_Obelisk", "gzObserver_Nod_Obelisk", NULL);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _ob$71122[esp+56]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR _ob$71122[esp+60], edi
	mov	DWORD PTR _ob$71122[esp+64], OFFSET ??_C@_0M@JFEMEAOJ@Nod_Obelisk?$AA@
	mov	DWORD PTR _ob$71122[esp+68], OFFSET ??_C@_0BH@HMDABLOK@gzObserver_Nod_Obelisk?$AA@
	mov	DWORD PTR _ob$71122[esp+72], edi
	call	edx

; 184  : #endif
; 185  : 
; 186  : 	this->m_settings = new gzSettingsGameClass;

	push	ebx
	push	186					; 000000baH
	push	OFFSET ??_C@_0N@KCLHNPAP@?4?2stgame?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	152					; 00000098H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71018[esp+56], eax
	cmp	eax, edi
	mov	BYTE PTR __$EHRec$[esp+64], 2
	je	SHORT $LN3@gzGameMana
	mov	ecx, eax
	call	??0gzSettingsGameClass@@QAE@XZ		; gzSettingsGameClass::gzSettingsGameClass
	jmp	SHORT $LN4@gzGameMana
$LN3@gzGameMana:
	xor	eax, eax
$LN4@gzGameMana:

; 187  : 	this->m_settings->SetOwner(this);

	lea	ecx, DWORD PTR [ebp+36]
	mov	DWORD PTR [ebp+72], eax
	mov	DWORD PTR [eax+8], ecx

; 188  : 	this->m_gameMode	= NULL;
; 189  : 	this->m_weatherMgr	= NULL;
; 190  : 	this->m_gamelogFile	= NULL;
; 191  : 	remove(GAMELOG_FILENAME);

	push	OFFSET ??_C@_0M@BPABCLGK@gamelog?4txt?$AA@
	mov	BYTE PTR __$EHRec$[esp+68], 1
	mov	DWORD PTR [ebp+40], edi
	mov	DWORD PTR [ebp+48], edi
	mov	DWORD PTR [ebp+44], edi
	call	_remove
	add	esp, 4

; 192  : 
; 193  : 	gzChatCommand_Reg<gzChat_SetSpeed>   gzChat_SetSpeed_Reg("!setspeed,!ss");

	push	edi
	push	edi
	push	3
	push	OFFSET ??_C@_0O@PGDMLOEI@?$CBsetspeed?0?$CBss?$AA@
	lea	ecx, DWORD PTR _gzChat_SetSpeed_Reg$[esp+72]
	call	??0?$gzChatCommand_Reg@VgzChat_SetSpeed@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_SetSpeed>::gzChatCommand_Reg<gzChat_SetSpeed>

; 194  : 	gzChatCommand_Reg<gzChat_Time>       gzChat_Time_Reg("!time");

	push	edi
	push	edi
	push	3
	push	OFFSET ??_C@_05JADELBNI@?$CBtime?$AA@
	lea	ecx, DWORD PTR _gzChat_Time_Reg$[esp+72]
	call	??0?$gzChatCommand_Reg@VgzChat_Time@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_Time>::gzChatCommand_Reg<gzChat_Time>

; 195  : 	gzChatCommand_Reg<gzChat_Donate>     gzChat_Donate_Reg("!d,!donate");

	push	edi
	push	edi
	push	3
	push	OFFSET ??_C@_0L@DCMOHKCM@?$CBd?0?$CBdonate?$AA@
	lea	ecx, DWORD PTR _gzChat_Donate_Reg$[esp+72]
	call	??0?$gzChatCommand_Reg@VgzChat_Donate@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_Donate>::gzChatCommand_Reg<gzChat_Donate>

; 196  : 	gzChatCommand_Reg<gzChat_TeamDonate> gzChat_TeamDonate_Reg("!tdonate");

	push	edi
	push	edi
	push	3
	push	OFFSET ??_C@_08MMNHDBIG@?$CBtdonate?$AA@
	lea	ecx, DWORD PTR _gzChat_TeamDonate_Reg$[esp+72]
	call	??0?$gzChatCommand_Reg@VgzChat_TeamDonate@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_TeamDonate>::gzChatCommand_Reg<gzChat_TeamDonate>

; 197  : 	gzChatCommand_Reg<gzChat_Parachute> gzChat_Parachute_Reg("!p,!para,!parachute", MSG_ALL | MSG_TEAM, "Parachute");

	push	edi
	push	OFFSET ??_C@_09BNHMBLCC@Parachute?$AA@
	push	3
	push	OFFSET ??_C@_0BE@PHHPIGLO@?$CBp?0?$CBpara?0?$CBparachute?$AA@
	lea	ecx, DWORD PTR _gzChat_Parachute_Reg$[esp+72]
	call	??0?$gzChatCommand_Reg@VgzChat_Parachute@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_Parachute>::gzChatCommand_Reg<gzChat_Parachute>

; 198  : 
; 199  : #if ISDEV()
; 200  : 	gzChatCommand_Reg<gzChat_UseFDSCmd> gzChat_UseFDSCmd_Reg("!fds");

	push	edi
	push	edi
	push	3
	push	OFFSET ??_C@_04JAPNOPEA@?$CBfds?$AA@
	lea	ecx, DWORD PTR _gzChat_UseFDSCmd_Reg$[esp+72]
	call	??0?$gzChatCommand_Reg@VgzChat_UseFDSCmd@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_UseFDSCmd>::gzChatCommand_Reg<gzChat_UseFDSCmd>

; 201  : #endif
; 202  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+56]
	pop	edi
	pop	esi
	mov	eax, ebp
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 40					; 00000028H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzGameManager@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__unwindfunclet$??0gzGameManager@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 56					; 00000038H
	jmp	??1?$aVector@UstObserverDataStruct@@@@UAE@XZ ; aVector<stObserverDataStruct>::~aVector<stObserverDataStruct>
__unwindfunclet$??0gzGameManager@@QAE@XZ$2:
	mov	eax, DWORD PTR $T71018[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$??0gzGameManager@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzGameManager@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzGameManager@@QAE@XZ ENDP				; gzGameManager::gzGameManager
PUBLIC	??_C@_0O@FMKCJIGA@gzGameManager?$AA@		; `string'
;	COMDAT ??_C@_0O@FMKCJIGA@gzGameManager?$AA@
; File d:\source code\stgm\stgame.h
CONST	SEGMENT
??_C@_0O@FMKCJIGA@gzGameManager?$AA@ DB 'gzGameManager', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzGameManager@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzGameManager@@UAEPBDXZ PROC			; gzGameManager::GetName, COMDAT
; _this$ = ecx

; 101  : 		return "gzGameManager";

	mov	eax, OFFSET ??_C@_0O@FMKCJIGA@gzGameManager?$AA@

; 102  : 	};

	ret	0
?GetName@gzGameManager@@UAEPBDXZ ENDP			; gzGameManager::GetName
_TEXT	ENDS
PUBLIC	??1gzGameManager@@UAE@XZ			; gzGameManager::~gzGameManager
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzGameManager@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzGameManager@@UAE@XZ$0
__ehfuncinfo$??1gzGameManager@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzGameManager@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzGameManager@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzGameManager@@UAE@XZ PROC				; gzGameManager::~gzGameManager, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzGameManager@@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
	xor	edi, edi
	cmp	DWORD PTR [esi+60], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	mov	DWORD PTR [esi+56], OFFSET ??_7?$aVector@UstObserverDataStruct@@@@6B@
	je	SHORT $LN7@gzGameMana@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+60]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+60], edi
$LN7@gzGameMana@2:
	mov	ecx, esi
	mov	DWORD PTR [esi+64], edi
	mov	DWORD PTR [esi+68], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	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$??1gzGameManager@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__ehhandler$??1gzGameManager@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzGameManager@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzGameManager@@UAE@XZ ENDP				; gzGameManager::~gzGameManager
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzGameManager@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzGameManager@@UAEPAXI@Z PROC			; gzGameManager::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzGameManager@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@26
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@26:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzGameManager@@UAEPAXI@Z ENDP			; gzGameManager::`scalar deleting destructor'
_TEXT	ENDS
EXTRN	_atexit:PROC
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stinc.h
;	COMDAT ??__EgzCritical@@YAXXZ
text$yc	SEGMENT
??__EgzCritical@@YAXXZ PROC				; `dynamic initializer for 'gzCritical'', COMDAT

; 67   : static aCriticalSection gzCritical;

	push	OFFSET _gzCritical
	call	DWORD PTR __imp__InitializeCriticalSection@4
	push	OFFSET ??__FgzCritical@@YAXXZ		; `dynamic atexit destructor for 'gzCritical''
	call	_atexit
	pop	ecx
	ret	0
??__EgzCritical@@YAXXZ ENDP				; `dynamic initializer for 'gzCritical''
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.cpp
text$yc	ENDS
;	COMDAT ??__EgzGamelogObserver_Reg@@YAXXZ
text$yc	SEGMENT
??__EgzGamelogObserver_Reg@@YAXXZ PROC			; `dynamic initializer for 'gzGamelogObserver_Reg'', COMDAT

; 963  : nc_ScriptRegistrant<gzGamelogObserver> gzGamelogObserver_Reg("gzGamelogObserver", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BC@JNGANIHG@gzGamelogObserver?$AA@
	mov	ecx, OFFSET ?gzGamelogObserver_Reg@@3V?$nc_ScriptRegistrant@VgzGamelogObserver@@@@A ; gzGamelogObserver_Reg
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzGamelogObserver_Reg@@YAXXZ ; `dynamic atexit destructor for 'gzGamelogObserver_Reg''
	mov	DWORD PTR ?gzGamelogObserver_Reg@@3V?$nc_ScriptRegistrant@VgzGamelogObserver@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzGamelogObserver@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzGamelogObserver_Reg@@YAXXZ ENDP			; `dynamic initializer for 'gzGamelogObserver_Reg''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EgzBuilding_Registrant@@YAXXZ
text$yc	SEGMENT
??__EgzBuilding_Registrant@@YAXXZ PROC			; `dynamic initializer for 'gzBuilding_Registrant'', COMDAT

; 1051 : nc_ScriptRegistrant<gzObserverBuilding> gzBuilding_Registrant("gzObserverBuilding", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BD@BAJHFLFM@gzObserverBuilding?$AA@
	mov	ecx, OFFSET ?gzBuilding_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverBuilding@@@@A ; gzBuilding_Registrant
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzBuilding_Registrant@@YAXXZ ; `dynamic atexit destructor for 'gzBuilding_Registrant''
	mov	DWORD PTR ?gzBuilding_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverBuilding@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverBuilding@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzBuilding_Registrant@@YAXXZ ENDP			; `dynamic initializer for 'gzBuilding_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EgzObelisk_Powerup_Reg@@YAXXZ
text$yc	SEGMENT
??__EgzObelisk_Powerup_Reg@@YAXXZ PROC			; `dynamic initializer for 'gzObelisk_Powerup_Reg'', COMDAT

; 1085 : nc_ScriptRegistrant<gzObelisk_Powerup> gzObelisk_Powerup_Reg("gzObelisk_Powerup", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BC@JLELKGGA@gzObelisk_Powerup?$AA@
	mov	ecx, OFFSET ?gzObelisk_Powerup_Reg@@3V?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@A ; gzObelisk_Powerup_Reg
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObelisk_Powerup_Reg@@YAXXZ ; `dynamic atexit destructor for 'gzObelisk_Powerup_Reg''
	mov	DWORD PTR ?gzObelisk_Powerup_Reg@@3V?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObelisk_Powerup_Reg@@YAXXZ ENDP			; `dynamic initializer for 'gzObelisk_Powerup_Reg''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EgzObserver_Parachute_Reg@@YAXXZ
text$yc	SEGMENT
??__EgzObserver_Parachute_Reg@@YAXXZ PROC		; `dynamic initializer for 'gzObserver_Parachute_Reg'', COMDAT

; 1169 : nc_ScriptRegistrant<gzObserver_Parachute> gzObserver_Parachute_Reg("gzObserver_Parachute", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BF@DJMJHDPB@gzObserver_Parachute?$AA@
	mov	ecx, OFFSET ?gzObserver_Parachute_Reg@@3V?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@A ; gzObserver_Parachute_Reg
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserver_Parachute_Reg@@YAXXZ ; `dynamic atexit destructor for 'gzObserver_Parachute_Reg''
	mov	DWORD PTR ?gzObserver_Parachute_Reg@@3V?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserver_Parachute_Reg@@YAXXZ ENDP		; `dynamic initializer for 'gzObserver_Parachute_Reg''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EgzObserver_Nod_Obelisk_Reg@@YAXXZ
text$yc	SEGMENT
??__EgzObserver_Nod_Obelisk_Reg@@YAXXZ PROC		; `dynamic initializer for 'gzObserver_Nod_Obelisk_Reg'', COMDAT

; 1207 : nc_ScriptRegistrant<gzObserver_Nod_Obelisk> gzObserver_Nod_Obelisk_Reg("gzObserver_Nod_Obelisk", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BH@HMDABLOK@gzObserver_Nod_Obelisk?$AA@
	mov	ecx, OFFSET ?gzObserver_Nod_Obelisk_Reg@@3V?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@A ; gzObserver_Nod_Obelisk_Reg
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserver_Nod_Obelisk_Reg@@YAXXZ ; `dynamic atexit destructor for 'gzObserver_Nod_Obelisk_Reg''
	mov	DWORD PTR ?gzObserver_Nod_Obelisk_Reg@@3V?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserver_Nod_Obelisk_Reg@@YAXXZ ENDP		; `dynamic initializer for 'gzObserver_Nod_Obelisk_Reg''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Ebuildinginfo@@YAXXZ
text$yc	SEGMENT
??__Ebuildinginfo@@YAXXZ PROC				; `dynamic initializer for 'buildinginfo'', COMDAT

; 1514 : BuildingsInfoConsoleFunction buildinginfo;

	mov	ecx, OFFSET ?buildinginfo@@3VBuildingsInfoConsoleFunction@@A ; buildinginfo
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?buildinginfo@@3VBuildingsInfoConsoleFunction@@A, OFFSET ??_7BuildingsInfoConsoleFunction@@6B@ ; buildinginfo
	ret	0
??__Ebuildinginfo@@YAXXZ ENDP				; `dynamic initializer for 'buildinginfo''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Eplayerlimit@@YAXXZ
text$yc	SEGMENT
??__Eplayerlimit@@YAXXZ PROC				; `dynamic initializer for 'playerlimit'', COMDAT

; 1542 : PlayerLimitConsoleFunction playerlimit;

	mov	ecx, OFFSET ?playerlimit@@3VPlayerLimitConsoleFunction@@A ; playerlimit
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?playerlimit@@3VPlayerLimitConsoleFunction@@A, OFFSET ??_7PlayerLimitConsoleFunction@@6B@ ; playerlimit
	ret	0
??__Eplayerlimit@@YAXXZ ENDP				; `dynamic initializer for 'playerlimit''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__FgzCritical@@YAXXZ
text$yd	SEGMENT
??__FgzCritical@@YAXXZ PROC				; `dynamic atexit destructor for 'gzCritical'', COMDAT
	push	OFFSET _gzCritical
	call	DWORD PTR __imp__DeleteCriticalSection@4
	ret	0
??__FgzCritical@@YAXXZ ENDP				; `dynamic atexit destructor for 'gzCritical''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzGamelogObserver_Reg@@YAXXZ
text$yd	SEGMENT
??__FgzGamelogObserver_Reg@@YAXXZ PROC			; `dynamic atexit destructor for 'gzGamelogObserver_Reg'', COMDAT
	mov	ecx, OFFSET ?gzGamelogObserver_Reg@@3V?$nc_ScriptRegistrant@VgzGamelogObserver@@@@A ; gzGamelogObserver_Reg
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzGamelogObserver_Reg@@YAXXZ ENDP			; `dynamic atexit destructor for 'gzGamelogObserver_Reg''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzBuilding_Registrant@@YAXXZ
text$yd	SEGMENT
??__FgzBuilding_Registrant@@YAXXZ PROC			; `dynamic atexit destructor for 'gzBuilding_Registrant'', COMDAT
	mov	ecx, OFFSET ?gzBuilding_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverBuilding@@@@A ; gzBuilding_Registrant
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzBuilding_Registrant@@YAXXZ ENDP			; `dynamic atexit destructor for 'gzBuilding_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObelisk_Powerup_Reg@@YAXXZ
text$yd	SEGMENT
??__FgzObelisk_Powerup_Reg@@YAXXZ PROC			; `dynamic atexit destructor for 'gzObelisk_Powerup_Reg'', COMDAT
	mov	ecx, OFFSET ?gzObelisk_Powerup_Reg@@3V?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@A ; gzObelisk_Powerup_Reg
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObelisk_Powerup_Reg@@YAXXZ ENDP			; `dynamic atexit destructor for 'gzObelisk_Powerup_Reg''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObserver_Parachute_Reg@@YAXXZ
text$yd	SEGMENT
??__FgzObserver_Parachute_Reg@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserver_Parachute_Reg'', COMDAT
	mov	ecx, OFFSET ?gzObserver_Parachute_Reg@@3V?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@A ; gzObserver_Parachute_Reg
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserver_Parachute_Reg@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserver_Parachute_Reg''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObserver_Nod_Obelisk_Reg@@YAXXZ
text$yd	SEGMENT
??__FgzObserver_Nod_Obelisk_Reg@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserver_Nod_Obelisk_Reg'', COMDAT
	mov	ecx, OFFSET ?gzObserver_Nod_Obelisk_Reg@@3V?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@A ; gzObserver_Nod_Obelisk_Reg
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserver_Nod_Obelisk_Reg@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserver_Nod_Obelisk_Reg''
text$yd	ENDS
PUBLIC	?gzBuilding_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverBuilding@@@@A ; gzBuilding_Registrant
PUBLIC	?gzObserver_Parachute_Reg@@3V?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@A ; gzObserver_Parachute_Reg
PUBLIC	?gzObelisk_Powerup_Reg@@3V?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@A ; gzObelisk_Powerup_Reg
PUBLIC	?gzObserver_Nod_Obelisk_Reg@@3V?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@A ; gzObserver_Nod_Obelisk_Reg
PUBLIC	?gzGamelogObserver_Reg@@3V?$nc_ScriptRegistrant@VgzGamelogObserver@@@@A ; gzGamelogObserver_Reg
PUBLIC	?playerlimit@@3VPlayerLimitConsoleFunction@@A	; playerlimit
PUBLIC	?buildinginfo@@3VBuildingsInfoConsoleFunction@@A ; buildinginfo
_BSS	SEGMENT
?gzBuilding_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverBuilding@@@@A DB 010H DUP (?) ; gzBuilding_Registrant
?gzObserver_Parachute_Reg@@3V?$nc_ScriptRegistrant@VgzObserver_Parachute@@@@A DB 010H DUP (?) ; gzObserver_Parachute_Reg
?gzObelisk_Powerup_Reg@@3V?$nc_ScriptRegistrant@VgzObelisk_Powerup@@@@A DB 010H DUP (?) ; gzObelisk_Powerup_Reg
?gzObserver_Nod_Obelisk_Reg@@3V?$nc_ScriptRegistrant@VgzObserver_Nod_Obelisk@@@@A DB 010H DUP (?) ; gzObserver_Nod_Obelisk_Reg
?gzGamelogObserver_Reg@@3V?$nc_ScriptRegistrant@VgzGamelogObserver@@@@A DB 010H DUP (?) ; gzGamelogObserver_Reg
?playerlimit@@3VPlayerLimitConsoleFunction@@A DD 01H DUP (?) ; playerlimit
?buildinginfo@@3VBuildingsInfoConsoleFunction@@A DD 01H DUP (?) ; buildinginfo
_gzCritical DB	018H DUP (?)
_BSS	ENDS
CRT$XCU	SEGMENT
_gzCritical$initializer$ DD FLAT:??__EgzCritical@@YAXXZ
_gzGamelogObserver_Reg$initializer$ DD FLAT:??__EgzGamelogObserver_Reg@@YAXXZ
_gzBuilding_Registrant$initializer$ DD FLAT:??__EgzBuilding_Registrant@@YAXXZ
_gzObelisk_Powerup_Reg$initializer$ DD FLAT:??__EgzObelisk_Powerup_Reg@@YAXXZ
_gzObserver_Parachute_Reg$initializer$ DD FLAT:??__EgzObserver_Parachute_Reg@@YAXXZ
_gzObserver_Nod_Obelisk_Reg$initializer$ DD FLAT:??__EgzObserver_Nod_Obelisk_Reg@@YAXXZ
_buildinginfo$initializer$ DD FLAT:??__Ebuildinginfo@@YAXXZ
_playerlimit$initializer$ DD FLAT:??__Eplayerlimit@@YAXXZ
CRT$XCU	ENDS
END
