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

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

INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES

PUBLIC	??_C@_0P@GHFPNOJB@bad?5allocation?$AA@		; `string'
PUBLIC	?collate@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::collate
PUBLIC	?ctype@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::ctype
PUBLIC	?monetary@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::monetary
PUBLIC	?numeric@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::numeric
PUBLIC	?time@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::time
PUBLIC	?messages@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::messages
PUBLIC	?all@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::all
PUBLIC	?none@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::none
PUBLIC	?table_size@?$ctype@D@std@@2IB			; std::ctype<char>::table_size
PUBLIC	?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::skipws
PUBLIC	?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::unitbuf
PUBLIC	?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::uppercase
PUBLIC	?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showbase
PUBLIC	?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpoint
PUBLIC	?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpos
PUBLIC	?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::left
PUBLIC	?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::right
PUBLIC	?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::internal
PUBLIC	?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::dec
PUBLIC	?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::oct
PUBLIC	?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::hex
PUBLIC	?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::scientific
PUBLIC	?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::fixed
PUBLIC	?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::boolalpha
PUBLIC	?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::_Stdio
PUBLIC	?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::adjustfield
PUBLIC	?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::basefield
PUBLIC	?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::floatfield
PUBLIC	?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::goodbit
PUBLIC	?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::eofbit
PUBLIC	?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::failbit
PUBLIC	?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::badbit
PUBLIC	?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::_Hardfail
PUBLIC	?in@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::in
PUBLIC	?out@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::out
PUBLIC	?ate@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::ate
PUBLIC	?app@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::app
PUBLIC	?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::trunc
PUBLIC	?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Nocreate
PUBLIC	?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Noreplace
PUBLIC	?binary@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::binary
PUBLIC	?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::beg
PUBLIC	?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::cur
PUBLIC	?end@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::end
PUBLIC	?gzPlayerMgr@@3PAVgzPlayerManager@@A		; gzPlayerMgr
PUBLIC	?gzSerialMgr@@3PAVgzSerialManager@@A		; gzSerialMgr
_BSS	SEGMENT
?gzPlayerMgr@@3PAVgzPlayerManager@@A DD 01H DUP (?)	; gzPlayerMgr
?gzSerialMgr@@3PAVgzSerialManager@@A DD 01H DUP (?)	; gzSerialMgr
_BSS	ENDS
;	COMDAT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?end@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 02H		; std::_Iosb<int>::end
CONST	ENDS
;	COMDAT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 01H		; std::_Iosb<int>::cur
CONST	ENDS
;	COMDAT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 00H		; std::_Iosb<int>::beg
CONST	ENDS
;	COMDAT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?binary@?$_Iosb@H@std@@2W4_Openmode@12@B DD 020H	; std::_Iosb<int>::binary
CONST	ENDS
;	COMDAT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B DD 080H	; std::_Iosb<int>::_Noreplace
CONST	ENDS
;	COMDAT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 040H	; std::_Iosb<int>::_Nocreate
CONST	ENDS
;	COMDAT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B DD 010H		; std::_Iosb<int>::trunc
CONST	ENDS
;	COMDAT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?app@?$_Iosb@H@std@@2W4_Openmode@12@B DD 08H		; std::_Iosb<int>::app
CONST	ENDS
;	COMDAT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?ate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 04H		; std::_Iosb<int>::ate
CONST	ENDS
;	COMDAT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?out@?$_Iosb@H@std@@2W4_Openmode@12@B DD 02H		; std::_Iosb<int>::out
CONST	ENDS
;	COMDAT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?in@?$_Iosb@H@std@@2W4_Openmode@12@B DD 01H		; std::_Iosb<int>::in
CONST	ENDS
;	COMDAT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B DD 010H	; std::_Iosb<int>::_Hardfail
CONST	ENDS
;	COMDAT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 04H		; std::_Iosb<int>::badbit
CONST	ENDS
;	COMDAT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 02H		; std::_Iosb<int>::failbit
CONST	ENDS
;	COMDAT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 01H		; std::_Iosb<int>::eofbit
CONST	ENDS
;	COMDAT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 00H		; std::_Iosb<int>::goodbit
CONST	ENDS
;	COMDAT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 03000H	; std::_Iosb<int>::floatfield
CONST	ENDS
;	COMDAT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0e00H	; std::_Iosb<int>::basefield
CONST	ENDS
;	COMDAT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01c0H	; std::_Iosb<int>::adjustfield
CONST	ENDS
;	COMDAT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08000H	; std::_Iosb<int>::_Stdio
CONST	ENDS
;	COMDAT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04000H	; std::_Iosb<int>::boolalpha
CONST	ENDS
;	COMDAT ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02000H	; std::_Iosb<int>::fixed
CONST	ENDS
;	COMDAT ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01000H	; std::_Iosb<int>::scientific
CONST	ENDS
;	COMDAT ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0800H		; std::_Iosb<int>::hex
CONST	ENDS
;	COMDAT ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0400H		; std::_Iosb<int>::oct
CONST	ENDS
;	COMDAT ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0200H		; std::_Iosb<int>::dec
CONST	ENDS
;	COMDAT ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0100H	; std::_Iosb<int>::internal
CONST	ENDS
;	COMDAT ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 080H		; std::_Iosb<int>::right
CONST	ENDS
;	COMDAT ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 040H		; std::_Iosb<int>::left
CONST	ENDS
;	COMDAT ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 020H	; std::_Iosb<int>::showpos
CONST	ENDS
;	COMDAT ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 010H	; std::_Iosb<int>::showpoint
CONST	ENDS
;	COMDAT ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08H	; std::_Iosb<int>::showbase
CONST	ENDS
;	COMDAT ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04H	; std::_Iosb<int>::uppercase
CONST	ENDS
;	COMDAT ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02H	; std::_Iosb<int>::unitbuf
CONST	ENDS
;	COMDAT ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01H		; std::_Iosb<int>::skipws
CONST	ENDS
;	COMDAT ?table_size@?$ctype@D@std@@2IB
CONST	SEGMENT
?table_size@?$ctype@D@std@@2IB DD 0100H			; std::ctype<char>::table_size
CONST	ENDS
;	COMDAT ?none@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?none@?$_Locbase@H@std@@2HB DD 00H			; std::_Locbase<int>::none
CONST	ENDS
;	COMDAT ?all@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?all@?$_Locbase@H@std@@2HB DD 03fH			; std::_Locbase<int>::all
CONST	ENDS
;	COMDAT ?messages@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?messages@?$_Locbase@H@std@@2HB DD 020H			; std::_Locbase<int>::messages
CONST	ENDS
;	COMDAT ?time@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?time@?$_Locbase@H@std@@2HB DD 010H			; std::_Locbase<int>::time
CONST	ENDS
;	COMDAT ?numeric@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?numeric@?$_Locbase@H@std@@2HB DD 08H			; std::_Locbase<int>::numeric
CONST	ENDS
;	COMDAT ?monetary@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?monetary@?$_Locbase@H@std@@2HB DD 04H			; std::_Locbase<int>::monetary
CONST	ENDS
;	COMDAT ?ctype@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?ctype@?$_Locbase@H@std@@2HB DD 02H			; std::_Locbase<int>::ctype
CONST	ENDS
;	COMDAT ?collate@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?collate@?$_Locbase@H@std@@2HB DD 01H			; std::_Locbase<int>::collate
CONST	ENDS
_DATA	SEGMENT
__bad_alloc_Message DD FLAT:??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
_DATA	ENDS
;	COMDAT ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
CONST	SEGMENT
??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ DB 'bad allocation', 00H ; `string'
CONST	ENDS
PUBLIC	?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	?GetBuffer@aStringData@@QAEPAXXZ		; aStringData::GetBuffer
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	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	?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	??BaString@@QAEQBDXZ				; aString::operator char const * const
; Function compile flags: /Ogtpy
;	COMDAT ??BaString@@QAEQBDXZ
_TEXT	SEGMENT
??BaString@@QAEQBDXZ PROC				; aString::operator char const * const, COMDAT
; _this$ = ecx

; 154  : 	operator const char* const() { return this->GetString(); };

	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	je	SHORT $LN5@operator
	mov	eax, DWORD PTR [eax]
	ret	0
$LN5@operator:
	xor	eax, eax
	ret	0
??BaString@@QAEQBDXZ ENDP				; aString::operator char const * const
_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	??_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	??_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@aWideString@@UBEIXZ			; aWideString::CharSize
EXTRN	??0aStringBase@@QAE@ABV0@@Z:PROC		; aStringBase::aStringBase
EXTRN	??_EaWideString@@UAEPAXI@Z:PROC			; aWideString::`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@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	??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	?Get_Int@aRandom@@QAEJJJ@Z			; aRandom::Get_Int
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Int@aRandom@@QAEJJJ@Z
_TEXT	SEGMENT
_Min$ = 8						; size = 4
_Max$ = 12						; size = 4
?Get_Int@aRandom@@QAEJJJ@Z PROC				; aRandom::Get_Int, COMDAT
; _this$ = ecx

; 46   : 		if (Min == Max)

	mov	eax, DWORD PTR _Min$[esp-4]
	push	esi
	mov	esi, DWORD PTR _Max$[esp]
	cmp	eax, esi

; 47   : 			return Min;

	je	SHORT $LN3@Get_Int
	push	edi

; 48   : 		long Minimum = Min, Maximum = Max;

	mov	edi, eax

; 49   : 		if (Min > Max)

	jle	SHORT $LN1@Get_Int

; 50   : 		{
; 51   : 			Minimum = Max;

	mov	edi, esi

; 52   : 			Maximum = Min;

	mov	esi, eax
$LN1@Get_Int:

; 53   : 		}
; 54   : 		return Minimum + this->Get() % ((Maximum +1) - Minimum);

	mov	eax, DWORD PTR [ecx]
	cmp	eax, 64					; 00000040H
	lea	edx, DWORD PTR [eax+1]
	mov	DWORD PTR [ecx], edx
	jle	SHORT $LN5@Get_Int
	mov	DWORD PTR [ecx], 1
$LN5@Get_Int:
	mov	eax, DWORD PTR [ecx+4]
	imul	eax, 22695475				; 015a4e33H
	add	eax, DWORD PTR [ecx]
	sub	esi, edi
	mov	DWORD PTR [ecx+4], eax
	movzx	eax, WORD PTR [ecx+6]
	add	esi, 1
	xor	edx, edx
	div	esi
	mov	eax, edx
	add	eax, edi
	pop	edi
$LN3@Get_Int:
	pop	esi

; 55   : 	};

	ret	8
?Get_Int@aRandom@@QAEJJJ@Z ENDP				; aRandom::Get_Int
_TEXT	ENDS
PUBLIC	_floorf
EXTRN	__fltused:DWORD
EXTRN	_floor:PROC
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\math.h
;	COMDAT _floorf
_TEXT	SEGMENT
__X$ = 8						; size = 4
_floorf	PROC						; COMDAT

; 405  :         {return ((float)floor((double)_X)); }

	fld	DWORD PTR __X$[esp-4]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	call	_floor
	add	esp, 8
	ret	0
_floorf	ENDP
_TEXT	ENDS
PUBLIC	?floor@@YAMM@Z					; floor
; Function compile flags: /Ogtpy
;	COMDAT ?floor@@YAMM@Z
_TEXT	SEGMENT
__X$ = 8						; size = 4
?floor@@YAMM@Z PROC					; floor, COMDAT

; 512  :         {return (floorf(_X)); }

	fld	DWORD PTR __X$[esp-4]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	call	_floor
	add	esp, 8
	ret	0
?floor@@YAMM@Z ENDP					; floor
_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_WideStringClass@@QAE@XZ			; nc_WideStringClass::nc_WideStringClass
EXTRN	?m_EmptyString@nc_WideStringClass@@2PAPA_WA:DWORD ; nc_WideStringClass::m_EmptyString
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_string.h
;	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	??4nc_FloatDataSafeClass@@QAEXM@Z		; nc_FloatDataSafeClass::operator=
EXTRN	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z:PROC	; nc_FloatDataSafeClass::Set
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_def.h
;	COMDAT ??4nc_FloatDataSafeClass@@QAEXM@Z
_TEXT	SEGMENT
_value$ = 8						; size = 4
??4nc_FloatDataSafeClass@@QAEXM@Z PROC			; nc_FloatDataSafeClass::operator=, COMDAT
; _this$ = ecx

; 235  : 	void operator=(float value) { this->Set(value); }

	lea	eax, DWORD PTR _value$[esp-4]
	push	eax
	push	ecx
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set
	ret	4
??4nc_FloatDataSafeClass@@QAEXM@Z ENDP			; nc_FloatDataSafeClass::operator=
_TEXT	ENDS
PUBLIC	??4nc_IntDataSafeClass@@QAEXH@Z			; nc_IntDataSafeClass::operator=
EXTRN	?Set@nc_IntDataSafeClass@@QAG_NAAH@Z:PROC	; nc_IntDataSafeClass::Set
; Function compile flags: /Ogtpy
;	COMDAT ??4nc_IntDataSafeClass@@QAEXH@Z
_TEXT	SEGMENT
_value$ = 8						; size = 4
??4nc_IntDataSafeClass@@QAEXH@Z PROC			; nc_IntDataSafeClass::operator=, COMDAT
; _this$ = ecx

; 265  : 	void operator=(int value) { this->Set(value); }

	lea	eax, DWORD PTR _value$[esp-4]
	push	eax
	push	ecx
	call	?Set@nc_IntDataSafeClass@@QAG_NAAH@Z	; nc_IntDataSafeClass::Set
	ret	4
??4nc_IntDataSafeClass@@QAEXH@Z ENDP			; nc_IntDataSafeClass::operator=
_TEXT	ENDS
PUBLIC	?GetInt@gzEventBase@@QAEHXZ			; gzEventBase::GetInt
; Function compile flags: /Ogtpy
; File d:\source code\stgm\steventbase.h
;	COMDAT ?GetInt@gzEventBase@@QAEHXZ
_TEXT	SEGMENT
?GetInt@gzEventBase@@QAEHXZ PROC			; gzEventBase::GetInt, COMDAT
; _this$ = ecx

; 101  : 		return this->m_dataInt;

	mov	eax, DWORD PTR [ecx+16]

; 102  : 	};

	ret	0
?GetInt@gzEventBase@@QAEHXZ ENDP			; gzEventBase::GetInt
_TEXT	ENDS
PUBLIC	?SetInt@gzEventBase@@QAEXH@Z			; gzEventBase::SetInt
; Function compile flags: /Ogtpy
;	COMDAT ?SetInt@gzEventBase@@QAEXH@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?SetInt@gzEventBase@@QAEXH@Z PROC			; gzEventBase::SetInt, COMDAT
; _this$ = ecx

; 105  : 		this->m_dataInt = data;

	mov	eax, DWORD PTR _data$[esp-4]
	mov	DWORD PTR [ecx+16], eax

; 106  : 	};

	ret	4
?SetInt@gzEventBase@@QAEXH@Z ENDP			; gzEventBase::SetInt
_TEXT	ENDS
PUBLIC	?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ ; gzEventPlayerBase::GetPlayer
; Function compile flags: /Ogtpy
;	COMDAT ?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ
_TEXT	SEGMENT
?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ PROC	; gzEventPlayerBase::GetPlayer, COMDAT
; _this$ = ecx

; 134  : 		return this->m_player;

	mov	eax, DWORD PTR [ecx+24]

; 135  : 	};

	ret	0
?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ ENDP	; gzEventPlayerBase::GetPlayer
_TEXT	ENDS
PUBLIC	?Skip@stEventSkippable@gzEventPlayerBandwidth@@QAEXXZ ; gzEventPlayerBandwidth::stEventSkippable::Skip
; Function compile flags: /Ogtpy
;	COMDAT ?Skip@stEventSkippable@gzEventPlayerBandwidth@@QAEXXZ
_TEXT	SEGMENT
?Skip@stEventSkippable@gzEventPlayerBandwidth@@QAEXXZ PROC ; gzEventPlayerBandwidth::stEventSkippable::Skip, COMDAT
; _this$ = ecx

; 178  : 	EVT_SKIPPABLE();

	mov	BYTE PTR [ecx], 0
	ret	0
?Skip@stEventSkippable@gzEventPlayerBandwidth@@QAEXXZ ENDP ; gzEventPlayerBandwidth::stEventSkippable::Skip
_TEXT	ENDS
PUBLIC	?Skip@gzEventPlayerBandwidth@@QAEXXZ		; gzEventPlayerBandwidth::Skip
; Function compile flags: /Ogtpy
;	COMDAT ?Skip@gzEventPlayerBandwidth@@QAEXXZ
_TEXT	SEGMENT
?Skip@gzEventPlayerBandwidth@@QAEXXZ PROC		; gzEventPlayerBandwidth::Skip, COMDAT
; _this$ = ecx

; 178  : 	EVT_SKIPPABLE();

	mov	BYTE PTR [ecx+32], 0
	ret	0
?Skip@gzEventPlayerBandwidth@@QAEXXZ ENDP		; gzEventPlayerBandwidth::Skip
_TEXT	ENDS
PUBLIC	?Skip@stEventSkippable@gzEventObjectDamage@@QAEXXZ ; gzEventObjectDamage::stEventSkippable::Skip
; Function compile flags: /Ogtpy
;	COMDAT ?Skip@stEventSkippable@gzEventObjectDamage@@QAEXXZ
_TEXT	SEGMENT
?Skip@stEventSkippable@gzEventObjectDamage@@QAEXXZ PROC	; gzEventObjectDamage::stEventSkippable::Skip, COMDAT
; _this$ = ecx

; 222  : 	EVT_SKIPPABLE();

	mov	BYTE PTR [ecx], 0
	ret	0
?Skip@stEventSkippable@gzEventObjectDamage@@QAEXXZ ENDP	; gzEventObjectDamage::stEventSkippable::Skip
_TEXT	ENDS
PUBLIC	?Skip@gzEventObjectDamage@@QAEXXZ		; gzEventObjectDamage::Skip
; Function compile flags: /Ogtpy
;	COMDAT ?Skip@gzEventObjectDamage@@QAEXXZ
_TEXT	SEGMENT
?Skip@gzEventObjectDamage@@QAEXXZ PROC			; gzEventObjectDamage::Skip, COMDAT
; _this$ = ecx

; 222  : 	EVT_SKIPPABLE();

	mov	BYTE PTR [ecx+40], 0
	ret	0
?Skip@gzEventObjectDamage@@QAEXXZ ENDP			; gzEventObjectDamage::Skip
_TEXT	ENDS
PUBLIC	?GetPlayer@gzEventBhsBase@@QAEPAVgzPlayer@@XZ	; gzEventBhsBase::GetPlayer
; Function compile flags: /Ogtpy
;	COMDAT ?GetPlayer@gzEventBhsBase@@QAEPAVgzPlayer@@XZ
_TEXT	SEGMENT
?GetPlayer@gzEventBhsBase@@QAEPAVgzPlayer@@XZ PROC	; gzEventBhsBase::GetPlayer, COMDAT
; _this$ = ecx

; 322  : 		return this->m_player;

	mov	eax, DWORD PTR [ecx+24]

; 323  : 	};

	ret	0
?GetPlayer@gzEventBhsBase@@QAEPAVgzPlayer@@XZ ENDP	; gzEventBhsBase::GetPlayer
_TEXT	ENDS
PUBLIC	?GetPoked@gzEventBhsPoke@@QAEPAVnc_PhysicalGameObj@@XZ ; gzEventBhsPoke::GetPoked
; Function compile flags: /Ogtpy
;	COMDAT ?GetPoked@gzEventBhsPoke@@QAEPAVnc_PhysicalGameObj@@XZ
_TEXT	SEGMENT
?GetPoked@gzEventBhsPoke@@QAEPAVnc_PhysicalGameObj@@XZ PROC ; gzEventBhsPoke::GetPoked, COMDAT
; _this$ = ecx

; 339  : 		return this->m_pokedObj;

	mov	eax, DWORD PTR [ecx+32]

; 340  : 	};

	ret	0
?GetPoked@gzEventBhsPoke@@QAEPAVnc_PhysicalGameObj@@XZ ENDP ; gzEventBhsPoke::GetPoked
_TEXT	ENDS
PUBLIC	?GetVersion@gzEventBhsVersion@@QAEMXZ		; gzEventBhsVersion::GetVersion
; Function compile flags: /Ogtpy
;	COMDAT ?GetVersion@gzEventBhsVersion@@QAEMXZ
_TEXT	SEGMENT
?GetVersion@gzEventBhsVersion@@QAEMXZ PROC		; gzEventBhsVersion::GetVersion, COMDAT
; _this$ = ecx

; 352  : 		return this->m_version;

	fld	DWORD PTR [ecx+32]

; 353  : 	};

	ret	0
?GetVersion@gzEventBhsVersion@@QAEMXZ ENDP		; gzEventBhsVersion::GetVersion
_TEXT	ENDS
PUBLIC	?IsGameOver@gzGameManager@@QAE_NXZ		; gzGameManager::IsGameOver
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.h
;	COMDAT ?IsGameOver@gzGameManager@@QAE_NXZ
_TEXT	SEGMENT
?IsGameOver@gzGameManager@@QAE_NXZ PROC			; gzGameManager::IsGameOver, COMDAT
; _this$ = ecx

; 110  : 	bool IsGameOver() { return this->m_isWaitingNextMap; };

	mov	al, BYTE PTR [ecx+52]
	ret	0
?IsGameOver@gzGameManager@@QAE_NXZ ENDP			; gzGameManager::IsGameOver
_TEXT	ENDS
PUBLIC	?GetSettings@gzGameManager@@QAEPAVgzSettingsGameClass@@XZ ; gzGameManager::GetSettings
; Function compile flags: /Ogtpy
;	COMDAT ?GetSettings@gzGameManager@@QAEPAVgzSettingsGameClass@@XZ
_TEXT	SEGMENT
?GetSettings@gzGameManager@@QAEPAVgzSettingsGameClass@@XZ PROC ; gzGameManager::GetSettings, COMDAT
; _this$ = ecx

; 111  : 	gzSettingsGameClass *GetSettings() { return this->m_settings; };

	mov	eax, DWORD PTR [ecx+72]
	ret	0
?GetSettings@gzGameManager@@QAEPAVgzSettingsGameClass@@XZ ENDP ; gzGameManager::GetSettings
_TEXT	ENDS
PUBLIC	?GetHitLog@gzPlayer@@QAEPAVgzAntiCheatHitLog@@XZ ; gzPlayer::GetHitLog
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.h
;	COMDAT ?GetHitLog@gzPlayer@@QAEPAVgzAntiCheatHitLog@@XZ
_TEXT	SEGMENT
?GetHitLog@gzPlayer@@QAEPAVgzAntiCheatHitLog@@XZ PROC	; gzPlayer::GetHitLog, COMDAT
; _this$ = ecx

; 82   : 	inline gzAntiCheatHitLog *GetHitLog() { return this->m_antiCheatHitLog; };

	mov	eax, DWORD PTR [ecx+52]
	ret	0
?GetHitLog@gzPlayer@@QAEPAVgzAntiCheatHitLog@@XZ ENDP	; gzPlayer::GetHitLog
_TEXT	ENDS
PUBLIC	?GetWeaponPack@gzPlayer@@QAEPAVgzWeaponPackClass@@XZ ; gzPlayer::GetWeaponPack
; Function compile flags: /Ogtpy
;	COMDAT ?GetWeaponPack@gzPlayer@@QAEPAVgzWeaponPackClass@@XZ
_TEXT	SEGMENT
?GetWeaponPack@gzPlayer@@QAEPAVgzWeaponPackClass@@XZ PROC ; gzPlayer::GetWeaponPack, COMDAT
; _this$ = ecx

; 84   : 	inline gzWeaponPackClass *GetWeaponPack() { return this->m_weaponPack; };

	mov	eax, DWORD PTR [ecx+60]
	ret	0
?GetWeaponPack@gzPlayer@@QAEPAVgzWeaponPackClass@@XZ ENDP ; gzPlayer::GetWeaponPack
_TEXT	ENDS
PUBLIC	?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ	; gzPlayer::GetPlayerData
; Function compile flags: /Ogtpy
;	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	?IsActive@gzPlayer@@QAE_NXZ			; gzPlayer::IsActive
; Function compile flags: /Ogtpy
;	COMDAT ?IsActive@gzPlayer@@QAE_NXZ
_TEXT	SEGMENT
?IsActive@gzPlayer@@QAE_NXZ PROC			; gzPlayer::IsActive, COMDAT
; _this$ = ecx

; 89   : 	inline bool IsActive() { return this->m_isActive; };

	mov	al, BYTE PTR [ecx+88]
	ret	0
?IsActive@gzPlayer@@QAE_NXZ ENDP			; gzPlayer::IsActive
_TEXT	ENDS
PUBLIC	?SetIsActive@gzPlayer@@QAEX_N@Z			; gzPlayer::SetIsActive
; Function compile flags: /Ogtpy
;	COMDAT ?SetIsActive@gzPlayer@@QAEX_N@Z
_TEXT	SEGMENT
_isActive$ = 8						; size = 1
?SetIsActive@gzPlayer@@QAEX_N@Z PROC			; gzPlayer::SetIsActive, COMDAT
; _this$ = ecx

; 90   : 	inline void SetIsActive(bool isActive) { this->m_isActive = isActive; };

	mov	al, BYTE PTR _isActive$[esp-4]
	mov	BYTE PTR [ecx+88], al
	ret	4
?SetIsActive@gzPlayer@@QAEX_N@Z ENDP			; gzPlayer::SetIsActive
_TEXT	ENDS
PUBLIC	?IsLastPrimaryFire@gzPlayer@@QAE_NXZ		; gzPlayer::IsLastPrimaryFire
; Function compile flags: /Ogtpy
;	COMDAT ?IsLastPrimaryFire@gzPlayer@@QAE_NXZ
_TEXT	SEGMENT
?IsLastPrimaryFire@gzPlayer@@QAE_NXZ PROC		; gzPlayer::IsLastPrimaryFire, COMDAT
; _this$ = ecx

; 91   : 	inline bool IsLastPrimaryFire() { return this->m_primaryFire; };

	mov	al, BYTE PTR [ecx+100]
	ret	0
?IsLastPrimaryFire@gzPlayer@@QAE_NXZ ENDP		; gzPlayer::IsLastPrimaryFire
_TEXT	ENDS
PUBLIC	?SetAfkPrevScore@gzPlayer@@QAEXM@Z		; gzPlayer::SetAfkPrevScore
; Function compile flags: /Ogtpy
;	COMDAT ?SetAfkPrevScore@gzPlayer@@QAEXM@Z
_TEXT	SEGMENT
_score$ = 8						; size = 4
?SetAfkPrevScore@gzPlayer@@QAEXM@Z PROC			; gzPlayer::SetAfkPrevScore, COMDAT
; _this$ = ecx

; 93   : 	inline void SetAfkPrevScore(float score) { this->m_afk_prevScore = score; };

	fld	DWORD PTR _score$[esp-4]
	fstp	DWORD PTR [ecx+108]
	ret	4
?SetAfkPrevScore@gzPlayer@@QAEXM@Z ENDP			; gzPlayer::SetAfkPrevScore
_TEXT	ENDS
PUBLIC	?SetAfkTime@gzPlayer@@QAEXM@Z			; gzPlayer::SetAfkTime
; Function compile flags: /Ogtpy
;	COMDAT ?SetAfkTime@gzPlayer@@QAEXM@Z
_TEXT	SEGMENT
_second$ = 8						; size = 4
?SetAfkTime@gzPlayer@@QAEXM@Z PROC			; gzPlayer::SetAfkTime, COMDAT
; _this$ = ecx

; 95   : 	inline void SetAfkTime(float second) { this->m_afk_time = second; };

	fld	DWORD PTR _second$[esp-4]
	fstp	DWORD PTR [ecx+112]
	ret	4
?SetAfkTime@gzPlayer@@QAEXM@Z ENDP			; gzPlayer::SetAfkTime
_TEXT	ENDS
PUBLIC	?SetAfkIsWarnSent@gzPlayer@@QAEX_N@Z		; gzPlayer::SetAfkIsWarnSent
; Function compile flags: /Ogtpy
;	COMDAT ?SetAfkIsWarnSent@gzPlayer@@QAEX_N@Z
_TEXT	SEGMENT
_value$ = 8						; size = 1
?SetAfkIsWarnSent@gzPlayer@@QAEX_N@Z PROC		; gzPlayer::SetAfkIsWarnSent, COMDAT
; _this$ = ecx

; 97   : 	inline void SetAfkIsWarnSent(bool value) { this->m_afk_warnSent = value; };

	mov	al, BYTE PTR _value$[esp-4]
	mov	BYTE PTR [ecx+116], al
	ret	4
?SetAfkIsWarnSent@gzPlayer@@QAEX_N@Z ENDP		; gzPlayer::SetAfkIsWarnSent
_TEXT	ENDS
PUBLIC	?SetAfkDelay@gzPlayer@@QAEXM@Z			; gzPlayer::SetAfkDelay
; Function compile flags: /Ogtpy
;	COMDAT ?SetAfkDelay@gzPlayer@@QAEXM@Z
_TEXT	SEGMENT
_second$ = 8						; size = 4
?SetAfkDelay@gzPlayer@@QAEXM@Z PROC			; gzPlayer::SetAfkDelay, COMDAT
; _this$ = ecx

; 99   : 	inline void SetAfkDelay(float second) { this->m_afk_countDelay = second; };

	fld	DWORD PTR _second$[esp-4]
	fstp	DWORD PTR [ecx+120]
	ret	4
?SetAfkDelay@gzPlayer@@QAEXM@Z ENDP			; gzPlayer::SetAfkDelay
_TEXT	ENDS
PUBLIC	?SetIsSlowLoading@gzPlayer@@QAEX_N@Z		; gzPlayer::SetIsSlowLoading
; Function compile flags: /Ogtpy
;	COMDAT ?SetIsSlowLoading@gzPlayer@@QAEX_N@Z
_TEXT	SEGMENT
_value$ = 8						; size = 1
?SetIsSlowLoading@gzPlayer@@QAEX_N@Z PROC		; gzPlayer::SetIsSlowLoading, COMDAT
; _this$ = ecx

; 101  : 	inline void SetIsSlowLoading(bool value) { this->m_slowLoad = value; };

	mov	al, BYTE PTR _value$[esp-4]
	mov	BYTE PTR [ecx+124], al
	ret	4
?SetIsSlowLoading@gzPlayer@@QAEX_N@Z ENDP		; gzPlayer::SetIsSlowLoading
_TEXT	ENDS
PUBLIC	?SetBHSVersion@gzPlayer@@QAEXM@Z		; gzPlayer::SetBHSVersion
; Function compile flags: /Ogtpy
;	COMDAT ?SetBHSVersion@gzPlayer@@QAEXM@Z
_TEXT	SEGMENT
_version$ = 8						; size = 4
?SetBHSVersion@gzPlayer@@QAEXM@Z PROC			; gzPlayer::SetBHSVersion, COMDAT
; _this$ = ecx

; 103  : 	inline void SetBHSVersion(float version) { this->m_bhsVersion = version; };

	fld	DWORD PTR _version$[esp-4]
	fstp	DWORD PTR [ecx+128]
	ret	4
?SetBHSVersion@gzPlayer@@QAEXM@Z ENDP			; gzPlayer::SetBHSVersion
_TEXT	ENDS
PUBLIC	?SetIsSpectator@gzPlayer@@QAEX_N@Z		; gzPlayer::SetIsSpectator
; Function compile flags: /Ogtpy
;	COMDAT ?SetIsSpectator@gzPlayer@@QAEX_N@Z
_TEXT	SEGMENT
_value$ = 8						; size = 1
?SetIsSpectator@gzPlayer@@QAEX_N@Z PROC			; gzPlayer::SetIsSpectator, COMDAT
; _this$ = ecx

; 105  : 	inline void SetIsSpectator(bool value) { this->m_isSpectator = value; };

	mov	al, BYTE PTR _value$[esp-4]
	mov	BYTE PTR [ecx+132], al
	ret	4
?SetIsSpectator@gzPlayer@@QAEX_N@Z ENDP			; gzPlayer::SetIsSpectator
_TEXT	ENDS
PUBLIC	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ	; gzPlayer::GetPlayerName
; Function compile flags: /Ogtpy
;	COMDAT ?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ
_TEXT	SEGMENT
$T71801 = -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 $T71801[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	?SetStId@gzPlayer@@QAEXH@Z			; gzPlayer::SetStId
; Function compile flags: /Ogtpy
;	COMDAT ?SetStId@gzPlayer@@QAEXH@Z
_TEXT	SEGMENT
_id$ = 8						; size = 4
?SetStId@gzPlayer@@QAEXH@Z PROC				; gzPlayer::SetStId, COMDAT
; _this$ = ecx

; 110  : 	inline void SetStId(int id) { this->m_stId = id; };

	mov	eax, DWORD PTR _id$[esp-4]
	mov	DWORD PTR [ecx+148], eax
	ret	4
?SetStId@gzPlayer@@QAEXH@Z ENDP				; gzPlayer::SetStId
_TEXT	ENDS
PUBLIC	?SetDeletePending@gzPlayer@@UAEXXZ		; gzPlayer::SetDeletePending
EXTRN	?SetDeletePending@gzBase@@UAEXXZ:PROC		; gzBase::SetDeletePending
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
;	COMDAT ?SetDeletePending@gzPlayer@@UAEXXZ
_TEXT	SEGMENT
?SetDeletePending@gzPlayer@@UAEXXZ PROC			; gzPlayer::SetDeletePending, COMDAT
; _this$ = ecx

; 24   : {

	push	esi
	mov	esi, ecx

; 25   : 	this->m_chatFlood->SetDeletePending();

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx

; 26   : 	this->m_radioFlood->SetDeletePending();

	mov	ecx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx

; 27   : 	this->m_weaponPack->SetDeletePending();

	mov	ecx, DWORD PTR [esi+60]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx

; 28   : 	this->m_vehOwnData->SetDeletePending();

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

; 29   : 	this->m_antiCheatRoF->SetDeletePending();

	mov	ecx, DWORD PTR [esi+48]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx

; 30   : 	this->m_antiCheatHitLog->SetDeletePending();

	mov	ecx, DWORD PTR [esi+52]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx

; 31   : 	this->m_antiCheatSpec->SetDeletePending();

	mov	ecx, DWORD PTR [esi+44]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx

; 32   : 	this->m_veteran->SetDeletePending();

	mov	ecx, DWORD PTR [esi+64]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx

; 33   : #if VERC(1, 1, 0)
; 34   : 	this->m_rewards->SetDeletePending();

	mov	ecx, DWORD PTR [esi+72]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx

; 35   : #endif
; 36   : 
; 37   : 	this->gzBase::SetDeletePending();

	mov	ecx, esi
	pop	esi
	jmp	?SetDeletePending@gzBase@@UAEXXZ	; gzBase::SetDeletePending
?SetDeletePending@gzPlayer@@UAEXXZ ENDP			; gzPlayer::SetDeletePending
_TEXT	ENDS
PUBLIC	__real@00000000
PUBLIC	??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@	; `string'
PUBLIC	??_C@_00CNPNBAHC@?$AA@				; `string'
PUBLIC	??_7gzPlayer@@6B@				; gzPlayer::`vftable'
PUBLIC	??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z		; gzPlayer::gzPlayer
PUBLIC	??_R4gzPlayer@@6B@				; gzPlayer::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzPlayer@@@8				; gzPlayer `RTTI Type Descriptor'
PUBLIC	??_R3gzPlayer@@8				; gzPlayer::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzPlayer@@8				; gzPlayer::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzPlayer@@8			; gzPlayer::`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@gzPlayer@@UAEPBDXZ			; gzPlayer::GetName
PUBLIC	?Delete@gzPlayer@@UAEXXZ			; gzPlayer::Delete
PUBLIC	?Level_Loaded@gzPlayer@@UAEXXZ			; gzPlayer::Level_Loaded
PUBLIC	?Level_Ended@EventHandler@@UAEXXZ		; EventHandler::Level_Ended
PUBLIC	?Think@gzPlayer@@UAEXXZ				; gzPlayer::Think
PUBLIC	?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_Joined
PUBLIC	?Player_Left@gzPlayer@@UAEXAAVgzEventPlayerBase@@@Z ; gzPlayer::Player_Left
PUBLIC	?Player_Purchase@gzPlayer@@UAEXAAVgzEventPlayerPurchase@@@Z ; gzPlayer::Player_Purchase
PUBLIC	?Player_BandwidthChange@gzPlayer@@UAEXAAVgzEventPlayerBandwidth@@@Z ; gzPlayer::Player_BandwidthChange
PUBLIC	?Player_Suicide@gzPlayer@@UAEXAAVgzEventPlayerBase@@@Z ; gzPlayer::Player_Suicide
PUBLIC	?Player_TeamChange@gzPlayer@@UAEXAAVgzEventPlayerBase@@@Z ; gzPlayer::Player_TeamChange
PUBLIC	?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z ; EventHandler::Player_Chat
PUBLIC	?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z ; EventHandler::Player_Radio
PUBLIC	?Player_SerialHash@gzPlayer@@UAEXAAVgzEventPlayerSerialHash@@@Z ; gzPlayer::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@gzPlayer@@UAEXAAVgzEventObjectDamage@@@Z ; gzPlayer::Object_Damaged
PUBLIC	?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z ; EventHandler::Object_Killed
PUBLIC	?Object_Transition@gzPlayer@@UAEXAAVgzEventObjectTransition@@@Z ; gzPlayer::Object_Transition
PUBLIC	?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ; EventHandler::Object_JumpStart
PUBLIC	?Object_JumpComplete@gzPlayer@@UAEXAAVgzEventObjectJump@@@Z ; gzPlayer::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@gzPlayer@@UAEXAAVgzEventObjectFire@@@Z ; gzPlayer::Object_Fire
PUBLIC	?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z ; EventHandler::Object_FlipKill
PUBLIC	?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z ; EventHandler::Net_WolPage
PUBLIC	?Net_SerialAuth@gzPlayer@@UAEXAAVgzEventNetSerialAuth@@@Z ; gzPlayer::Net_SerialAuth
PUBLIC	?Bhs_Poke@gzPlayer@@UAEXAAVgzEventBhsPoke@@@Z	; gzPlayer::Bhs_Poke
PUBLIC	?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z ; EventHandler::Bhs_Version
EXTRN	??1EventHandler@@UAE@XZ:PROC			; EventHandler::~EventHandler
EXTRN	?SetChildOwner@gzBase@@QAEXPAVgzManagerEvent@@@Z:PROC ; gzBase::SetChildOwner
EXTRN	??0stRewardsClass@@QAE@PAVgzPlayer@@@Z:PROC	; stRewardsClass::stRewardsClass
EXTRN	??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z:PROC	; gzVeteranClass::gzVeteranClass
EXTRN	??0gzAntiCheatHitLog@@QAE@PAVgzPlayer@@@Z:PROC	; gzAntiCheatHitLog::gzAntiCheatHitLog
EXTRN	??0gzAntiCheatSpec@@QAE@PAVgzPlayer@@@Z:PROC	; gzAntiCheatSpec::gzAntiCheatSpec
EXTRN	??0gzAntiCheatWeapons@@QAE@PAVgzPlayer@@@Z:PROC	; gzAntiCheatWeapons::gzAntiCheatWeapons
EXTRN	??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z:PROC ; gzVehicleOwnerClass::gzVehicleOwnerClass
EXTRN	??0gzWeaponPackClass@@QAE@PAVgzPlayer@@@Z:PROC	; gzWeaponPackClass::gzWeaponPackClass
EXTRN	??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z:PROC ; gzRadioFloodClass::gzRadioFloodClass
EXTRN	??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z:PROC	; gzChatFloodClass::gzChatFloodClass
EXTRN	??2@YAPAXI@Z:PROC				; operator new
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
EXTRN	??4aWideString@@QAEAAV0@ABV0@@Z:PROC		; aWideString::operator=
EXTRN	??0aWideString@@QAE@PB_W@Z:PROC			; aWideString::aWideString
EXTRN	?RegisterEvent@EventHandler@@QAEXHH@Z:PROC	; EventHandler::RegisterEvent
EXTRN	??0aWideString@@QAE@XZ:PROC			; aWideString::aWideString
EXTRN	??0EventHandler@@QAE@XZ:PROC			; EventHandler::EventHandler
EXTRN	___CxxFrameHandler3:PROC
EXTRN	??_EgzPlayer@@UAEPAXI@Z:PROC			; gzPlayer::`vector deleting destructor'
;	COMDAT ??_R2gzBase@@8
; File d:\source code\stgm\stplayer.h
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@gzPlayer@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzPlayer@@8 DD FLAT:??_R0?AVgzPlayer@@@8	; gzPlayer::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzPlayer@@8
rdata$r	ENDS
;	COMDAT ??_R2gzPlayer@@8
rdata$r	SEGMENT
??_R2gzPlayer@@8 DD FLAT:??_R1A@?0A@EA@gzPlayer@@8	; gzPlayer::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzPlayer@@8
rdata$r	SEGMENT
??_R3gzPlayer@@8 DD 00H					; gzPlayer::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2gzPlayer@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzPlayer@@@8
_DATA	SEGMENT
??_R0?AVgzPlayer@@@8 DD FLAT:??_7type_info@@6B@		; gzPlayer `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzPlayer@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzPlayer@@6B@
rdata$r	SEGMENT
??_R4gzPlayer@@6B@ DD 00H				; gzPlayer::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzPlayer@@@8
	DD	FLAT:??_R3gzPlayer@@8
rdata$r	ENDS
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
CONST	ENDS
;	COMDAT ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
CONST	SEGMENT
??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@ DB '.\stplayer.cpp', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_00CNPNBAHC@?$AA@
CONST	SEGMENT
??_C@_00CNPNBAHC@?$AA@ DB 00H				; `string'
CONST	ENDS
;	COMDAT ??_7gzPlayer@@6B@
CONST	SEGMENT
??_7gzPlayer@@6B@ DD FLAT:??_R4gzPlayer@@6B@		; gzPlayer::`vftable'
	DD	FLAT:??_EgzPlayer@@UAEPAXI@Z
	DD	FLAT:?GetName@gzPlayer@@UAEPBDXZ
	DD	FLAT:?Delete@gzPlayer@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzPlayer@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzPlayer@@UAEXXZ
	DD	FLAT:?Level_Ended@EventHandler@@UAEXXZ
	DD	FLAT:?Think@gzPlayer@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzPlayer@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzPlayer@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@gzPlayer@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@gzPlayer@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@gzPlayer@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@gzPlayer@@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@gzPlayer@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@gzPlayer@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@gzPlayer@@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@gzPlayer@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@gzPlayer@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@gzPlayer@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z DD 019930522H
	DD	0cH
	DD	FLAT:__unwindtable$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$2
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$3
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$4
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$5
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$6
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$7
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$8
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$9
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$10
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$11
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
$T71818 = -20						; size = 8
__$EHRec$ = -12						; size = 12
$T71868 = 8						; size = 4
$T71862 = 8						; size = 4
$T71856 = 8						; size = 4
$T71850 = 8						; size = 4
$T71844 = 8						; size = 4
$T71838 = 8						; size = 4
$T71832 = 8						; size = 4
$T71826 = 8						; size = 4
$T71820 = 8						; size = 4
_pData$ = 8						; size = 4
??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z PROC			; gzPlayer::gzPlayer, COMDAT
; _this$ = ecx

; 40   : {

	push	-1
	push	__ehhandler$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 12					; 0000000cH
	push	ebx
	push	ebp
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+40], esi
	call	??0EventHandler@@QAE@XZ			; EventHandler::EventHandler
	lea	edi, DWORD PTR [esi+80]
	xor	ebp, ebp
	mov	ecx, edi
	mov	DWORD PTR __$EHRec$[esp+48], ebp
	mov	DWORD PTR [esi], OFFSET ??_7gzPlayer@@6B@
	call	??0aWideString@@QAE@XZ			; aWideString::aWideString

; 41   : 	this->RegisterEvent(EVT_GAME_LEVEL_LOADED);

	push	ebp
	mov	ebx, 1
	push	4096					; 00001000H
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 42   : 	this->RegisterEvent(EVT_GAME_THINK);

	push	ebp
	push	4098					; 00001002H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 43   : 	this->RegisterEvent(EVT_PLAYER_LEFT);

	push	ebp
	push	8193					; 00002001H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 44   : 	this->RegisterEvent(EVT_PLAYER_BANDWIDTH);

	push	ebp
	push	8194					; 00002002H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 45   : 	this->RegisterEvent(EVT_PLAYER_SUICIDE);

	push	ebp
	push	8197					; 00002005H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 46   : 	this->RegisterEvent(EVT_PLAYER_TEAMCHANGE);

	push	ebp
	push	8198					; 00002006H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 47   : 	this->RegisterEvent(EVT_PLAYER_SERIALHASH);

	push	ebp
	push	8199					; 00002007H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 48   : 	this->RegisterEvent(EVT_PLAYER_PURCHASE);

	push	ebp
	push	8201					; 00002009H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 49   : 	this->RegisterEvent(EVT_OBJECT_DAMAGE, EVT_PRIORITY_TOP);

	push	2147483647				; 7fffffffH
	push	12290					; 00003002H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 50   : 	this->RegisterEvent(EVT_OBJECT_TRANSITION);

	push	ebp
	push	12293					; 00003005H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 51   : 	this->RegisterEvent(EVT_OBJECT_FIRE);

	push	ebp
	push	12305					; 00003011H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 52   : 	this->RegisterEvent(EVT_NET_SERIAL_AUTH);

	push	ebp
	push	16385					; 00004001H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 53   : 	this->RegisterEvent(EVT_OBJECT_JUMP_COMPLETE);

	push	ebp
	push	12295					; 00003007H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 54   : 	this->RegisterEvent(EVT_BHS_POKE);

	push	ebp
	push	20480					; 00005000H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 55   : 
; 56   : 	this->m_gameData        = pData;

	mov	eax, DWORD PTR _pData$[esp+36]
	mov	DWORD PTR [esi+76], eax

; 57   : 	this->m_name            = this->GetPlayerData()->PlayerName.m_Buffer;

	mov	eax, DWORD PTR [eax+1880]
	push	eax
	lea	ecx, DWORD PTR $T71818[esp+44]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	mov	BYTE PTR __$EHRec$[esp+48], 2
	lea	ecx, DWORD PTR $T71818[esp+40]
	push	ecx
	mov	ecx, edi
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T71818[esp+40]
	mov	BYTE PTR __$EHRec$[esp+48], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 58   : 	this->m_isActive        = true;
; 59   : 	this->m_chatFlood       = new gzChatFloodClass(this->GetPlayerData());

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	59					; 0000003bH
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	mov	BYTE PTR [esi+88], bl
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	48					; 00000030H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71820[esp+36], eax
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+48], 3
	je	SHORT $LN3@gzPlayer
	mov	ecx, DWORD PTR [esi+76]
	push	ecx
	mov	ecx, eax
	call	??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z ; gzChatFloodClass::gzChatFloodClass
	jmp	SHORT $LN4@gzPlayer
$LN3@gzPlayer:
	xor	eax, eax
$LN4@gzPlayer:

; 60   : 	this->m_radioFlood      = new gzRadioFloodClass(this->GetPlayerData());

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	60					; 0000003cH
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	DWORD PTR [esi+36], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	48					; 00000030H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71826[esp+36], eax
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+48], 4
	je	SHORT $LN7@gzPlayer
	mov	ecx, DWORD PTR [esi+76]
	push	ecx
	mov	ecx, eax
	call	??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z ; gzRadioFloodClass::gzRadioFloodClass
	jmp	SHORT $LN8@gzPlayer
$LN7@gzPlayer:
	xor	eax, eax
$LN8@gzPlayer:

; 61   : 	this->m_weaponPack      = new gzWeaponPackClass(this);

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	61					; 0000003dH
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	DWORD PTR [esi+40], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	48					; 00000030H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71832[esp+36], eax
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+48], 5
	je	SHORT $LN11@gzPlayer
	push	esi
	mov	ecx, eax
	call	??0gzWeaponPackClass@@QAE@PAVgzPlayer@@@Z ; gzWeaponPackClass::gzWeaponPackClass
	jmp	SHORT $LN12@gzPlayer
$LN11@gzPlayer:
	xor	eax, eax
$LN12@gzPlayer:

; 62   : 	this->m_vehOwnData      = new gzVehicleOwnerClass(this);

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	62					; 0000003eH
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	DWORD PTR [esi+60], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	64					; 00000040H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71838[esp+36], eax
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+48], 6
	je	SHORT $LN15@gzPlayer
	push	esi
	mov	ecx, eax
	call	??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z ; gzVehicleOwnerClass::gzVehicleOwnerClass
	jmp	SHORT $LN16@gzPlayer
$LN15@gzPlayer:
	xor	eax, eax
$LN16@gzPlayer:

; 63   : 	this->m_antiCheatRoF    = new gzAntiCheatWeapons(this);

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	63					; 0000003fH
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	DWORD PTR [esi+56], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	60					; 0000003cH
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71844[esp+36], eax
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+48], 7
	je	SHORT $LN19@gzPlayer
	push	esi
	mov	ecx, eax
	call	??0gzAntiCheatWeapons@@QAE@PAVgzPlayer@@@Z ; gzAntiCheatWeapons::gzAntiCheatWeapons
	jmp	SHORT $LN20@gzPlayer
$LN19@gzPlayer:
	xor	eax, eax
$LN20@gzPlayer:

; 64   : 	this->m_antiCheatSpec   = new gzAntiCheatSpec(this);

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	64					; 00000040H
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	DWORD PTR [esi+48], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	64					; 00000040H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71850[esp+36], eax
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+48], 8
	je	SHORT $LN23@gzPlayer
	push	esi
	mov	ecx, eax
	call	??0gzAntiCheatSpec@@QAE@PAVgzPlayer@@@Z	; gzAntiCheatSpec::gzAntiCheatSpec
	jmp	SHORT $LN24@gzPlayer
$LN23@gzPlayer:
	xor	eax, eax
$LN24@gzPlayer:

; 65   : 	this->m_antiCheatHitLog = new gzAntiCheatHitLog(this);

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	65					; 00000041H
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	DWORD PTR [esi+44], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	64					; 00000040H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71856[esp+36], eax
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+48], 9
	je	SHORT $LN27@gzPlayer
	push	esi
	mov	ecx, eax
	call	??0gzAntiCheatHitLog@@QAE@PAVgzPlayer@@@Z ; gzAntiCheatHitLog::gzAntiCheatHitLog
	jmp	SHORT $LN28@gzPlayer
$LN27@gzPlayer:
	xor	eax, eax
$LN28@gzPlayer:

; 66   : 	this->m_veteran         = new gzVeteranClass(this);

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	66					; 00000042H
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	DWORD PTR [esi+52], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	56					; 00000038H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71862[esp+36], eax
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+48], 10		; 0000000aH
	je	SHORT $LN31@gzPlayer
	push	esi
	mov	ecx, eax
	call	??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z	; gzVeteranClass::gzVeteranClass
	jmp	SHORT $LN32@gzPlayer
$LN31@gzPlayer:
	xor	eax, eax
$LN32@gzPlayer:

; 67   : 	this->m_tibCrystal      = NULL;
; 68   : #if VERC(1, 1, 0)
; 69   : 	this->m_rewards         = new stRewardsClass(this);

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	69					; 00000045H
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	DWORD PTR [esi+64], eax
	mov	DWORD PTR [esi+68], ebp
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71868[esp+36], eax
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+48], 11		; 0000000bH
	je	SHORT $LN35@gzPlayer
	push	esi
	mov	ecx, eax
	call	??0stRewardsClass@@QAE@PAVgzPlayer@@@Z	; stRewardsClass::stRewardsClass
	jmp	SHORT $LN36@gzPlayer
$LN35@gzPlayer:
	xor	eax, eax
$LN36@gzPlayer:

; 70   : #endif
; 71   : 
; 72   : 	this->m_ammoCheckInt   = 0.0f;

	fldz
	mov	DWORD PTR [esi+72], eax
	fst	DWORD PTR [esi+96]

; 73   : 	this->m_numpadMode     = NUMPAD_TAUNT;

	mov	DWORD PTR [esi+104], ebx

; 74   : 	this->m_afk_prevScore  = 0.0f;

	fst	DWORD PTR [esi+108]

; 75   : 	this->m_afk_time       = 0.0f;
; 76   : 	this->m_afk_warnSent   = false;

	mov	BYTE PTR [esi+116], 0
	fst	DWORD PTR [esi+112]

; 77   : 	this->m_afk_countDelay = 0.0f;
; 78   : 	this->m_slowLoad       = false;

	mov	BYTE PTR [esi+124], 0
	fst	DWORD PTR [esi+120]

; 79   : 	this->m_bhsVersion     = 0.0f;
; 80   : 	this->m_isSpectator    = false;

	mov	BYTE PTR [esi+132], 0
	fstp	DWORD PTR [esi+128]

; 81   : 	this->m_lastPokeProxy  = 0;

	mov	DWORD PTR [esi+136], ebp

; 82   : 	this->m_lastPokeTime   = 0;

	mov	DWORD PTR [esi+144], ebp

; 83   : 	this->m_pokeProxyCount = 0;

	mov	DWORD PTR [esi+140], ebp

; 84   : 
; 85   : #if VERC(1, 1, 0)
; 86   : 	this->m_stId           = -1;

	mov	DWORD PTR [esi+148], -1

; 87   : #endif
; 88   : 
; 89   : 	this->SetChildOwner(gzPlayerMgr);

	mov	eax, DWORD PTR ?gzPlayerMgr@@3PAVgzPlayerManager@@A ; gzPlayerMgr
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+48], bl
	je	SHORT $LN39@gzPlayer
	add	eax, 36					; 00000024H
	jmp	SHORT $LN40@gzPlayer
$LN39@gzPlayer:
	xor	eax, eax
$LN40@gzPlayer:
	push	eax
	mov	ecx, esi
	call	?SetChildOwner@gzBase@@QAEXPAVgzManagerEvent@@@Z ; gzBase::SetChildOwner

; 90   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 24					; 00000018H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 80					; 00000050H
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$2:
	lea	ecx, DWORD PTR $T71818[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$3:
	mov	eax, DWORD PTR $T71820[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$4:
	mov	eax, DWORD PTR $T71826[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$5:
	mov	eax, DWORD PTR $T71832[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$6:
	mov	eax, DWORD PTR $T71838[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$7:
	mov	eax, DWORD PTR $T71844[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$8:
	mov	eax, DWORD PTR $T71850[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$9:
	mov	eax, DWORD PTR $T71856[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$10:
	mov	eax, DWORD PTR $T71862[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z$11:
	mov	eax, DWORD PTR $T71868[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z:
	mov	eax, OFFSET __ehfuncinfo$??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z ENDP			; gzPlayer::gzPlayer
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stevent.h
;	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_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_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_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_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_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_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 ?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@_08KBPHAPKG@gzPlayer?$AA@			; `string'
;	COMDAT ??_C@_08KBPHAPKG@gzPlayer?$AA@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_08KBPHAPKG@gzPlayer?$AA@ DB 'gzPlayer', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzPlayer@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzPlayer@@UAEPBDXZ PROC			; gzPlayer::GetName, COMDAT
; _this$ = ecx

; 60   : 		return "gzPlayer";

	mov	eax, OFFSET ??_C@_08KBPHAPKG@gzPlayer?$AA@

; 61   : 	};

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

; 62   : 	void Delete() { };

	ret	0
?Delete@gzPlayer@@UAEXXZ ENDP				; gzPlayer::Delete
_TEXT	ENDS
PUBLIC	??1gzPlayer@@UAE@XZ				; gzPlayer::~gzPlayer
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzPlayer@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzPlayer@@UAE@XZ$0
__ehfuncinfo$??1gzPlayer@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzPlayer@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzPlayer@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzPlayer@@UAE@XZ PROC				; gzPlayer::~gzPlayer, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzPlayer@@UAE@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+80]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	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$??1gzPlayer@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__ehhandler$??1gzPlayer@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzPlayer@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzPlayer@@UAE@XZ ENDP				; gzPlayer::~gzPlayer
PUBLIC	__real@41200000
;	COMDAT __real@41200000
CONST	SEGMENT
__real@41200000 DD 041200000r			; 10
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Level_Loaded@gzPlayer@@UAEXXZ
_TEXT	SEGMENT
?Level_Loaded@gzPlayer@@UAEXXZ PROC			; gzPlayer::Level_Loaded, COMDAT
; _this$ = ecx

; 93   : 	this->SetAfkPrevScore(0.0f);

	fldz

; 94   : 	this->SetAfkDelay(10.0f); // Giving 10 seconds spawn delay
; 95   : 	this->SetIsSpectator(false);

	xor	eax, eax
	fstp	DWORD PTR [ecx+108]
	mov	BYTE PTR [ecx+132], al
	fld	DWORD PTR __real@41200000

; 96   : 
; 97   : 	this->m_lastPokeProxy  = 0;

	mov	DWORD PTR [ecx+136], eax
	fstp	DWORD PTR [ecx+120]

; 98   : 	this->m_lastPokeTime   = 0;

	mov	DWORD PTR [ecx+144], eax

; 99   : 	this->m_pokeProxyCount = 0;

	mov	DWORD PTR [ecx+140], eax

; 100  : }

	ret	0
?Level_Loaded@gzPlayer@@UAEXXZ ENDP			; gzPlayer::Level_Loaded
_TEXT	ENDS
PUBLIC	??_C@_0DC@BHKFIPJG@Last?5received?5packet?5from?5?$CFls?5wa@ ; `string'
PUBLIC	__real@3a83126f
PUBLIC	__real@4f800000
PUBLIC	??_C@_0CB@PGMBLHBD@Connection?5broken?5to?5player?3?5?$CFls@ ; `string'
PUBLIC	__real@43610000
PUBLIC	__real@42480000
EXTRN	?Start_Custom_Timer@nc_ScriptableGameObj@@QAEXPAV1@MHH@Z:PROC ; nc_ScriptableGameObj::Start_Custom_Timer
EXTRN	?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A:DWORD ; nc_GameObjManager::GameObjList
EXTRN	?UnsetAll@gzVehicleOwnerClass@@QAEXXZ:PROC	; gzVehicleOwnerClass::UnsetAll
EXTRN	?Out@stConsole@@SAXPBDZZ:PROC			; stConsole::Out
EXTRN	?SystemTime@@3AAKA:DWORD			; SystemTime
EXTRN	__imp__GetTickCount@0:PROC
EXTRN	?SendBhsColorMsg@@YAXUnc_Vector3@@PBDZZ:PROC	; SendBhsColorMsg
;	COMDAT ??_C@_0DC@BHKFIPJG@Last?5received?5packet?5from?5?$CFls?5wa@
; File d:\source code\stgm\steventbase.h
CONST	SEGMENT
??_C@_0DC@BHKFIPJG@Last?5received?5packet?5from?5?$CFls?5wa@ DB 'Last rec'
	DB	'eived packet from %ls was %f sec(s) ago.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT __real@3a83126f
CONST	SEGMENT
__real@3a83126f DD 03a83126fr			; 0.001
CONST	ENDS
;	COMDAT __real@4f800000
CONST	SEGMENT
__real@4f800000 DD 04f800000r			; 4.29497e+009
CONST	ENDS
;	COMDAT ??_C@_0CB@PGMBLHBD@Connection?5broken?5to?5player?3?5?$CFls@
CONST	SEGMENT
??_C@_0CB@PGMBLHBD@Connection?5broken?5to?5player?3?5?$CFls@ DB 'Connecti'
	DB	'on broken to player: %ls', 00H		; `string'
CONST	ENDS
;	COMDAT __real@43610000
CONST	SEGMENT
__real@43610000 DD 043610000r			; 225
CONST	ENDS
;	COMDAT __real@42480000
CONST	SEGMENT
__real@42480000 DD 042480000r			; 50
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Player_Left@gzPlayer@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
_color$60367 = -12					; size = 12
tv288 = 8						; size = 4
_evt$ = 8						; size = 4
?Player_Left@gzPlayer@@UAEXAAVgzEventPlayerBase@@@Z PROC ; gzPlayer::Player_Left, COMDAT
; _this$ = ecx

; 197  : {

	sub	esp, 12					; 0000000cH
	push	ebx
	push	ebp

; 198  : 	if (this->GetPlayerData() == evt.GetPlayer())

	mov	ebp, DWORD PTR _evt$[esp+16]
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+76]
	cmp	eax, DWORD PTR [ebp+24]
	push	edi
	jne	$LN2@Player_Lef

; 199  : 	{
; 200  : 		this->m_isActive = false;

	xor	ebx, ebx
	mov	BYTE PTR [esi+88], bl

; 201  : 		if (evt.GetInt() == LEFT_DISCONNECT)

	cmp	DWORD PTR [ebp+16], 1
	jne	$LN5@Player_Lef

; 202  : 		{
; 203  : 			nc_Vector3 color = { 50.0f, 225.0f, 50.0f };

	fld	DWORD PTR __real@42480000

; 204  : 			SendBhsColorMsg(color, "Connection broken to player: %ls", this->m_name.GetString());

	mov	eax, DWORD PTR [esi+84]
	cmp	eax, ebx
	fst	DWORD PTR _color$60367[esp+28]
	fld	DWORD PTR __real@43610000
	fstp	DWORD PTR _color$60367[esp+32]
	fstp	DWORD PTR _color$60367[esp+36]
	je	SHORT $LN17@Player_Lef
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN18@Player_Lef
$LN17@Player_Lef:
	xor	eax, eax
$LN18@Player_Lef:
	mov	ecx, DWORD PTR _color$60367[esp+28]
	mov	edx, DWORD PTR _color$60367[esp+32]
	push	eax
	push	OFFSET ??_C@_0CB@PGMBLHBD@Connection?5broken?5to?5player?3?5?$CFls@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _color$60367[esp+56]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?SendBhsColorMsg@@YAXUnc_Vector3@@PBDZZ	; SendBhsColorMsg

; 205  : #ifdef DEVMSG
; 206  : 			stConsole::Out("Last received packet from %ls was %f sec(s) ago.\n",
; 207  : 				this->m_name.GetString(),
; 208  : 				(GetTickCount() - SystemTime - this->m_lastPacketMs) / 1000.0f
; 209  : 			);

	mov	eax, DWORD PTR [esi+84]
	add	esp, 20					; 00000014H
	cmp	eax, ebx
	je	SHORT $LN23@Player_Lef
	mov	edi, DWORD PTR [eax]
	jmp	SHORT $LN24@Player_Lef
$LN23@Player_Lef:
	xor	edi, edi
$LN24@Player_Lef:
	call	DWORD PTR __imp__GetTickCount@0
	sub	eax, DWORD PTR [esi+92]
	mov	edx, DWORD PTR ?SystemTime@@3AAKA	; SystemTime
	sub	eax, DWORD PTR [edx]
	test	eax, eax
	mov	DWORD PTR tv288[esp+24], eax
	fild	DWORD PTR tv288[esp+24]
	jge	SHORT $LN31@Player_Lef
	fadd	DWORD PTR __real@4f800000
$LN31@Player_Lef:
	fmul	DWORD PTR __real@3a83126f
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	edi
	push	OFFSET ??_C@_0DC@BHKFIPJG@Last?5received?5packet?5from?5?$CFls?5wa@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 16					; 00000010H
$LN5@Player_Lef:

; 210  : #endif
; 211  : 		}
; 212  : 
; 213  : 		this->m_vehOwnData->UnsetAll();

	mov	ecx, DWORD PTR [esi+56]
	call	?UnsetAll@gzVehicleOwnerClass@@QAEXXZ	; gzVehicleOwnerClass::UnsetAll

; 214  : 		this->m_bhsVersion  = 0.0f;

	fldz
	fstp	DWORD PTR [esi+128]

; 215  : 		this->m_isSpectator = false;

	mov	BYTE PTR [esi+132], bl

; 216  : 		this->m_lastPokeProxy  = 0;

	mov	DWORD PTR [esi+136], ebx

; 217  : 		this->m_pokeProxyCount = 0;

	mov	DWORD PTR [esi+140], ebx

; 218  : 		this->m_lastPokeTime   = 0;

	mov	DWORD PTR [esi+144], ebx

; 219  : 
; 220  : 		for (nc_GenericSLNode<nc_BaseGameObj> *objList = nc_GameObjManager::GameObjList->HeadNode; objList != NULL; objList = objList->NodeNext)

	mov	eax, DWORD PTR ?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A ; nc_GameObjManager::GameObjList
	mov	esi, DWORD PTR [eax+4]
	cmp	esi, ebx
	je	SHORT $LN2@Player_Lef
$LL4@Player_Lef:

; 221  : 		{
; 222  : 			if (objList->NodeData->As_ScriptableGameObj())

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	test	eax, eax
	je	SHORT $LN3@Player_Lef

; 223  : 				objList->NodeData->As_ScriptableGameObj()->Start_Custom_Timer(objList->NodeData->As_ScriptableGameObj(), 0.0f, 10001, evt.GetPlayer()->PlayerId);

	mov	eax, DWORD PTR [ebp+24]
	fldz
	mov	edx, DWORD PTR [eax+1884]
	mov	ecx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [ecx]
	push	edx
	mov	edx, DWORD PTR [eax+48]
	push	10001					; 00002711H
	push	ecx
	fstp	DWORD PTR [esp]
	mov	edi, ecx
	call	edx
	push	eax
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+48]
	mov	ecx, edi
	call	edx
	mov	ecx, eax
	call	?Start_Custom_Timer@nc_ScriptableGameObj@@QAEXPAV1@MHH@Z ; nc_ScriptableGameObj::Start_Custom_Timer
$LN3@Player_Lef:
	mov	esi, DWORD PTR [esi]
	cmp	esi, ebx
	jne	SHORT $LL4@Player_Lef
$LN2@Player_Lef:

; 224  : 		}
; 225  : 	}
; 226  : }

	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
	add	esp, 12					; 0000000cH
	ret	4
?Player_Left@gzPlayer@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; gzPlayer::Player_Left
_TEXT	ENDS
PUBLIC	??_C@_0EN@NLJNALGG@?$FLST?$FN?5?$CFls?5attempted?5to?5set?5bandwi@ ; `string'
EXTRN	?gzGameMgr@@3PAVgzGameManager@@A:DWORD		; gzGameMgr
;	COMDAT ??_C@_0EN@NLJNALGG@?$FLST?$FN?5?$CFls?5attempted?5to?5set?5bandwi@
; File d:\source code\stgm\steventbase.h
CONST	SEGMENT
??_C@_0EN@NLJNALGG@?$FLST?$FN?5?$CFls?5attempted?5to?5set?5bandwi@ DB '[S'
	DB	'T] %ls attempted to set bandwidth to %d and denied by server;'
	DB	' Minimum: %d', 0aH, 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Player_BandwidthChange@gzPlayer@@UAEXAAVgzEventPlayerBandwidth@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Player_BandwidthChange@gzPlayer@@UAEXAAVgzEventPlayerBandwidth@@@Z PROC ; gzPlayer::Player_BandwidthChange, COMDAT
; _this$ = ecx

; 228  : {

	push	esi

; 229  : 	if (this->GetPlayerData() == evt.GetPlayer())

	mov	esi, DWORD PTR _evt$[esp]
	mov	edx, DWORD PTR [esi+24]
	cmp	DWORD PTR [ecx+76], edx
	jne	SHORT $LN25@Player_Ban

; 230  : 	{
; 231  : 		if (evt.GetInt() < gzGameMgr->GetSettings()->m_MinimumBandwidth)

	mov	eax, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	ecx, DWORD PTR [eax+72]
	mov	eax, DWORD PTR [ecx+96]
	mov	ecx, DWORD PTR [esi+16]
	cmp	ecx, eax
	jge	SHORT $LN25@Player_Ban

; 232  : 		{
; 233  : 			stConsole::Out("[ST] %ls attempted to set bandwidth to %d and denied by server; Minimum: %d\n",
; 234  : 				evt.GetPlayer()->PlayerName.m_Buffer,
; 235  : 				evt.GetInt(),
; 236  : 				gzGameMgr->GetSettings()->m_MinimumBandwidth
; 237  : 			);

	mov	edx, DWORD PTR [edx+1880]
	push	eax
	push	ecx
	push	edx
	push	OFFSET ??_C@_0EN@NLJNALGG@?$FLST?$FN?5?$CFls?5attempted?5to?5set?5bandwi@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out

; 238  : 			evt.SetInt(gzGameMgr->GetSettings()->m_MinimumBandwidth);

	mov	eax, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	ecx, DWORD PTR [eax+72]
	mov	edx, DWORD PTR [ecx+96]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+16], edx

; 239  : 			evt.Skip();

	mov	BYTE PTR [esi+32], 0
$LN25@Player_Ban:
	pop	esi

; 240  : 		}
; 241  : 	}
; 242  : }

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

; 245  : 	if (this->GetPlayerData() == evt.GetPlayer())

	mov	eax, DWORD PTR [ecx+76]
	mov	edx, DWORD PTR _evt$[esp-4]
	cmp	eax, DWORD PTR [edx+24]
	jne	SHORT $LN1@Player_Sui

; 246  : 		this->m_weaponPack->m_list.Clear();

	mov	eax, DWORD PTR [ecx+60]
	lea	ecx, DWORD PTR [eax+24]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN1@Player_Sui:

; 247  : }

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

; 250  : 	if (this->GetPlayerData() == evt.GetPlayer())

	mov	eax, DWORD PTR [ecx+76]
	mov	edx, DWORD PTR _evt$[esp-4]
	cmp	eax, DWORD PTR [edx+24]
	jne	SHORT $LN1@Player_Tea

; 251  : 		this->m_weaponPack->m_list.Clear();

	mov	eax, DWORD PTR [ecx+60]
	lea	ecx, DWORD PTR [eax+24]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN1@Player_Tea:

; 252  : }

	ret	4
?Player_TeamChange@gzPlayer@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; gzPlayer::Player_TeamChange
_TEXT	ENDS
PUBLIC	??_C@_0CF@EGFJFPHH@Serial?5hash?5from?5?$CFls?$CIID?3?5?$CFd?$CJ?3?5?$CF?4@ ; `string'
;	COMDAT ??_C@_0CF@EGFJFPHH@Serial?5hash?5from?5?$CFls?$CIID?3?5?$CFd?$CJ?3?5?$CF?4@
; File d:\source code\stgm\steventbase.h
CONST	SEGMENT
??_C@_0CF@EGFJFPHH@Serial?5hash?5from?5?$CFls?$CIID?3?5?$CFd?$CJ?3?5?$CF?4@ DB 'S'
	DB	'erial hash from %ls(ID: %d): %.32s', 0aH, 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Player_SerialHash@gzPlayer@@UAEXAAVgzEventPlayerSerialHash@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Player_SerialHash@gzPlayer@@UAEXAAVgzEventPlayerSerialHash@@@Z PROC ; gzPlayer::Player_SerialHash, COMDAT
; _this$ = ecx

; 255  : 	if (this->GetPlayerData() == evt.GetPlayer())

	mov	edx, DWORD PTR _evt$[esp-4]
	mov	eax, DWORD PTR [ecx+76]
	cmp	eax, DWORD PTR [edx+24]
	jne	SHORT $LN1@Player_Ser

; 256  : 		stConsole::Out("Serial hash from %ls(ID: %d): %.32s\n", evt.GetPlayer()->PlayerName.m_Buffer, evt.GetPlayer()->PlayerId, evt.m_hash.GetString());

	mov	eax, DWORD PTR [edx+36]
	test	eax, eax
	je	SHORT $LN10@Player_Ser
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN11@Player_Ser
$LN10@Player_Ser:
	xor	ecx, ecx
$LN11@Player_Ser:
	mov	eax, DWORD PTR [edx+24]
	mov	edx, DWORD PTR [eax+1880]
	push	ecx
	mov	ecx, DWORD PTR [eax+1884]
	push	ecx
	push	edx
	push	OFFSET ??_C@_0CF@EGFJFPHH@Serial?5hash?5from?5?$CFls?$CIID?3?5?$CFd?$CJ?3?5?$CF?4@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 16					; 00000010H
$LN1@Player_Ser:

; 257  : }

	ret	4
?Player_SerialHash@gzPlayer@@UAEXAAVgzEventPlayerSerialHash@@@Z ENDP ; gzPlayer::Player_SerialHash
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Purchase@gzPlayer@@UAEXAAVgzEventPlayerPurchase@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Player_Purchase@gzPlayer@@UAEXAAVgzEventPlayerPurchase@@@Z PROC ; gzPlayer::Player_Purchase, COMDAT
; _this$ = ecx

; 260  : 	if (evt.GetPlayer() == this->GetPlayerData())

	mov	eax, DWORD PTR _evt$[esp-4]
	mov	edx, DWORD PTR [eax+24]
	cmp	edx, DWORD PTR [ecx+76]
	jne	SHORT $LN1@Player_Pur

; 261  : 		this->m_afk_time = 0.0f;

	fldz
	fstp	DWORD PTR [ecx+112]
$LN1@Player_Pur:

; 262  : }

	ret	4
?Player_Purchase@gzPlayer@@UAEXAAVgzEventPlayerPurchase@@@Z ENDP ; gzPlayer::Player_Purchase
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Transition@gzPlayer@@UAEXAAVgzEventObjectTransition@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_Transition@gzPlayer@@UAEXAAVgzEventObjectTransition@@@Z PROC ; gzPlayer::Object_Transition, COMDAT
; _this$ = ecx

; 270  : 	if (evt.m_soldier->Player == this->GetPlayerData())

	mov	eax, DWORD PTR _evt$[esp-4]
	mov	edx, DWORD PTR [eax+24]
	mov	eax, DWORD PTR [edx+2400]
	cmp	eax, DWORD PTR [ecx+76]
	jne	SHORT $LN1@Object_Tra

; 271  : 		this->m_afk_time = 0.0f;

	fldz
	fstp	DWORD PTR [ecx+112]
$LN1@Object_Tra:

; 272  : }

	ret	4
?Object_Transition@gzPlayer@@UAEXAAVgzEventObjectTransition@@@Z ENDP ; gzPlayer::Object_Transition
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Fire@gzPlayer@@UAEXAAVgzEventObjectFire@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_Fire@gzPlayer@@UAEXAAVgzEventObjectFire@@@Z PROC ; gzPlayer::Object_Fire, COMDAT
; _this$ = ecx

; 289  : 	this->m_primaryFire = evt.m_primaryFire;

	mov	eax, DWORD PTR _evt$[esp-4]
	mov	dl, BYTE PTR [eax+24]
	mov	BYTE PTR [ecx+100], dl

; 290  : }

	ret	4
?Object_Fire@gzPlayer@@UAEXAAVgzEventObjectFire@@@Z ENDP ; gzPlayer::Object_Fire
_TEXT	ENDS
PUBLIC	??_C@_0DD@PDHICFFN@?$FLST?$FN?5?$CFls?5is?5using?5a?5gamespy?5veri@ ; `string'
PUBLIC	??_C@_09OGOKMLLB@Validated?$AA@			; `string'
PUBLIC	??_C@_0BD@CEDMBDHD@Validation?5Timeout?$AA@	; `string'
PUBLIC	??_C@_0O@OOIFGDMN@CD?5Key?5in?5use?$AA@		; `string'
PUBLIC	??_C@_0CL@CNBGECPL@?$FLST?$FN?5?$CFls?5is?5using?5an?5invalid?5ser@ ; `string'
PUBLIC	??_C@_0P@CJNPEMPE@Invalid?5CD?5Key?$AA@		; `string'
PUBLIC	??_C@_0DB@DMKDKAPC@?$FLST?$FN?5CD?5key?5from?5?$CFls?5is?5banned?5b@ ; `string'
PUBLIC	??_C@_0BJ@NHJDLJOK@Your?5CD?5Key?5is?5disabled?4?$AA@ ; `string'
EXTRN	_stricmp:PROC
EXTRN	_strncmp:PROC
;	COMDAT ??_C@_0DD@PDHICFFN@?$FLST?$FN?5?$CFls?5is?5using?5a?5gamespy?5veri@
; File d:\source code\stgm\steventbase.h
CONST	SEGMENT
??_C@_0DD@PDHICFFN@?$FLST?$FN?5?$CFls?5is?5using?5a?5gamespy?5veri@ DB '['
	DB	'ST] %ls is using a gamespy verified serial. (%s)', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09OGOKMLLB@Validated?$AA@
CONST	SEGMENT
??_C@_09OGOKMLLB@Validated?$AA@ DB 'Validated', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@CEDMBDHD@Validation?5Timeout?$AA@
CONST	SEGMENT
??_C@_0BD@CEDMBDHD@Validation?5Timeout?$AA@ DB 'Validation Timeout', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@OOIFGDMN@CD?5Key?5in?5use?$AA@
CONST	SEGMENT
??_C@_0O@OOIFGDMN@CD?5Key?5in?5use?$AA@ DB 'CD Key in use', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CL@CNBGECPL@?$FLST?$FN?5?$CFls?5is?5using?5an?5invalid?5ser@
CONST	SEGMENT
??_C@_0CL@CNBGECPL@?$FLST?$FN?5?$CFls?5is?5using?5an?5invalid?5ser@ DB '['
	DB	'ST] %ls is using an invalid serial. (%s)', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@CJNPEMPE@Invalid?5CD?5Key?$AA@
CONST	SEGMENT
??_C@_0P@CJNPEMPE@Invalid?5CD?5Key?$AA@ DB 'Invalid CD Key', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DB@DMKDKAPC@?$FLST?$FN?5CD?5key?5from?5?$CFls?5is?5banned?5b@
CONST	SEGMENT
??_C@_0DB@DMKDKAPC@?$FLST?$FN?5CD?5key?5from?5?$CFls?5is?5banned?5b@ DB '['
	DB	'ST] CD key from %ls is banned by GameSpy. (%s)', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@NHJDLJOK@Your?5CD?5Key?5is?5disabled?4?$AA@
CONST	SEGMENT
??_C@_0BJ@NHJDLJOK@Your?5CD?5Key?5is?5disabled?4?$AA@ DB 'Your CD Key is '
	DB	'disabled.', 00H				; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Net_SerialAuth@gzPlayer@@UAEXAAVgzEventNetSerialAuth@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Net_SerialAuth@gzPlayer@@UAEXAAVgzEventNetSerialAuth@@@Z PROC ; gzPlayer::Net_SerialAuth, COMDAT
; _this$ = ecx

; 293  : 	if (this->GetPlayerData() == evt.GetPlayer())

	mov	eax, DWORD PTR [ecx+76]
	push	ebx
	mov	ebx, DWORD PTR _evt$[esp]
	cmp	eax, DWORD PTR [ebx+24]
	jne	$LN1@Net_Serial

; 294  : 	{
; 295  : 		if (!strncmp(evt.m_message.GetString(), "Your CD Key is disabled.", 24))

	mov	eax, DWORD PTR [ebx+36]
	test	eax, eax
	je	SHORT $LN18@Net_Serial
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN19@Net_Serial
$LN18@Net_Serial:
	xor	eax, eax
$LN19@Net_Serial:
	push	24					; 00000018H
	push	OFFSET ??_C@_0BJ@NHJDLJOK@Your?5CD?5Key?5is?5disabled?4?$AA@
	push	eax
	call	_strncmp
	add	esp, 12					; 0000000cH
	test	eax, eax
	jne	SHORT $LN8@Net_Serial

; 296  : 			stConsole::Out("[ST] CD key from %ls is banned by GameSpy. (%s)\n", evt.GetPlayer()->PlayerName.m_Buffer, evt.GetPlayer()->GameSpyHashId.m_Buffer);

	mov	ebx, DWORD PTR [ebx+24]
	mov	ecx, DWORD PTR [ebx+1968]
	mov	edx, DWORD PTR [ebx+1880]
	push	ecx
	push	edx
	push	OFFSET ??_C@_0DB@DMKDKAPC@?$FLST?$FN?5CD?5key?5from?5?$CFls?5is?5banned?5b@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 12					; 0000000cH
	pop	ebx

; 308  : 		}
; 309  : 	}
; 310  : }

	ret	4
$LN8@Net_Serial:

; 297  : 
; 298  : 		else if (!stricmp(evt.m_message.GetString(), "Invalid CD Key"))

	mov	eax, DWORD PTR [ebx+36]
	test	eax, eax
	je	SHORT $LN28@Net_Serial
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN29@Net_Serial
$LN28@Net_Serial:
	xor	eax, eax
$LN29@Net_Serial:
	push	OFFSET ??_C@_0P@CJNPEMPE@Invalid?5CD?5Key?$AA@
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN6@Net_Serial

; 299  : 			stConsole::Out("[ST] %ls is using an invalid serial. (%s)\n", evt.GetPlayer()->PlayerName.m_Buffer, evt.GetPlayer()->GameSpyHashId.m_Buffer);

	mov	ebx, DWORD PTR [ebx+24]
	mov	eax, DWORD PTR [ebx+1968]
	mov	ecx, DWORD PTR [ebx+1880]
	push	eax
	push	ecx
	push	OFFSET ??_C@_0CL@CNBGECPL@?$FLST?$FN?5?$CFls?5is?5using?5an?5invalid?5ser@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 12					; 0000000cH
	pop	ebx

; 308  : 		}
; 309  : 	}
; 310  : }

	ret	4
$LN6@Net_Serial:

; 300  : 
; 301  : 		else if (!strcmp(evt.m_message.GetString(), "CD Key in use") || !strcmp(evt.m_message.GetString(), "Validation Timeout"))

	mov	eax, DWORD PTR [ebx+36]
	test	eax, eax
	je	SHORT $LN38@Net_Serial
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN39@Net_Serial
$LN38@Net_Serial:
	xor	eax, eax
$LN39@Net_Serial:
	push	esi
	push	edi
	mov	edi, OFFSET ??_C@_0O@OOIFGDMN@CD?5Key?5in?5use?$AA@
	mov	esi, eax
	mov	ecx, 14					; 0000000eH
	xor	edx, edx
	repe cmpsb
	je	SHORT $LN3@Net_Serial
	mov	eax, DWORD PTR [ebx+36]
	test	eax, eax
	je	SHORT $LN44@Net_Serial
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN45@Net_Serial
$LN44@Net_Serial:
	xor	eax, eax
$LN45@Net_Serial:
	mov	esi, eax
	mov	edi, OFFSET ??_C@_0BD@CEDMBDHD@Validation?5Timeout?$AA@
	mov	ecx, 19					; 00000013H
	xor	eax, eax
	repe cmpsb
	je	SHORT $LN3@Net_Serial

; 304  : 		}
; 305  : 		else if (!strcmp(evt.m_message.GetString(), "Validated"))

	mov	eax, DWORD PTR [ebx+36]
	test	eax, eax
	je	SHORT $LN54@Net_Serial
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN55@Net_Serial
$LN54@Net_Serial:
	xor	eax, eax
$LN55@Net_Serial:
	mov	edi, OFFSET ??_C@_09OGOKMLLB@Validated?$AA@
	mov	esi, eax
	mov	ecx, 10					; 0000000aH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $LN65@Net_Serial

; 306  : 		{
; 307  : 			stConsole::Out("[ST] %ls is using a gamespy verified serial. (%s)\n", evt.GetPlayer()->PlayerName.m_Buffer, evt.GetPlayer()->GameSpyHashId.m_Buffer);

	mov	ebx, DWORD PTR [ebx+24]
	mov	eax, DWORD PTR [ebx+1968]
	mov	ecx, DWORD PTR [ebx+1880]
	push	eax
	push	ecx
	push	OFFSET ??_C@_0DD@PDHICFFN@?$FLST?$FN?5?$CFls?5is?5using?5a?5gamespy?5veri@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 12					; 0000000cH
	pop	edi
	pop	esi
	pop	ebx

; 308  : 		}
; 309  : 	}
; 310  : }

	ret	4
$LN3@Net_Serial:

; 302  : 		{
; 303  : 			stConsole::Out("[ST] %ls is using an invalid serial. (%s)\n", evt.GetPlayer()->PlayerName.m_Buffer, evt.GetPlayer()->GameSpyHashId.m_Buffer);

	mov	ebx, DWORD PTR [ebx+24]
	mov	edx, DWORD PTR [ebx+1968]
	mov	eax, DWORD PTR [ebx+1880]
	push	edx
	push	eax
	push	OFFSET ??_C@_0CL@CNBGECPL@?$FLST?$FN?5?$CFls?5is?5using?5an?5invalid?5ser@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 12					; 0000000cH
$LN65@Net_Serial:
	pop	edi
	pop	esi
$LN1@Net_Serial:
	pop	ebx

; 308  : 		}
; 309  : 	}
; 310  : }

	ret	4
?Net_SerialAuth@gzPlayer@@UAEXAAVgzEventNetSerialAuth@@@Z ENDP ; gzPlayer::Net_SerialAuth
_TEXT	ENDS
PUBLIC	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
; Function compile flags: /Ogtpy
;	COMDAT ?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ
_TEXT	SEGMENT
?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ PROC	; gzPlayer::GetSoldier, COMDAT
; _this$ = ecx

; 344  : 	if (this->m_gameData->Owner.Reference)

	mov	eax, DWORD PTR [ecx+76]
	cmp	DWORD PTR [eax+20], 0
	je	SHORT $LN1@GetSoldier

; 345  : 		return this->m_gameData->Owner.Reference->obj->As_SoldierGameObj();

	mov	ecx, eax
	mov	edx, DWORD PTR [ecx+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	jmp	edx
$LN1@GetSoldier:

; 346  : 	return NULL;

	xor	eax, eax

; 347  : }

	ret	0
?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ENDP	; gzPlayer::GetSoldier
_TEXT	ENDS
PUBLIC	??_7gzManagerEvent@@6B@				; gzManagerEvent::`vftable'
PUBLIC	??0gzManagerEvent@@QAE@XZ			; gzManagerEvent::gzManagerEvent
PUBLIC	??_R4gzManagerEvent@@6B@			; gzManagerEvent::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzManagerEvent@@@8			; gzManagerEvent `RTTI Type Descriptor'
PUBLIC	??_R3gzManagerEvent@@8				; gzManagerEvent::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzManagerEvent@@8				; gzManagerEvent::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzManagerEvent@@8			; gzManagerEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z ; gzManagerEvent::ChildObjCreation
EXTRN	__purecall:PROC
;	COMDAT ??_R1A@?0A@EA@gzManagerEvent@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzManagerEvent@@8 DD FLAT:??_R0?AVgzManagerEvent@@@8 ; gzManagerEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R2gzManagerEvent@@8
rdata$r	SEGMENT
??_R2gzManagerEvent@@8 DD FLAT:??_R1A@?0A@EA@gzManagerEvent@@8 ; gzManagerEvent::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzManagerEvent@@8
rdata$r	SEGMENT
??_R3gzManagerEvent@@8 DD 00H				; gzManagerEvent::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzManagerEvent@@@8
_DATA	SEGMENT
??_R0?AVgzManagerEvent@@@8 DD FLAT:??_7type_info@@6B@	; gzManagerEvent `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzManagerEvent@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzManagerEvent@@6B@
rdata$r	SEGMENT
??_R4gzManagerEvent@@6B@ DD 00H				; gzManagerEvent::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzManagerEvent@@@8
	DD	FLAT:??_R3gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_7gzManagerEvent@@6B@
CONST	SEGMENT
??_7gzManagerEvent@@6B@ DD FLAT:??_R4gzManagerEvent@@6B@ ; gzManagerEvent::`vftable'
	DD	FLAT:__purecall
	DD	FLAT:?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z
	DD	FLAT:__purecall
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzManagerEvent@@QAE@XZ
_TEXT	SEGMENT
??0gzManagerEvent@@QAE@XZ PROC				; gzManagerEvent::gzManagerEvent, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET ??_7gzManagerEvent@@6B@
	ret	0
??0gzManagerEvent@@QAE@XZ ENDP				; gzManagerEvent::gzManagerEvent
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stevent.h
_TEXT	ENDS
;	COMDAT ?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z PROC ; gzManagerEvent::ChildObjCreation, COMDAT
; _this$ = ecx

; 110  : 	virtual void ChildObjCreation(gzBase *) { };

	ret	4
?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z ENDP ; gzManagerEvent::ChildObjCreation
_TEXT	ENDS
PUBLIC	?Bhs_Version@gzPlayerManager@@UAEXAAVgzEventBhsVersion@@@Z ; gzPlayerManager::Bhs_Version
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
;	COMDAT ?Bhs_Version@gzPlayerManager@@UAEXAAVgzEventBhsVersion@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Bhs_Version@gzPlayerManager@@UAEXAAVgzEventBhsVersion@@@Z PROC ; gzPlayerManager::Bhs_Version, COMDAT
; _this$ = ecx

; 428  : 	this->m_bhsVersion[evt.GetInt()] = evt.GetVersion();

	mov	eax, DWORD PTR _evt$[esp-4]
	mov	edx, DWORD PTR [eax+16]
	fld	DWORD PTR [eax+32]
	fstp	DWORD PTR [ecx+edx*4+40]

; 429  : }

	ret	4
?Bhs_Version@gzPlayerManager@@UAEXAAVgzEventBhsVersion@@@Z ENDP ; gzPlayerManager::Bhs_Version
_TEXT	ENDS
PUBLIC	??_7gzSerialManager@@6B@			; gzSerialManager::`vftable'
PUBLIC	??0gzSerialManager@@QAE@XZ			; gzSerialManager::gzSerialManager
PUBLIC	??_R4gzSerialManager@@6B@			; gzSerialManager::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzSerialManager@@@8			; gzSerialManager `RTTI Type Descriptor'
PUBLIC	??_R3gzSerialManager@@8				; gzSerialManager::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzSerialManager@@8				; gzSerialManager::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzSerialManager@@8		; gzSerialManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetName@gzSerialManager@@UAEPBDXZ		; gzSerialManager::GetName
PUBLIC	?Delete@gzSerialManager@@UAEXXZ			; gzSerialManager::Delete
PUBLIC	?Level_Loaded@EventHandler@@UAEXXZ		; EventHandler::Level_Loaded
PUBLIC	?Think@EventHandler@@UAEXXZ			; EventHandler::Think
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_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z ; gzSerialManager::Player_SerialHash
PUBLIC	?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z ; EventHandler::Object_Damaged
PUBLIC	?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z ; EventHandler::Object_Transition
PUBLIC	?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ; EventHandler::Object_JumpComplete
PUBLIC	?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z ; EventHandler::Object_Fire
PUBLIC	?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z ; EventHandler::Net_SerialAuth
PUBLIC	?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z ; EventHandler::Bhs_Poke
EXTRN	??_EgzSerialManager@@UAEPAXI@Z:PROC		; gzSerialManager::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzSerialManager@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzSerialManager@@8 DD FLAT:??_R0?AVgzSerialManager@@@8 ; gzSerialManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSerialManager@@8
rdata$r	ENDS
;	COMDAT ??_R2gzSerialManager@@8
rdata$r	SEGMENT
??_R2gzSerialManager@@8 DD FLAT:??_R1A@?0A@EA@gzSerialManager@@8 ; gzSerialManager::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzSerialManager@@8
rdata$r	SEGMENT
??_R3gzSerialManager@@8 DD 00H				; gzSerialManager::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2gzSerialManager@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzSerialManager@@@8
_DATA	SEGMENT
??_R0?AVgzSerialManager@@@8 DD FLAT:??_7type_info@@6B@	; gzSerialManager `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzSerialManager@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzSerialManager@@6B@
rdata$r	SEGMENT
??_R4gzSerialManager@@6B@ DD 00H			; gzSerialManager::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzSerialManager@@@8
	DD	FLAT:??_R3gzSerialManager@@8
rdata$r	ENDS
;	COMDAT ??_7gzSerialManager@@6B@
CONST	SEGMENT
??_7gzSerialManager@@6B@ DD FLAT:??_R4gzSerialManager@@6B@ ; gzSerialManager::`vftable'
	DD	FLAT:??_EgzSerialManager@@UAEPAXI@Z
	DD	FLAT:?GetName@gzSerialManager@@UAEPBDXZ
	DD	FLAT:?Delete@gzSerialManager@@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@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@gzSerialManager@@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$??0gzSerialManager@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzSerialManager@@QAE@XZ$0
__ehfuncinfo$??0gzSerialManager@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzSerialManager@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzSerialManager@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzSerialManager@@QAE@XZ PROC				; gzSerialManager::gzSerialManager, COMDAT
; _this$ = ecx

; 486  : {

	push	-1
	push	__ehhandler$??0gzSerialManager@@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

; 487  : 	this->RegisterEvent(EVT_PLAYER_SERIALHASH);

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

; 488  : 
; 489  : #if VERCL(1, 0, 1)
; 490  : 	FILE *list = fopen(SERIALBAN_FILE, "r");
; 491  : 	if (list)
; 492  : 	{
; 493  : 		char buf[512];
; 494  : 		buf[0] = '\0';
; 495  : 		while (!feof(list) && fgets(buf,511,list))
; 496  : 		{
; 497  : 			for (unsigned int i = strlen(buf) -1; i >= 0; i--)
; 498  : 			{
; 499  : 				if (buf[i] == '\n' || buf[i] == '\r')
; 500  : 					buf[i] = '\0';
; 501  : 				else
; 502  : 					break;
; 503  : 			}
; 504  : 			gzSerialBanStruct *sban = new gzSerialBanStruct;
; 505  : 			sban->hash.Printf("%.32s",buf);
; 506  : 			sban->reason = (buf + 32);
; 507  : 			this->m_banned.Add(sban);
; 508  : 		}
; 509  : 		fclose(list);
; 510  : 	}
; 511  : #endif
; 512  : }

	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$??0gzSerialManager@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__ehhandler$??0gzSerialManager@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzSerialManager@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzSerialManager@@QAE@XZ ENDP				; gzSerialManager::gzSerialManager
; 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 ?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
_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 ?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_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_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_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 ?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
_TEXT	ENDS
PUBLIC	??_C@_0BA@GFJCDGHO@gzSerialManager?$AA@		; `string'
;	COMDAT ??_C@_0BA@GFJCDGHO@gzSerialManager?$AA@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_0BA@GFJCDGHO@gzSerialManager?$AA@ DB 'gzSerialManager', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzSerialManager@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzSerialManager@@UAEPBDXZ PROC			; gzSerialManager::GetName, COMDAT
; _this$ = ecx

; 161  : 		return "gzSerialManager";

	mov	eax, OFFSET ??_C@_0BA@GFJCDGHO@gzSerialManager?$AA@

; 162  : 	};

	ret	0
?GetName@gzSerialManager@@UAEPBDXZ ENDP			; gzSerialManager::GetName
_TEXT	ENDS
PUBLIC	??1gzSerialManager@@UAE@XZ			; gzSerialManager::~gzSerialManager
; Function compile flags: /Ogtpy
;	COMDAT ??1gzSerialManager@@UAE@XZ
_TEXT	SEGMENT
??1gzSerialManager@@UAE@XZ PROC				; gzSerialManager::~gzSerialManager, COMDAT
; _this$ = ecx
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
??1gzSerialManager@@UAE@XZ ENDP				; gzSerialManager::~gzSerialManager
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
_TEXT	ENDS
;	COMDAT ?Delete@gzSerialManager@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzSerialManager@@UAEXXZ PROC			; gzSerialManager::Delete, COMDAT
; _this$ = ecx

; 515  : #if VERCL(1, 0, 1)
; 516  : 	this->Save();
; 517  : 	for (unsigned int i = 0; i < this->m_banned.Count(); i++)
; 518  : 		delete this->m_banned[i];
; 519  : 	this->m_banned.Clear();
; 520  : #endif
; 521  : }

	ret	0
?Delete@gzSerialManager@@UAEXXZ ENDP			; gzSerialManager::Delete
_TEXT	ENDS
PUBLIC	?Save@gzSerialManager@@QAEXXZ			; gzSerialManager::Save
; Function compile flags: /Ogtpy
;	COMDAT ?Save@gzSerialManager@@QAEXXZ
_TEXT	SEGMENT
?Save@gzSerialManager@@QAEXXZ PROC			; gzSerialManager::Save, COMDAT
; _this$ = ecx

; 555  : #if VERCL(1, 0, 1)
; 556  : 	FILE *list = fopen("sBan.tmp", "w");
; 557  : 	if (list)
; 558  : 	{
; 559  : 		for (unsigned int i = 0; i < this->m_banned.Count(); i++)
; 560  : 			fprintf(list,"%s%ls\n", this->m_banned[i]->hash.GetString(), this->m_banned[i]->reason.GetString());
; 561  : 		fclose(list);
; 562  : 		remove("sBan.dat");
; 563  : 		if (rename("sBan.tmp", "sBan.dat") != 0)
; 564  : 			stConsole::Out("FATAL ERROR - Failed to save serial ban list.\n");
; 565  : 	}
; 566  : #endif
; 567  : }

	ret	0
?Save@gzSerialManager@@QAEXXZ ENDP			; gzSerialManager::Save
_TEXT	ENDS
PUBLIC	??_C@_0CM@MEIKEJLH@DELETE?5FROM?5serial_ban?5WHERE?5has@ ; `string'
PUBLIC	?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z ; gzSerialManager::Hash_Unban
EXTRN	?PrintError@stDbManager@@QAEXXZ:PROC		; stDbManager::PrintError
EXTRN	?RecentChanges@aSQLite3@@QAEHXZ:PROC		; aSQLite3::RecentChanges
EXTRN	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z:PROC ; aSQLite3::Exec
EXTRN	?stDb@@3PAVstDbManager@@A:DWORD			; stDb
EXTRN	?Format@aString@@SA?AV1@PBDZZ:PROC		; aString::Format
;	COMDAT ??_C@_0CM@MEIKEJLH@DELETE?5FROM?5serial_ban?5WHERE?5has@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0CM@MEIKEJLH@DELETE?5FROM?5serial_ban?5WHERE?5has@ DB 'DELETE FROM '
	DB	'serial_ban WHERE hash = ''%.32s''', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z$0
__ehfuncinfo$?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z
_TEXT	SEGMENT
$T72393 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_hash$ = 8						; size = 4
?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z PROC	; gzSerialManager::Hash_Unban, COMDAT
; _this$ = ecx

; 606  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z
	push	eax

; 607  : #if VERC(1, 1, 0)
; 608  : 	if (stDb->Exec(aString::Format("DELETE FROM serial_ban WHERE hash = '%.32s'", hash.GetString())) > -1)

	mov	eax, DWORD PTR _hash$[esp+8]
	mov	DWORD PTR fs:0, esp
	mov	eax, DWORD PTR [eax+4]
	sub	esp, 8
	test	eax, eax
	je	SHORT $LN9@Hash_Unban
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN10@Hash_Unban
$LN9@Hash_Unban:
	xor	eax, eax
$LN10@Hash_Unban:
	push	ebx
	push	eax
	lea	ecx, DWORD PTR $T72393[esp+28]
	push	OFFSET ??_C@_0CM@MEIKEJLH@DELETE?5FROM?5serial_ban?5WHERE?5has@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	push	0
	push	eax
	mov	DWORD PTR __$EHRec$[esp+40], 0
	call	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z ; aSQLite3::Exec
	cmp	eax, -1
	lea	ecx, DWORD PTR $T72393[esp+24]
	setg	bl
	mov	DWORD PTR __$EHRec$[esp+32], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 609  : 	{
; 610  : 		if (stDb->RecentChanges() > 0)

	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	test	bl, bl
	pop	ebx
	je	SHORT $LN3@Hash_Unban
	call	?RecentChanges@aSQLite3@@QAEHXZ		; aSQLite3::RecentChanges
	test	eax, eax
	jle	SHORT $LN1@Hash_Unban

; 611  : 			return true;

	mov	al, 1

; 615  : #else
; 616  : 	for (unsigned int i = 0; i < this->m_banned.Count(); i++)
; 617  : 	{
; 618  : 		if (this->m_banned[i]->hash == hash)
; 619  : 		{
; 620  : 			delete this->m_banned[i];
; 621  : 			this->m_banned.Delete(i);
; 622  : 			this->Save();
; 623  : 			return true;
; 624  : 		}
; 625  : 	}
; 626  : #endif
; 627  : 	return false;
; 628  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	4
$LN3@Hash_Unban:

; 612  : 	}
; 613  : 	else
; 614  : 		stDb->PrintError();

	call	?PrintError@stDbManager@@QAEXXZ		; stDbManager::PrintError
$LN1@Hash_Unban:

; 615  : #else
; 616  : 	for (unsigned int i = 0; i < this->m_banned.Count(); i++)
; 617  : 	{
; 618  : 		if (this->m_banned[i]->hash == hash)
; 619  : 		{
; 620  : 			delete this->m_banned[i];
; 621  : 			this->m_banned.Delete(i);
; 622  : 			this->Save();
; 623  : 			return true;
; 624  : 		}
; 625  : 	}
; 626  : #endif
; 627  : 	return false;
; 628  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	xor	al, al
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z$0:
	lea	ecx, DWORD PTR $T72393[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z ENDP	; gzSerialManager::Hash_Unban
PUBLIC	??0gzSerialBanStruct@@QAE@XZ			; gzSerialBanStruct::gzSerialBanStruct
EXTRN	??0aString@@QAE@XZ:PROC				; aString::aString
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzSerialBanStruct@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzSerialBanStruct@@QAE@XZ$0
__ehfuncinfo$??0gzSerialBanStruct@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzSerialBanStruct@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzSerialBanStruct@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzSerialBanStruct@@QAE@XZ PROC			; gzSerialBanStruct::gzSerialBanStruct, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0gzSerialBanStruct@@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	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??0aString@@QAE@XZ			; aString::aString
	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$??0gzSerialBanStruct@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??0gzSerialBanStruct@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzSerialBanStruct@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzSerialBanStruct@@QAE@XZ ENDP			; gzSerialBanStruct::gzSerialBanStruct
PUBLIC	?Damaged@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0M@Z ; gzObserverSoldier::Damaged
; Function compile flags: /Ogtpy
;	COMDAT ?Damaged@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0M@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_damager$ = 12						; size = 4
_damage$ = 16						; size = 4
?Damaged@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0M@Z PROC ; gzObserverSoldier::Damaged, COMDAT
; _this$ = ecx

; 807  : 	this->m_lastDamage = damage;

	fld	DWORD PTR _damage$[esp-4]
	fstp	DWORD PTR [ecx+36]

; 808  : }

	ret	12					; 0000000cH
?Damaged@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0M@Z ENDP ; gzObserverSoldier::Damaged
_TEXT	ENDS
PUBLIC	?Timer_Expired@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzObserverSoldier::Timer_Expired
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzObserverSoldier::Timer_Expired, COMDAT
; _this$ = ecx

; 985  : 	switch (number)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	eax, 10					; 0000000aH
	je	SHORT $LN2@Timer_Expi
	sub	eax, 1
	jne	SHORT $LN3@Timer_Expi

; 989  : 			break;
; 990  : 
; 991  : 		case 11:
; 992  : 			this->m_tibDamage = false;

	mov	BYTE PTR [ecx+32], al

; 993  : 			break;
; 994  : 	}
; 995  : }

	ret	8
$LN2@Timer_Expi:

; 986  : 	{
; 987  : 		case 10:
; 988  : 			this->m_fallDeath = false;

	mov	BYTE PTR [ecx+33], 0
$LN3@Timer_Expi:

; 993  : 			break;
; 994  : 	}
; 995  : }

	ret	8
?Timer_Expired@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzObserverSoldier::Timer_Expired
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserverSoldier>::~nc_ScriptRegistrant<gzObserverSoldier>
EXTRN	??1nc_ScriptFactory@@UAE@XZ:PROC		; nc_ScriptFactory::~nc_ScriptFactory
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserverSoldier>::~nc_ScriptRegistrant<gzObserverSoldier>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserverSoldier>::~nc_ScriptRegistrant<gzObserverSoldier>
_TEXT	ENDS
PUBLIC	??_C@_04KOACHJEN@Type?$AA@			; `string'
PUBLIC	?Custom@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ; gzObserverSpectator::Custom
EXTRN	?Send_Object_Update@nc_cNetwork@@SAXPAVnc_NetworkObjectClass@@H@Z:PROC ; nc_cNetwork::Send_Object_Update
EXTRN	?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A:DWORD ; nc_cPlayerManager::PlayerList
EXTRN	?Get_Int_Parameter@nc_ScriptImpClass@@QAEHPBD@Z:PROC ; nc_ScriptImpClass::Get_Int_Parameter
;	COMDAT ??_C@_04KOACHJEN@Type?$AA@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_04KOACHJEN@Type?$AA@ DB 'Type', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Custom@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@HH0@Z PROC ; gzObserverSpectator::Custom, COMDAT
; _this$ = ecx

; 1048 : 	if (message == 2095)

	cmp	DWORD PTR _message$[esp-4], 2095	; 0000082fH
	push	ebx
	mov	ebx, ecx
	jne	SHORT $LN5@Custom

; 1049 : 	{
; 1050 : 		if (Get_Int_Parameter("Type") == 1)

	push	OFFSET ??_C@_04KOACHJEN@Type?$AA@
	call	?Get_Int_Parameter@nc_ScriptImpClass@@QAEHPBD@Z ; nc_ScriptImpClass::Get_Int_Parameter
	cmp	eax, 1
	jne	SHORT $LN5@Custom
	push	esi
	push	edi

; 1051 : 		{
; 1052 : 			obj->DeletePending = true;

	mov	edi, DWORD PTR _obj$[esp+8]
	mov	BYTE PTR [edi+1188], al

; 1053 : 			for (nc_GenericSLNode<nc_cPlayer> *pList = nc_cPlayerManager::PlayerList->HeadNode; pList != NULL; pList = pList->NodeNext)

	mov	eax, DWORD PTR ?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A ; nc_cPlayerManager::PlayerList
	mov	esi, DWORD PTR [eax+4]
	test	esi, esi
	je	SHORT $LN2@Custom
$LL4@Custom:

; 1054 : 			{
; 1055 : 				if (pList->NodeData->IsActive && pList->NodeData->PlayerId != this->m_owner->GetPlayerData()->PlayerId)

	mov	eax, DWORD PTR [esi+4]
	cmp	BYTE PTR [eax+1981], 0
	je	SHORT $LN3@Custom
	mov	ecx, DWORD PTR [ebx+28]
	mov	eax, DWORD PTR [eax+1884]
	mov	edx, DWORD PTR [ecx+76]
	cmp	eax, DWORD PTR [edx+1884]
	je	SHORT $LN3@Custom

; 1056 : 					nc_cNetwork::Send_Object_Update(obj, pList->NodeData->PlayerId);

	push	eax
	lea	eax, DWORD PTR [edi+8]
	push	eax
	call	?Send_Object_Update@nc_cNetwork@@SAXPAVnc_NetworkObjectClass@@H@Z ; nc_cNetwork::Send_Object_Update
	add	esp, 8
$LN3@Custom:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL4@Custom
$LN2@Custom:

; 1057 : 			}
; 1058 : 			obj->DeletePending = false;

	mov	BYTE PTR [edi+1188], 0
	pop	edi
	pop	esi
$LN5@Custom:
	pop	ebx

; 1059 : 		}
; 1060 : 	}
; 1061 : }

	ret	16					; 00000010H
?Custom@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ENDP ; gzObserverSpectator::Custom
_TEXT	ENDS
PUBLIC	?Destroyed@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverSpectator::Destroyed
; Function compile flags: /Ogtpy
;	COMDAT ?Destroyed@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Destroyed@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverSpectator::Destroyed, COMDAT
; _this$ = ecx

; 1063 : {

	push	esi
	mov	esi, ecx

; 1064 : 	if (this->m_owner->GetSoldier())

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR [eax+76]
	cmp	DWORD PTR [ecx+20], 0
	je	SHORT $LN7@Destroyed
	mov	edx, ecx
	mov	eax, DWORD PTR [edx+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	test	eax, eax
	je	SHORT $LN7@Destroyed

; 1065 : 		this->m_owner->SetIsSpectator(false);

	mov	ecx, DWORD PTR [esi+28]
	mov	BYTE PTR [ecx+132], 0
$LN7@Destroyed:
	pop	esi

; 1066 : }

	ret	4
?Destroyed@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverSpectator::Destroyed
_TEXT	ENDS
PUBLIC	__real@40a00000
PUBLIC	__real@3f800000
PUBLIC	?Timer_Expired@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzObserverSpectator::Timer_Expired
EXTRN	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z:PROC ; nc_ScriptableGameObj::Start_Observer_Timer
EXTRN	?Clear_Weapons@nc_WeaponBagClass@@QAEXXZ:PROC	; nc_WeaponBagClass::Clear_Weapons
;	COMDAT __real@40a00000
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
__real@40a00000 DD 040a00000r			; 5
CONST	ENDS
;	COMDAT __real@3f800000
CONST	SEGMENT
__real@3f800000 DD 03f800000r			; 1
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Timer_Expired@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzObserverSpectator::Timer_Expired, COMDAT
; _this$ = ecx

; 1068 : 	if (number == 1)

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

; 1069 : 	{
; 1070 : 		this->m_owner->GetSoldier()->WeaponBag->Clear_Weapons();

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR [eax+76]
	cmp	DWORD PTR [ecx+20], 0
	je	SHORT $LN6@Timer_Expi@2
	mov	edx, ecx
	mov	eax, DWORD PTR [edx+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	jmp	SHORT $LN7@Timer_Expi@2
$LN6@Timer_Expi@2:
	xor	eax, eax
$LN7@Timer_Expi@2:
	mov	ecx, DWORD PTR [eax+1968]
	call	?Clear_Weapons@nc_WeaponBagClass@@QAEXXZ ; nc_WeaponBagClass::Clear_Weapons

; 1071 : 		obj->Start_Observer_Timer(this->GetID(), 1.0f, 1);

	fld1
	push	1
	push	ecx
	mov	ecx, DWORD PTR [esi+4]
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+12]
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	esi

; 1077 : 	}
; 1078 : }

	ret	8
$LN3@Timer_Expi@2:

; 1072 : 	}
; 1073 : 	else if (number == 2)

	cmp	eax, 2
	jne	SHORT $LN1@Timer_Expi@2

; 1074 : 	{
; 1075 : 		this->Custom(obj, 2095, 0, 0);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+32]
	push	edi
	mov	edi, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	2095					; 0000082fH
	push	edi
	call	eax

; 1076 : 		obj->Start_Observer_Timer(this->GetID(), 5.0f, 2);

	fld	DWORD PTR __real@40a00000
	push	2
	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
$LN1@Timer_Expi@2:
	pop	esi

; 1077 : 	}
; 1078 : }

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

; 1081 : void gzFreeze_Player::Created(nc_ScriptableGameObj *obj) {

	push	esi
	push	edi

; 1082 : 	obj->Get_Position(&this->m_pos);

	mov	edi, DWORD PTR _obj$[esp+4]
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+56]
	mov	esi, ecx
	lea	ecx, DWORD PTR [esi+28]
	push	ecx
	mov	ecx, edi
	call	edx

; 1083 : 	this->Timer_Expired(obj, 1);

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

; 1084 : }

	ret	4
?Created@gzFreeze_Player@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzFreeze_Player::Created
_TEXT	ENDS
PUBLIC	?Custom@gzFreeze_Player@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ; gzFreeze_Player::Custom
EXTRN	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ:PROC	; nc_ScriptImpClass::Destroy_Script
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@gzFreeze_Player@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@gzFreeze_Player@@EAEXPAVnc_ScriptableGameObj@@HH0@Z PROC ; gzFreeze_Player::Custom, COMDAT
; _this$ = ecx

; 1086 : 	if (message == 703165)

	cmp	DWORD PTR _message$[esp-4], 703165	; 000ababdH
	jne	SHORT $LN1@Custom@2

; 1087 : 	{
; 1088 : 		this->Destroy_Script();

	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
$LN1@Custom@2:

; 1089 : 	}
; 1090 : }

	ret	16					; 00000010H
?Custom@gzFreeze_Player@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ENDP ; gzFreeze_Player::Custom
_TEXT	ENDS
PUBLIC	?Timer_Expired@gzFreeze_Player@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzFreeze_Player::Timer_Expired
EXTRN	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z:PROC ; nc_PhysicalGameObj::Set_Position
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@gzFreeze_Player@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzFreeze_Player@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzFreeze_Player::Timer_Expired, COMDAT
; _this$ = ecx

; 1092 : 	if (number == 1)

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

; 1093 : 	{
; 1094 : 		obj->As_PhysicalGameObj()->Set_Position(this->m_pos);

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edx, DWORD PTR [esi]
	lea	eax, DWORD PTR [edi+28]
	push	eax
	mov	eax, DWORD PTR [edx+36]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position

; 1095 : 		obj->Start_Observer_Timer(this->GetID(), 0.0f, 1);

	fldz
	push	1
	push	ecx
	mov	ecx, DWORD PTR [edi+4]
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, esi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	esi
$LN1@Timer_Expi@3:
	pop	edi

; 1096 : 	}
; 1097 : }

	ret	8
?Timer_Expired@gzFreeze_Player@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzFreeze_Player::Timer_Expired
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAE@XZ ; nc_ScriptRegistrant<gzFreeze_Player>::~nc_ScriptRegistrant<gzFreeze_Player>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzFreeze_Player>::~nc_ScriptRegistrant<gzFreeze_Player>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzFreeze_Player>::~nc_ScriptRegistrant<gzFreeze_Player>
_TEXT	ENDS
PUBLIC	?PagePlayer@@YAXHPBDZZ				; PagePlayer
EXTRN	??_V@YAXPAX@Z:PROC				; operator delete[]
EXTRN	?Send_Text_Msg@@YAXABVnc_WideStringClass@@H_NHH@Z:PROC ; Send_Text_Msg
EXTRN	?Convert_From@nc_WideStringClass@@QAEXPBD@Z:PROC ; nc_WideStringClass::Convert_From
EXTRN	?Get_String@nc_WideStringClass@@QAE_WH_N@Z:PROC	; nc_WideStringClass::Get_String
EXTRN	_vsprintf:PROC
EXTRN	??_U@YAPAXI@Z:PROC				; operator new[]
EXTRN	__vscprintf:PROC
;	COMDAT xdata$x
; File d:\source code\fds lib\new\fds_string.h
xdata$x	SEGMENT
__unwindtable$?PagePlayer@@YAXHPBDZZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?PagePlayer@@YAXHPBDZZ$0
__ehfuncinfo$?PagePlayer@@YAXHPBDZZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?PagePlayer@@YAXHPBDZZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?PagePlayer@@YAXHPBDZZ
_TEXT	SEGMENT
_wstr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pID$ = 8						; size = 4
_msg$ = 12						; size = 4
?PagePlayer@@YAXHPBDZZ PROC				; PagePlayer, COMDAT

; 1101 : {

	push	-1
	push	__ehhandler$?PagePlayer@@YAXHPBDZZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx

; 1102 : 	if (!*msg)

	mov	eax, DWORD PTR _msg$[esp+12]
	cmp	BYTE PTR [eax], 0
	je	$LN11@PagePlayer
	push	esi

; 1103 : 		return;
; 1104 : 	va_list arg;
; 1105 : 	va_start(arg, msg);
; 1106 : 	int size = _vscprintf(msg, arg);

	lea	ecx, DWORD PTR _msg$[esp+20]
	push	ecx
	push	eax
	call	__vscprintf

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	1107					; 00000453H
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	mov	esi, eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	add	esi, 1
	push	esi
	call	??_U@YAPAXI@Z				; operator new[]
	mov	esi, eax

; 1108 : 	vsprintf(fmsg, msg, arg);

	mov	eax, DWORD PTR _msg$[esp+40]
	lea	edx, DWORD PTR _msg$[esp+44]
	push	edx
	push	eax
	push	esi
	call	_vsprintf

; 1109 : 	va_end(arg);
; 1110 : 	nc_WideStringClass wstr;

	mov	ecx, DWORD PTR ?m_EmptyString@nc_WideStringClass@@2PAPA_WA ; nc_WideStringClass::m_EmptyString
	mov	edx, DWORD PTR [ecx]
	add	esp, 36					; 00000024H
	mov	DWORD PTR _wstr$[esp+20], edx

; 1111 : 	wstr.Get_String(0, false);

	push	0
	push	0
	lea	ecx, DWORD PTR _wstr$[esp+28]
	mov	DWORD PTR __$EHRec$[esp+36], 0
	call	?Get_String@nc_WideStringClass@@QAE_WH_N@Z ; nc_WideStringClass::Get_String

; 1112 : 	wstr.Convert_From(fmsg);

	push	esi
	lea	ecx, DWORD PTR _wstr$[esp+24]
	call	?Convert_From@nc_WideStringClass@@QAEXPBD@Z ; nc_WideStringClass::Convert_From

; 1113 : 	Send_Text_Msg(wstr, 2, false, -1, pID);

	mov	eax, DWORD PTR _pID$[esp+16]
	push	eax
	push	-1
	push	0
	lea	ecx, DWORD PTR _wstr$[esp+32]
	push	2
	push	ecx
	call	?Send_Text_Msg@@YAXABVnc_WideStringClass@@H_NHH@Z ; Send_Text_Msg
	add	esp, 20					; 00000014H

; 1114 : 	wstr.Free_String();

	lea	ecx, DWORD PTR _wstr$[esp+20]
	call	?Free_String@nc_WideStringClass@@QAEXXZ	; nc_WideStringClass::Free_String

; 1115 : 	delete [] fmsg;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	1115					; 0000045bH
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 1116 : }

	lea	ecx, DWORD PTR _wstr$[esp+20]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	?Free_String@nc_WideStringClass@@QAEXXZ	; nc_WideStringClass::Free_String
	pop	esi
$LN11@PagePlayer:
	mov	ecx, DWORD PTR __$EHRec$[esp+16]
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?PagePlayer@@YAXHPBDZZ$0:
	lea	ecx, DWORD PTR _wstr$[ebp]
	jmp	??1nc_WideStringClass@@QAE@XZ		; nc_WideStringClass::~nc_WideStringClass
__ehhandler$?PagePlayer@@YAXHPBDZZ:
	mov	eax, OFFSET __ehfuncinfo$?PagePlayer@@YAXHPBDZZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?PagePlayer@@YAXHPBDZZ ENDP				; PagePlayer
PUBLIC	??_7SpectateConsoleFunction@@6B@		; SpectateConsoleFunction::`vftable'
PUBLIC	??0SpectateConsoleFunction@@QAE@XZ		; SpectateConsoleFunction::SpectateConsoleFunction
PUBLIC	??_R4SpectateConsoleFunction@@6B@		; SpectateConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSpectateConsoleFunction@@@8		; SpectateConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3SpectateConsoleFunction@@8			; SpectateConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SpectateConsoleFunction@@8			; SpectateConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SpectateConsoleFunction@@8	; SpectateConsoleFunction::`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@SpectateConsoleFunction@@UAEPADXZ	; SpectateConsoleFunction::Get_Name
PUBLIC	?Get_Alias@SpectateConsoleFunction@@UAEPADXZ	; SpectateConsoleFunction::Get_Alias
PUBLIC	?Get_Help@SpectateConsoleFunction@@UAEPADXZ	; SpectateConsoleFunction::Get_Help
PUBLIC	?Activate@SpectateConsoleFunction@@UAEXPAD@Z	; SpectateConsoleFunction::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@SpectateConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SpectateConsoleFunction@@8 DD FLAT:??_R0?AVSpectateConsoleFunction@@@8 ; SpectateConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SpectateConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2SpectateConsoleFunction@@8
rdata$r	SEGMENT
??_R2SpectateConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@SpectateConsoleFunction@@8 ; SpectateConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3SpectateConsoleFunction@@8
rdata$r	SEGMENT
??_R3SpectateConsoleFunction@@8 DD 00H			; SpectateConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2SpectateConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSpectateConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVSpectateConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; SpectateConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSpectateConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SpectateConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4SpectateConsoleFunction@@6B@ DD 00H		; SpectateConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSpectateConsoleFunction@@@8
	DD	FLAT:??_R3SpectateConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7SpectateConsoleFunction@@6B@
CONST	SEGMENT
??_7SpectateConsoleFunction@@6B@ DD FLAT:??_R4SpectateConsoleFunction@@6B@ ; SpectateConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@SpectateConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@SpectateConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@SpectateConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@SpectateConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SpectateConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0SpectateConsoleFunction@@QAE@XZ PROC			; SpectateConsoleFunction::SpectateConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7SpectateConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SpectateConsoleFunction@@QAE@XZ ENDP			; SpectateConsoleFunction::SpectateConsoleFunction
_TEXT	ENDS
PUBLIC	??Znc_IntDataSafeClass@@QAEXH@Z			; nc_IntDataSafeClass::operator-=
EXTRN	?Get@nc_IntDataSafeClass@@QAEHXZ:PROC		; nc_IntDataSafeClass::Get
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_def.h
;	COMDAT ??Znc_IntDataSafeClass@@QAEXH@Z
_TEXT	SEGMENT
_value$ = 8						; size = 4
??Znc_IntDataSafeClass@@QAEXH@Z PROC			; nc_IntDataSafeClass::operator-=, COMDAT
; _this$ = ecx

; 275  : 	void operator-=(int value) {

	push	esi
	mov	esi, ecx

; 276  : 		value = this->Get() - value;

	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	sub	eax, DWORD PTR _value$[esp]
	mov	DWORD PTR _value$[esp], eax

; 277  : 		this->Set(value);

	lea	eax, DWORD PTR _value$[esp]
	push	eax
	push	esi
	call	?Set@nc_IntDataSafeClass@@QAG_NAAH@Z	; nc_IntDataSafeClass::Set
	pop	esi

; 278  : 	}

	ret	4
??Znc_IntDataSafeClass@@QAEXH@Z ENDP			; nc_IntDataSafeClass::operator-=
_TEXT	ENDS
PUBLIC	?IsSpectator@gzPlayer@@QAE_NXZ			; gzPlayer::IsSpectator
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.h
;	COMDAT ?IsSpectator@gzPlayer@@QAE_NXZ
_TEXT	SEGMENT
?IsSpectator@gzPlayer@@QAE_NXZ PROC			; gzPlayer::IsSpectator, COMDAT
; _this$ = ecx

; 104  : 	inline bool IsSpectator() { return this->m_isSpectator; };

	mov	al, BYTE PTR [ecx+132]
	ret	0
?IsSpectator@gzPlayer@@QAE_NXZ ENDP			; gzPlayer::IsSpectator
_TEXT	ENDS
PUBLIC	??_C@_08OPNMBCGA@spectate?$AA@			; `string'
;	COMDAT ??_C@_08OPNMBCGA@spectate?$AA@
; File d:\source code\stgm\stplayer.cpp
CONST	SEGMENT
??_C@_08OPNMBCGA@spectate?$AA@ DB 'spectate', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@SpectateConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@SpectateConsoleFunction@@UAEPADXZ PROC	; SpectateConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1124 : 		return "spectate";

	mov	eax, OFFSET ??_C@_08OPNMBCGA@spectate?$AA@

; 1125 : 	}

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

; 1127 : 		return "spec";

	mov	eax, OFFSET ??_C@_04OMFMADMO@spec?$AA@

; 1128 : 	}

	ret	0
?Get_Alias@SpectateConsoleFunction@@UAEPADXZ ENDP	; SpectateConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0EA@PCIJELND@SPECTATE?5?$DMplayer?$DO?5?9?5Set?1Remove?5?$DM@ ; `string'
;	COMDAT ??_C@_0EA@PCIJELND@SPECTATE?5?$DMplayer?$DO?5?9?5Set?1Remove?5?$DM@
CONST	SEGMENT
??_C@_0EA@PCIJELND@SPECTATE?5?$DMplayer?$DO?5?9?5Set?1Remove?5?$DM@ DB 'S'
	DB	'PECTATE <player> - Set/Remove <player> to/from Spectator Mode'
	DB	'.', 00H					; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@SpectateConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@SpectateConsoleFunction@@UAEPADXZ PROC	; SpectateConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1130 : 		return "SPECTATE <player> - Set/Remove <player> to/from Spectator Mode.";

	mov	eax, OFFSET ??_C@_0EA@PCIJELND@SPECTATE?5?$DMplayer?$DO?5?9?5Set?1Remove?5?$DM@

; 1131 : 	}

	ret	0
?Get_Help@SpectateConsoleFunction@@UAEPADXZ ENDP	; SpectateConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_7NewSpectateConsoleFunction@@6B@		; NewSpectateConsoleFunction::`vftable'
PUBLIC	??0NewSpectateConsoleFunction@@QAE@XZ		; NewSpectateConsoleFunction::NewSpectateConsoleFunction
PUBLIC	??_R4NewSpectateConsoleFunction@@6B@		; NewSpectateConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVNewSpectateConsoleFunction@@@8		; NewSpectateConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3NewSpectateConsoleFunction@@8		; NewSpectateConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2NewSpectateConsoleFunction@@8		; NewSpectateConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@NewSpectateConsoleFunction@@8	; NewSpectateConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@NewSpectateConsoleFunction@@UAEPADXZ	; NewSpectateConsoleFunction::Get_Name
PUBLIC	?Get_Alias@NewSpectateConsoleFunction@@UAEPADXZ	; NewSpectateConsoleFunction::Get_Alias
PUBLIC	?Get_Help@NewSpectateConsoleFunction@@UAEPADXZ	; NewSpectateConsoleFunction::Get_Help
PUBLIC	?Activate@NewSpectateConsoleFunction@@UAEXPAD@Z	; NewSpectateConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@NewSpectateConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@NewSpectateConsoleFunction@@8 DD FLAT:??_R0?AVNewSpectateConsoleFunction@@@8 ; NewSpectateConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3NewSpectateConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2NewSpectateConsoleFunction@@8
rdata$r	SEGMENT
??_R2NewSpectateConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@NewSpectateConsoleFunction@@8 ; NewSpectateConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3NewSpectateConsoleFunction@@8
rdata$r	SEGMENT
??_R3NewSpectateConsoleFunction@@8 DD 00H		; NewSpectateConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2NewSpectateConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVNewSpectateConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVNewSpectateConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; NewSpectateConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVNewSpectateConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4NewSpectateConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4NewSpectateConsoleFunction@@6B@ DD 00H		; NewSpectateConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVNewSpectateConsoleFunction@@@8
	DD	FLAT:??_R3NewSpectateConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7NewSpectateConsoleFunction@@6B@
CONST	SEGMENT
??_7NewSpectateConsoleFunction@@6B@ DD FLAT:??_R4NewSpectateConsoleFunction@@6B@ ; NewSpectateConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@NewSpectateConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@NewSpectateConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@NewSpectateConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@NewSpectateConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0NewSpectateConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0NewSpectateConsoleFunction@@QAE@XZ PROC		; NewSpectateConsoleFunction::NewSpectateConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7NewSpectateConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0NewSpectateConsoleFunction@@QAE@XZ ENDP		; NewSpectateConsoleFunction::NewSpectateConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_0M@IGHFNLCM@newspectate?$AA@		; `string'
;	COMDAT ??_C@_0M@IGHFNLCM@newspectate?$AA@
CONST	SEGMENT
??_C@_0M@IGHFNLCM@newspectate?$AA@ DB 'newspectate', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@NewSpectateConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@NewSpectateConsoleFunction@@UAEPADXZ PROC	; NewSpectateConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1159 : 		return "newspectate";

	mov	eax, OFFSET ??_C@_0M@IGHFNLCM@newspectate?$AA@

; 1160 : 	}

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

; 1162 : 		return "nspec";

	mov	eax, OFFSET ??_C@_05KJECDLFK@nspec?$AA@

; 1163 : 	}

	ret	0
?Get_Alias@NewSpectateConsoleFunction@@UAEPADXZ ENDP	; NewSpectateConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0ED@FOGLNFOJ@NEWSPECTATE?5?$DMplayer?$DO?5?9?5Set?1Remov@ ; `string'
;	COMDAT ??_C@_0ED@FOGLNFOJ@NEWSPECTATE?5?$DMplayer?$DO?5?9?5Set?1Remov@
CONST	SEGMENT
??_C@_0ED@FOGLNFOJ@NEWSPECTATE?5?$DMplayer?$DO?5?9?5Set?1Remov@ DB 'NEWSP'
	DB	'ECTATE <player> - Set/Remove <player> to/from Spectator Mode.'
	DB	00H						; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@NewSpectateConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@NewSpectateConsoleFunction@@UAEPADXZ PROC	; NewSpectateConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1165 : 		return "NEWSPECTATE <player> - Set/Remove <player> to/from Spectator Mode.";

	mov	eax, OFFSET ??_C@_0ED@FOGLNFOJ@NEWSPECTATE?5?$DMplayer?$DO?5?9?5Set?1Remov@

; 1166 : 	}

	ret	0
?Get_Help@NewSpectateConsoleFunction@@UAEPADXZ ENDP	; NewSpectateConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_7SetPlayerSpeedConsoleFunction@@6B@		; SetPlayerSpeedConsoleFunction::`vftable'
PUBLIC	??0SetPlayerSpeedConsoleFunction@@QAE@XZ	; SetPlayerSpeedConsoleFunction::SetPlayerSpeedConsoleFunction
PUBLIC	??_R4SetPlayerSpeedConsoleFunction@@6B@		; SetPlayerSpeedConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSetPlayerSpeedConsoleFunction@@@8	; SetPlayerSpeedConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3SetPlayerSpeedConsoleFunction@@8		; SetPlayerSpeedConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SetPlayerSpeedConsoleFunction@@8		; SetPlayerSpeedConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SetPlayerSpeedConsoleFunction@@8	; SetPlayerSpeedConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@SetPlayerSpeedConsoleFunction@@UAEPADXZ ; SetPlayerSpeedConsoleFunction::Get_Name
PUBLIC	?Get_Alias@SetPlayerSpeedConsoleFunction@@UAEPADXZ ; SetPlayerSpeedConsoleFunction::Get_Alias
PUBLIC	?Get_Help@SetPlayerSpeedConsoleFunction@@UAEPADXZ ; SetPlayerSpeedConsoleFunction::Get_Help
PUBLIC	?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z ; SetPlayerSpeedConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@SetPlayerSpeedConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SetPlayerSpeedConsoleFunction@@8 DD FLAT:??_R0?AVSetPlayerSpeedConsoleFunction@@@8 ; SetPlayerSpeedConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SetPlayerSpeedConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2SetPlayerSpeedConsoleFunction@@8
rdata$r	SEGMENT
??_R2SetPlayerSpeedConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@SetPlayerSpeedConsoleFunction@@8 ; SetPlayerSpeedConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3SetPlayerSpeedConsoleFunction@@8
rdata$r	SEGMENT
??_R3SetPlayerSpeedConsoleFunction@@8 DD 00H		; SetPlayerSpeedConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2SetPlayerSpeedConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSetPlayerSpeedConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVSetPlayerSpeedConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; SetPlayerSpeedConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSetPlayerSpeedConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SetPlayerSpeedConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4SetPlayerSpeedConsoleFunction@@6B@ DD 00H		; SetPlayerSpeedConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSetPlayerSpeedConsoleFunction@@@8
	DD	FLAT:??_R3SetPlayerSpeedConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7SetPlayerSpeedConsoleFunction@@6B@
CONST	SEGMENT
??_7SetPlayerSpeedConsoleFunction@@6B@ DD FLAT:??_R4SetPlayerSpeedConsoleFunction@@6B@ ; SetPlayerSpeedConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@SetPlayerSpeedConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@SetPlayerSpeedConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@SetPlayerSpeedConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SetPlayerSpeedConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0SetPlayerSpeedConsoleFunction@@QAE@XZ PROC		; SetPlayerSpeedConsoleFunction::SetPlayerSpeedConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7SetPlayerSpeedConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SetPlayerSpeedConsoleFunction@@QAE@XZ ENDP		; SetPlayerSpeedConsoleFunction::SetPlayerSpeedConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_08GHOFHBFP@setspeed?$AA@			; `string'
;	COMDAT ??_C@_08GHOFHBFP@setspeed?$AA@
CONST	SEGMENT
??_C@_08GHOFHBFP@setspeed?$AA@ DB 'setspeed', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@SetPlayerSpeedConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@SetPlayerSpeedConsoleFunction@@UAEPADXZ PROC	; SetPlayerSpeedConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1195 : 		return "setspeed";

	mov	eax, OFFSET ??_C@_08GHOFHBFP@setspeed?$AA@

; 1196 : 	};

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

; 1199 : 		return "speed";

	mov	eax, OFFSET ??_C@_05HJCMGBKF@speed?$AA@

; 1200 : 	};

	ret	0
?Get_Alias@SetPlayerSpeedConsoleFunction@@UAEPADXZ ENDP	; SetPlayerSpeedConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0FI@PJMMCNGJ@SETSPEED?5?$DMplayer_id?$DO?5?$DMspeed?$DO?5?9?5S@ ; `string'
;	COMDAT ??_C@_0FI@PJMMCNGJ@SETSPEED?5?$DMplayer_id?$DO?5?$DMspeed?$DO?5?9?5S@
CONST	SEGMENT
??_C@_0FI@PJMMCNGJ@SETSPEED?5?$DMplayer_id?$DO?5?$DMspeed?$DO?5?9?5S@ DB 'S'
	DB	'ETSPEED <player_id> <speed> - Set the speed for player with i'
	DB	'd <player_id> to <speed>.', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@SetPlayerSpeedConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@SetPlayerSpeedConsoleFunction@@UAEPADXZ PROC	; SetPlayerSpeedConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1203 : 		return "SETSPEED <player_id> <speed> - Set the speed for player with id <player_id> to <speed>.";

	mov	eax, OFFSET ??_C@_0FI@PJMMCNGJ@SETSPEED?5?$DMplayer_id?$DO?5?$DMspeed?$DO?5?9?5S@

; 1204 : 	};

	ret	0
?Get_Help@SetPlayerSpeedConsoleFunction@@UAEPADXZ ENDP	; SetPlayerSpeedConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_C@_0CK@NBIBIAIP@Speed?5for?5player?5?$CFls?5has?5been?5se@ ; `string'
EXTRN	??1aToken@@UAE@XZ:PROC				; aToken::~aToken
EXTRN	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z:PROC ; nc_cPlayerManager::Find_Player
EXTRN	?ToLong@aToken@@QAEJXZ:PROC			; aToken::ToLong
EXTRN	?gettok@aToken@@QAE?AV1@HE@Z:PROC		; aToken::gettok
EXTRN	?numtok@aToken@@QAEHE@Z:PROC			; aToken::numtok
EXTRN	??0aToken@@QAE@ABVaString@@@Z:PROC		; aToken::aToken
EXTRN	??0aString@@QAE@PBD@Z:PROC			; aString::aString
;	COMDAT ??_C@_0CK@NBIBIAIP@Speed?5for?5player?5?$CFls?5has?5been?5se@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0CK@NBIBIAIP@Speed?5for?5player?5?$CFls?5has?5been?5se@ DB 'Speed f'
	DB	'or player %ls has been set to %d.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z$3
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_speed$ = -52						; size = 4
_token$ = -48						; size = 8
$T72576 = -40						; size = 8
$T72577 = -32						; size = 8
$T72578 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z PROC	; SetPlayerSpeedConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1206 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z
	push	eax

; 1207 : 		if (!*text)

	mov	eax, DWORD PTR _text$[ebp]
	mov	DWORD PTR fs:0, esp
	sub	esp, 44					; 0000002cH
	cmp	BYTE PTR [eax], 0
	push	esi
	push	edi
	je	$LN6@Activate

; 1208 : 			return;
; 1209 : 		aToken token(text);

	push	eax
	lea	ecx, DWORD PTR $T72576[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T72576[esp+64]
	push	eax
	lea	ecx, DWORD PTR _token$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T72576[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1210 : 		if (token.numtok(' ') != 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _token$[esp+68]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2

; 1211 : 			return;

	jne	$LN2@Activate

; 1212 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(token.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T72577[esp+72]
	push	ecx
	lea	ecx, DWORD PTR _token$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T72577[esp+64]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1213 : 		if (!pData || !pData->Owner.Reference)

	test	esi, esi
	je	SHORT $LN2@Activate
	cmp	DWORD PTR [esi+20], 0
	je	SHORT $LN2@Activate

; 1214 : 			return;
; 1215 : 		int speed = token.gettok(2, ' ').ToLong();

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T72578[esp+72]
	push	edx
	lea	ecx, DWORD PTR _token$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	mov	edi, eax
	lea	ecx, DWORD PTR $T72578[esp+64]
	mov	DWORD PTR _speed$[esp+64], edi
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1216 : 		if (speed <= 0)

	test	edi, edi

; 1217 : 			return;

	jle	SHORT $LN2@Activate

; 1218 : 		pData->Owner.Reference->obj->As_SoldierGameObj()->Set_Max_Speed((float)speed);

	mov	eax, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	fild	DWORD PTR _speed$[esp+64]
	mov	edx, DWORD PTR [eax]
	push	ecx
	mov	ecx, eax
	fstp	DWORD PTR [esp]
	mov	eax, DWORD PTR [edx+244]
	call	eax

; 1219 : 		stConsole::Out("Speed for player %ls has been set to %d.\n", pData->PlayerName.m_Buffer, speed);

	mov	ecx, DWORD PTR [esi+1880]
	push	edi
	push	ecx
	push	OFFSET ??_C@_0CK@NBIBIAIP@Speed?5for?5player?5?$CFls?5has?5been?5se@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 12					; 0000000cH
$LN2@Activate:
	lea	ecx, DWORD PTR _token$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN6@Activate:

; 1220 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T72576[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _token$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T72577[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T72578[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@SetPlayerSpeedConsoleFunction@@UAEXPAD@Z ENDP	; SetPlayerSpeedConsoleFunction::Activate
PUBLIC	??_7GetPlayerSpeedConsoleFunction@@6B@		; GetPlayerSpeedConsoleFunction::`vftable'
PUBLIC	??0GetPlayerSpeedConsoleFunction@@QAE@XZ	; GetPlayerSpeedConsoleFunction::GetPlayerSpeedConsoleFunction
PUBLIC	??_R4GetPlayerSpeedConsoleFunction@@6B@		; GetPlayerSpeedConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVGetPlayerSpeedConsoleFunction@@@8	; GetPlayerSpeedConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3GetPlayerSpeedConsoleFunction@@8		; GetPlayerSpeedConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2GetPlayerSpeedConsoleFunction@@8		; GetPlayerSpeedConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@GetPlayerSpeedConsoleFunction@@8	; GetPlayerSpeedConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@GetPlayerSpeedConsoleFunction@@UAEPADXZ ; GetPlayerSpeedConsoleFunction::Get_Name
PUBLIC	?Get_Alias@gzConsoleCommand@@UAEPADXZ		; gzConsoleCommand::Get_Alias
PUBLIC	?Get_Help@GetPlayerSpeedConsoleFunction@@UAEPADXZ ; GetPlayerSpeedConsoleFunction::Get_Help
PUBLIC	?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z ; GetPlayerSpeedConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@GetPlayerSpeedConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@GetPlayerSpeedConsoleFunction@@8 DD FLAT:??_R0?AVGetPlayerSpeedConsoleFunction@@@8 ; GetPlayerSpeedConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3GetPlayerSpeedConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2GetPlayerSpeedConsoleFunction@@8
rdata$r	SEGMENT
??_R2GetPlayerSpeedConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@GetPlayerSpeedConsoleFunction@@8 ; GetPlayerSpeedConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3GetPlayerSpeedConsoleFunction@@8
rdata$r	SEGMENT
??_R3GetPlayerSpeedConsoleFunction@@8 DD 00H		; GetPlayerSpeedConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2GetPlayerSpeedConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVGetPlayerSpeedConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVGetPlayerSpeedConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; GetPlayerSpeedConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVGetPlayerSpeedConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4GetPlayerSpeedConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4GetPlayerSpeedConsoleFunction@@6B@ DD 00H		; GetPlayerSpeedConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVGetPlayerSpeedConsoleFunction@@@8
	DD	FLAT:??_R3GetPlayerSpeedConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7GetPlayerSpeedConsoleFunction@@6B@
CONST	SEGMENT
??_7GetPlayerSpeedConsoleFunction@@6B@ DD FLAT:??_R4GetPlayerSpeedConsoleFunction@@6B@ ; GetPlayerSpeedConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@GetPlayerSpeedConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@GetPlayerSpeedConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0GetPlayerSpeedConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0GetPlayerSpeedConsoleFunction@@QAE@XZ PROC		; GetPlayerSpeedConsoleFunction::GetPlayerSpeedConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7GetPlayerSpeedConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0GetPlayerSpeedConsoleFunction@@QAE@XZ ENDP		; GetPlayerSpeedConsoleFunction::GetPlayerSpeedConsoleFunction
; 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@_08JGMJGCCC@getspeed?$AA@			; `string'
;	COMDAT ??_C@_08JGMJGCCC@getspeed?$AA@
; File d:\source code\stgm\stplayer.cpp
CONST	SEGMENT
??_C@_08JGMJGCCC@getspeed?$AA@ DB 'getspeed', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@GetPlayerSpeedConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@GetPlayerSpeedConsoleFunction@@UAEPADXZ PROC	; GetPlayerSpeedConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1228 : 		return "getspeed";

	mov	eax, OFFSET ??_C@_08JGMJGCCC@getspeed?$AA@

; 1229 : 	}

	ret	0
?Get_Name@GetPlayerSpeedConsoleFunction@@UAEPADXZ ENDP	; GetPlayerSpeedConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0EM@CDJGJCDK@GETSPEED?5?$DMplayer_id?$DO?5?9?5Get?5the?5c@ ; `string'
;	COMDAT ??_C@_0EM@CDJGJCDK@GETSPEED?5?$DMplayer_id?$DO?5?9?5Get?5the?5c@
CONST	SEGMENT
??_C@_0EM@CDJGJCDK@GETSPEED?5?$DMplayer_id?$DO?5?9?5Get?5the?5c@ DB 'GETS'
	DB	'PEED <player_id> - Get the current speed of player with id <p'
	DB	'layer_id>.', 00H				; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@GetPlayerSpeedConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@GetPlayerSpeedConsoleFunction@@UAEPADXZ PROC	; GetPlayerSpeedConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1232 : 		return "GETSPEED <player_id> - Get the current speed of player with id <player_id>.";

	mov	eax, OFFSET ??_C@_0EM@CDJGJCDK@GETSPEED?5?$DMplayer_id?$DO?5?9?5Get?5the?5c@

; 1233 : 	}

	ret	0
?Get_Help@GetPlayerSpeedConsoleFunction@@UAEPADXZ ENDP	; GetPlayerSpeedConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_C@_0CH@OLHPOJDI@Current?5speed?5for?5player?5?$CFls?5is?5@ ; `string'
;	COMDAT ??_C@_0CH@OLHPOJDI@Current?5speed?5for?5player?5?$CFls?5is?5@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0CH@OLHPOJDI@Current?5speed?5for?5player?5?$CFls?5is?5@ DB 'Current'
	DB	' speed for player %ls is %.0f.', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z$2
__ehfuncinfo$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_token$ = -36						; size = 8
$T72607 = -28						; size = 8
$T72608 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z PROC	; GetPlayerSpeedConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1235 : 	{

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

; 1236 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	cmp	BYTE PTR [eax], 0
	je	$LN5@Activate@2

; 1237 : 			return;
; 1238 : 		aToken token(text);

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

; 1239 : 		if (token.numtok(' ') != 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _token$[esp+40]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2
	je	SHORT $LN3@Activate@2

; 1240 : 			return;

	lea	ecx, DWORD PTR _token$[esp+36]
	mov	DWORD PTR __$EHRec$[esp+44], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1245 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	4
$LN3@Activate@2:
	push	esi

; 1241 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(token.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T72608[esp+48]
	push	ecx
	lea	ecx, DWORD PTR _token$[esp+52]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+48], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T72608[esp+40]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+48], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1242 : 		if (!pData || !pData->Owner.Reference)

	test	esi, esi
	je	SHORT $LN1@Activate@2
	cmp	DWORD PTR [esi+20], 0
	je	SHORT $LN1@Activate@2

; 1243 : 			return;
; 1244 : 		stConsole::Out("Current speed for player %ls is %.0f.\n", pData->PlayerName.m_Buffer, pData->Owner.Reference->obj->As_SoldierGameObj()->Get_Max_Speed());

	mov	edx, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+200]
	call	eax
	mov	ecx, DWORD PTR [esi+1880]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	ecx
	push	OFFSET ??_C@_0CH@OLHPOJDI@Current?5speed?5for?5player?5?$CFls?5is?5@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 16					; 00000010H
$LN1@Activate@2:
	lea	ecx, DWORD PTR _token$[esp+40]
	mov	DWORD PTR __$EHRec$[esp+48], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	esi
$LN5@Activate@2:

; 1245 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T72607[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _token$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T72608[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@GetPlayerSpeedConsoleFunction@@UAEXPAD@Z ENDP	; GetPlayerSpeedConsoleFunction::Activate
PUBLIC	??_7GiveCreditConsoleFunction@@6B@		; GiveCreditConsoleFunction::`vftable'
PUBLIC	??0GiveCreditConsoleFunction@@QAE@XZ		; GiveCreditConsoleFunction::GiveCreditConsoleFunction
PUBLIC	??_R4GiveCreditConsoleFunction@@6B@		; GiveCreditConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVGiveCreditConsoleFunction@@@8		; GiveCreditConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3GiveCreditConsoleFunction@@8		; GiveCreditConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2GiveCreditConsoleFunction@@8		; GiveCreditConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@GiveCreditConsoleFunction@@8	; GiveCreditConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@GiveCreditConsoleFunction@@UAEPADXZ	; GiveCreditConsoleFunction::Get_Name
PUBLIC	?Get_Alias@GiveCreditConsoleFunction@@UAEPADXZ	; GiveCreditConsoleFunction::Get_Alias
PUBLIC	?Get_Help@GiveCreditConsoleFunction@@UAEPADXZ	; GiveCreditConsoleFunction::Get_Help
PUBLIC	?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z	; GiveCreditConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@GiveCreditConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@GiveCreditConsoleFunction@@8 DD FLAT:??_R0?AVGiveCreditConsoleFunction@@@8 ; GiveCreditConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3GiveCreditConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2GiveCreditConsoleFunction@@8
rdata$r	SEGMENT
??_R2GiveCreditConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@GiveCreditConsoleFunction@@8 ; GiveCreditConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3GiveCreditConsoleFunction@@8
rdata$r	SEGMENT
??_R3GiveCreditConsoleFunction@@8 DD 00H		; GiveCreditConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2GiveCreditConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVGiveCreditConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVGiveCreditConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; GiveCreditConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVGiveCreditConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4GiveCreditConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4GiveCreditConsoleFunction@@6B@ DD 00H		; GiveCreditConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVGiveCreditConsoleFunction@@@8
	DD	FLAT:??_R3GiveCreditConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7GiveCreditConsoleFunction@@6B@
CONST	SEGMENT
??_7GiveCreditConsoleFunction@@6B@ DD FLAT:??_R4GiveCreditConsoleFunction@@6B@ ; GiveCreditConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@GiveCreditConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@GiveCreditConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@GiveCreditConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0GiveCreditConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0GiveCreditConsoleFunction@@QAE@XZ PROC		; GiveCreditConsoleFunction::GiveCreditConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7GiveCreditConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0GiveCreditConsoleFunction@@QAE@XZ ENDP		; GiveCreditConsoleFunction::GiveCreditConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_0L@MOKANIBE@givecredit?$AA@		; `string'
;	COMDAT ??_C@_0L@MOKANIBE@givecredit?$AA@
CONST	SEGMENT
??_C@_0L@MOKANIBE@givecredit?$AA@ DB 'givecredit', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@GiveCreditConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@GiveCreditConsoleFunction@@UAEPADXZ PROC	; GiveCreditConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1253 : 		return "givecredit";

	mov	eax, OFFSET ??_C@_0L@MOKANIBE@givecredit?$AA@

; 1254 : 	}

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

; 1257 : 		return "credit";

	mov	eax, OFFSET ??_C@_06HHOEAOAH@credit?$AA@

; 1258 : 	}

	ret	0
?Get_Alias@GiveCreditConsoleFunction@@UAEPADXZ ENDP	; GiveCreditConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0GH@BIGPFPFG@GIVECREDIT?5?$DMplayer?$DO?5?$DMamount?$DO?5?9?5G@ ; `string'
;	COMDAT ??_C@_0GH@BIGPFPFG@GIVECREDIT?5?$DMplayer?$DO?5?$DMamount?$DO?5?9?5G@
CONST	SEGMENT
??_C@_0GH@BIGPFPFG@GIVECREDIT?5?$DMplayer?$DO?5?$DMamount?$DO?5?9?5G@ DB 'G'
	DB	'IVECREDIT <player> <amount> - Give the <amount> of credit(s) '
	DB	'to <player>. (Negative amount works too)', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@GiveCreditConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@GiveCreditConsoleFunction@@UAEPADXZ PROC	; GiveCreditConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1261 : 		return "GIVECREDIT <player> <amount> - Give the <amount> of credit(s) to <player>. (Negative amount works too)";

	mov	eax, OFFSET ??_C@_0GH@BIGPFPFG@GIVECREDIT?5?$DMplayer?$DO?5?$DMamount?$DO?5?9?5G@

; 1262 : 	}

	ret	0
?Get_Help@GiveCreditConsoleFunction@@UAEPADXZ ENDP	; GiveCreditConsoleFunction::Get_Help
_TEXT	ENDS
EXTRN	?ToDouble@aToken@@QAENXZ:PROC			; aToken::ToDouble
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__ehfuncinfo$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z$3
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_tok$ = -44						; size = 8
$T72638 = -36						; size = 8
$T72639 = -28						; size = 8
$T72640 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z PROC	; GiveCreditConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1264 : 	{

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

; 1265 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 32					; 00000020H
	cmp	BYTE PTR [eax], 0
	je	$LN4@Activate@3

; 1266 : 			return;
; 1267 : 		aToken tok(text);

	push	eax
	lea	ecx, DWORD PTR $T72638[esp+48]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T72638[esp+44]
	push	eax
	lea	ecx, DWORD PTR _tok$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T72638[esp+44]
	mov	BYTE PTR __$EHRec$[esp+52], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1268 : 
; 1269 : 		if (tok.numtok(' ') != 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _tok$[esp+48]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2
	je	SHORT $LN2@Activate@3

; 1270 : 			return;

	lea	ecx, DWORD PTR _tok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1275 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	4
$LN2@Activate@3:
	push	esi

; 1271 : 
; 1272 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(tok.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T72639[esp+56]
	push	ecx
	lea	ecx, DWORD PTR _tok$[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
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T72639[esp+48]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1273 : 		if (pData)

	test	esi, esi
	je	SHORT $LN1@Activate@3
	push	edi

; 1274 : 			pData->Increment_Money((float)tok.gettok(2, ' ').ToDouble());

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T72640[esp+60]
	push	edx
	lea	ecx, DWORD PTR _tok$[esp+64]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	edi, DWORD PTR [esi]
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+60], 4
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	mov	eax, DWORD PTR [edi+16]
	push	ecx
	mov	ecx, esi
	fstp	DWORD PTR [esp]
	call	eax
	lea	ecx, DWORD PTR $T72640[esp+52]
	mov	BYTE PTR __$EHRec$[esp+60], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	edi
$LN1@Activate@3:

; 1275 : 	}

	lea	ecx, DWORD PTR _tok$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	esi
$LN4@Activate@3:
	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T72638[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _tok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T72639[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T72640[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@GiveCreditConsoleFunction@@UAEXPAD@Z ENDP	; GiveCreditConsoleFunction::Activate
PUBLIC	??_7GivePointConsoleFunction@@6B@		; GivePointConsoleFunction::`vftable'
PUBLIC	??0GivePointConsoleFunction@@QAE@XZ		; GivePointConsoleFunction::GivePointConsoleFunction
PUBLIC	??_R4GivePointConsoleFunction@@6B@		; GivePointConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVGivePointConsoleFunction@@@8		; GivePointConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3GivePointConsoleFunction@@8		; GivePointConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2GivePointConsoleFunction@@8		; GivePointConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@GivePointConsoleFunction@@8	; GivePointConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@GivePointConsoleFunction@@UAEPADXZ	; GivePointConsoleFunction::Get_Name
PUBLIC	?Get_Alias@GivePointConsoleFunction@@UAEPADXZ	; GivePointConsoleFunction::Get_Alias
PUBLIC	?Get_Help@GivePointConsoleFunction@@UAEPADXZ	; GivePointConsoleFunction::Get_Help
PUBLIC	?Activate@GivePointConsoleFunction@@UAEXPAD@Z	; GivePointConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@GivePointConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@GivePointConsoleFunction@@8 DD FLAT:??_R0?AVGivePointConsoleFunction@@@8 ; GivePointConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3GivePointConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2GivePointConsoleFunction@@8
rdata$r	SEGMENT
??_R2GivePointConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@GivePointConsoleFunction@@8 ; GivePointConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3GivePointConsoleFunction@@8
rdata$r	SEGMENT
??_R3GivePointConsoleFunction@@8 DD 00H			; GivePointConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2GivePointConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVGivePointConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVGivePointConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; GivePointConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVGivePointConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4GivePointConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4GivePointConsoleFunction@@6B@ DD 00H		; GivePointConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVGivePointConsoleFunction@@@8
	DD	FLAT:??_R3GivePointConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7GivePointConsoleFunction@@6B@
CONST	SEGMENT
??_7GivePointConsoleFunction@@6B@ DD FLAT:??_R4GivePointConsoleFunction@@6B@ ; GivePointConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@GivePointConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@GivePointConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@GivePointConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@GivePointConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0GivePointConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0GivePointConsoleFunction@@QAE@XZ PROC		; GivePointConsoleFunction::GivePointConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7GivePointConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0GivePointConsoleFunction@@QAE@XZ ENDP		; GivePointConsoleFunction::GivePointConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_09BDKBPCFB@givescore?$AA@			; `string'
;	COMDAT ??_C@_09BDKBPCFB@givescore?$AA@
CONST	SEGMENT
??_C@_09BDKBPCFB@givescore?$AA@ DB 'givescore', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@GivePointConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@GivePointConsoleFunction@@UAEPADXZ PROC	; GivePointConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1283 : 		return "givescore";

	mov	eax, OFFSET ??_C@_09BDKBPCFB@givescore?$AA@

; 1284 : 	}

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

; 1287 : 		return "score";

	mov	eax, OFFSET ??_C@_05DBKDOICH@score?$AA@

; 1288 : 	}

	ret	0
?Get_Alias@GivePointConsoleFunction@@UAEPADXZ ENDP	; GivePointConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0GF@IELJFHGK@GIVEPOINT?5?$DMplayer?$DO?5?$DMamount?$DO?5?9?5Gi@ ; `string'
;	COMDAT ??_C@_0GF@IELJFHGK@GIVEPOINT?5?$DMplayer?$DO?5?$DMamount?$DO?5?9?5Gi@
CONST	SEGMENT
??_C@_0GF@IELJFHGK@GIVEPOINT?5?$DMplayer?$DO?5?$DMamount?$DO?5?9?5Gi@ DB 'G'
	DB	'IVEPOINT <player> <amount> - Give the <amount> of point(s) to'
	DB	' <player>. (Negative amount works too)', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@GivePointConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@GivePointConsoleFunction@@UAEPADXZ PROC	; GivePointConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1291 : 		return "GIVEPOINT <player> <amount> - Give the <amount> of point(s) to <player>. (Negative amount works too)";

	mov	eax, OFFSET ??_C@_0GF@IELJFHGK@GIVEPOINT?5?$DMplayer?$DO?5?$DMamount?$DO?5?9?5Gi@

; 1292 : 	}

	ret	0
?Get_Help@GivePointConsoleFunction@@UAEPADXZ ENDP	; GivePointConsoleFunction::Get_Help
_TEXT	ENDS
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__ehfuncinfo$?Activate@GivePointConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Activate@GivePointConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@GivePointConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@GivePointConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@GivePointConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@GivePointConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@GivePointConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@GivePointConsoleFunction@@UAEXPAD@Z$3
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@GivePointConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_tok$ = -44						; size = 8
$T72670 = -36						; size = 8
$T72671 = -28						; size = 8
$T72672 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@GivePointConsoleFunction@@UAEXPAD@Z PROC	; GivePointConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1293 : 	void Activate(char *text){

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

; 1294 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 32					; 00000020H
	cmp	BYTE PTR [eax], 0
	je	$LN4@Activate@4

; 1295 : 			return;
; 1296 : 		aToken tok(text);

	push	eax
	lea	ecx, DWORD PTR $T72670[esp+48]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T72670[esp+44]
	push	eax
	lea	ecx, DWORD PTR _tok$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T72670[esp+44]
	mov	BYTE PTR __$EHRec$[esp+52], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1297 : 
; 1298 : 		if (tok.numtok(' ') != 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _tok$[esp+48]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2
	je	SHORT $LN2@Activate@4

; 1299 : 			return;

	lea	ecx, DWORD PTR _tok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1304 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	4
$LN2@Activate@4:
	push	esi

; 1300 : 
; 1301 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(tok.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T72671[esp+56]
	push	ecx
	lea	ecx, DWORD PTR _tok$[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
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T72671[esp+48]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1302 : 		if (pData)

	test	esi, esi
	je	SHORT $LN1@Activate@4
	push	edi

; 1303 : 			pData->Increment_Score((float)tok.gettok(2, ' ').ToDouble());

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T72672[esp+60]
	push	edx
	lea	ecx, DWORD PTR _tok$[esp+64]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	edi, DWORD PTR [esi]
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+60], 4
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	mov	eax, DWORD PTR [edi+8]
	push	ecx
	mov	ecx, esi
	fstp	DWORD PTR [esp]
	call	eax
	lea	ecx, DWORD PTR $T72672[esp+52]
	mov	BYTE PTR __$EHRec$[esp+60], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	edi
$LN1@Activate@4:

; 1304 : 	}

	lea	ecx, DWORD PTR _tok$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	esi
$LN4@Activate@4:
	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@GivePointConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T72670[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@GivePointConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _tok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@GivePointConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T72671[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@GivePointConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T72672[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@GivePointConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@GivePointConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@GivePointConsoleFunction@@UAEXPAD@Z ENDP	; GivePointConsoleFunction::Activate
PUBLIC	??_7GetPosConsoleFunction@@6B@			; GetPosConsoleFunction::`vftable'
PUBLIC	??0GetPosConsoleFunction@@QAE@XZ		; GetPosConsoleFunction::GetPosConsoleFunction
PUBLIC	??_R4GetPosConsoleFunction@@6B@			; GetPosConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVGetPosConsoleFunction@@@8		; GetPosConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3GetPosConsoleFunction@@8			; GetPosConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2GetPosConsoleFunction@@8			; GetPosConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@GetPosConsoleFunction@@8		; GetPosConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@GetPosConsoleFunction@@UAEPADXZ	; GetPosConsoleFunction::Get_Name
PUBLIC	?Get_Help@GetPosConsoleFunction@@UAEPADXZ	; GetPosConsoleFunction::Get_Help
PUBLIC	?Activate@GetPosConsoleFunction@@UAEXPAD@Z	; GetPosConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@GetPosConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@GetPosConsoleFunction@@8 DD FLAT:??_R0?AVGetPosConsoleFunction@@@8 ; GetPosConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3GetPosConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2GetPosConsoleFunction@@8
rdata$r	SEGMENT
??_R2GetPosConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@GetPosConsoleFunction@@8 ; GetPosConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3GetPosConsoleFunction@@8
rdata$r	SEGMENT
??_R3GetPosConsoleFunction@@8 DD 00H			; GetPosConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2GetPosConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVGetPosConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVGetPosConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; GetPosConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVGetPosConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4GetPosConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4GetPosConsoleFunction@@6B@ DD 00H			; GetPosConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVGetPosConsoleFunction@@@8
	DD	FLAT:??_R3GetPosConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7GetPosConsoleFunction@@6B@
CONST	SEGMENT
??_7GetPosConsoleFunction@@6B@ DD FLAT:??_R4GetPosConsoleFunction@@6B@ ; GetPosConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@GetPosConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@GetPosConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@GetPosConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0GetPosConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0GetPosConsoleFunction@@QAE@XZ PROC			; GetPosConsoleFunction::GetPosConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7GetPosConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0GetPosConsoleFunction@@QAE@XZ ENDP			; GetPosConsoleFunction::GetPosConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_06FEEPIMLI@getpos?$AA@			; `string'
;	COMDAT ??_C@_06FEEPIMLI@getpos?$AA@
CONST	SEGMENT
??_C@_06FEEPIMLI@getpos?$AA@ DB 'getpos', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@GetPosConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@GetPosConsoleFunction@@UAEPADXZ PROC		; GetPosConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1312 : 		return "getpos";

	mov	eax, OFFSET ??_C@_06FEEPIMLI@getpos?$AA@

; 1313 : 	}

	ret	0
?Get_Name@GetPosConsoleFunction@@UAEPADXZ ENDP		; GetPosConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0DP@HKHPIBDI@GETPOS?5?$DMplayer?$DO?5?9?5Display?5the?5cu@ ; `string'
;	COMDAT ??_C@_0DP@HKHPIBDI@GETPOS?5?$DMplayer?$DO?5?9?5Display?5the?5cu@
CONST	SEGMENT
??_C@_0DP@HKHPIBDI@GETPOS?5?$DMplayer?$DO?5?9?5Display?5the?5cu@ DB 'GETP'
	DB	'OS <player> - Display the current coordinates of <player>.', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@GetPosConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@GetPosConsoleFunction@@UAEPADXZ PROC		; GetPosConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1316 : 		return "GETPOS <player> - Display the current coordinates of <player>.";

	mov	eax, OFFSET ??_C@_0DP@HKHPIBDI@GETPOS?5?$DMplayer?$DO?5?9?5Display?5the?5cu@

; 1317 : 	}

	ret	0
?Get_Help@GetPosConsoleFunction@@UAEPADXZ ENDP		; GetPosConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_C@_0CJ@PEDBFHEI@Current?5position?5of?5?$CFls?3?6X?3?$CFf?6Y?3@ ; `string'
EXTRN	?ToLong@aString@@QAEJXZ:PROC			; aString::ToLong
;	COMDAT ??_C@_0CJ@PEDBFHEI@Current?5position?5of?5?$CFls?3?6X?3?$CFf?6Y?3@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0CJ@PEDBFHEI@Current?5position?5of?5?$CFls?3?6X?3?$CFf?6Y?3@ DB 'Cu'
	DB	'rrent position of %ls:', 0aH, 'X:%f', 0aH, 'Y:%f', 0aH, 'Z:%f'
	DB	0aH, 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@GetPosConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@GetPosConsoleFunction@@UAEXPAD@Z$0
__ehfuncinfo$?Activate@GetPosConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Activate@GetPosConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@GetPosConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_id$ = -32						; size = 8
_pos$61548 = -24					; size = 12
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@GetPosConsoleFunction@@UAEXPAD@Z PROC		; GetPosConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1318 : 	void Activate(char *text){

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

; 1319 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H
	cmp	BYTE PTR [eax], 0
	je	$LN3@Activate@5
	push	esi

; 1320 : 			return;
; 1321 : 		
; 1322 : 		aString id = text;

	push	eax
	lea	ecx, DWORD PTR _id$[esp+40]
	call	??0aString@@QAE@PBD@Z			; aString::aString

; 1323 : 
; 1324 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(id.ToLong());

	lea	ecx, DWORD PTR _id$[esp+36]
	mov	DWORD PTR __$EHRec$[esp+44], 0
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	esi, eax
	add	esp, 4

; 1325 : 		if (pData && pData->Owner.Reference)

	test	esi, esi
	je	SHORT $LN1@Activate@5
	cmp	DWORD PTR [esi+20], 0
	je	SHORT $LN1@Activate@5

; 1326 : 		{
; 1327 : 			nc_Vector3 pos;
; 1328 : 			pData->Owner.Reference->obj->Get_Position(&pos);

	mov	eax, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+56]
	lea	eax, DWORD PTR _pos$61548[esp+36]
	push	eax
	call	edx

; 1329 : 			stConsole::Out("Current position of %ls:\nX:%f\nY:%f\nZ:%f\n",
; 1330 : 				pData->PlayerName.m_Buffer,
; 1331 : 				pos.X,
; 1332 : 				pos.Y,
; 1333 : 				pos.Z
; 1334 : 			);

	fld	DWORD PTR _pos$61548[esp+44]
	mov	eax, DWORD PTR [esi+1880]
	sub	esp, 24					; 00000018H
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR _pos$61548[esp+64]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR _pos$61548[esp+60]
	fstp	QWORD PTR [esp]
	push	eax
	push	OFFSET ??_C@_0CJ@PEDBFHEI@Current?5position?5of?5?$CFls?3?6X?3?$CFf?6Y?3@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 32					; 00000020H
$LN1@Activate@5:

; 1335 : 		}
; 1336 : 	}

	lea	ecx, DWORD PTR _id$[esp+36]
	mov	DWORD PTR __$EHRec$[esp+44], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	pop	esi
$LN3@Activate@5:
	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	mov	DWORD PTR fs:0, ecx
	add	esp, 32					; 00000020H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@GetPosConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR _id$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Activate@GetPosConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@GetPosConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@GetPosConsoleFunction@@UAEXPAD@Z ENDP		; GetPosConsoleFunction::Activate
PUBLIC	??_7KillConsoleFunction@@6B@			; KillConsoleFunction::`vftable'
PUBLIC	??0KillConsoleFunction@@QAE@XZ			; KillConsoleFunction::KillConsoleFunction
PUBLIC	??_R4KillConsoleFunction@@6B@			; KillConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVKillConsoleFunction@@@8			; KillConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3KillConsoleFunction@@8			; KillConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2KillConsoleFunction@@8			; KillConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@KillConsoleFunction@@8		; KillConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@KillConsoleFunction@@UAEPADXZ		; KillConsoleFunction::Get_Name
PUBLIC	?Get_Help@KillConsoleFunction@@UAEPADXZ		; KillConsoleFunction::Get_Help
PUBLIC	?Activate@KillConsoleFunction@@UAEXPAD@Z	; KillConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@KillConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@KillConsoleFunction@@8 DD FLAT:??_R0?AVKillConsoleFunction@@@8 ; KillConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3KillConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2KillConsoleFunction@@8
rdata$r	SEGMENT
??_R2KillConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@KillConsoleFunction@@8 ; KillConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3KillConsoleFunction@@8
rdata$r	SEGMENT
??_R3KillConsoleFunction@@8 DD 00H			; KillConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2KillConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVKillConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVKillConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; KillConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVKillConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4KillConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4KillConsoleFunction@@6B@ DD 00H			; KillConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVKillConsoleFunction@@@8
	DD	FLAT:??_R3KillConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7KillConsoleFunction@@6B@
CONST	SEGMENT
??_7KillConsoleFunction@@6B@ DD FLAT:??_R4KillConsoleFunction@@6B@ ; KillConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@KillConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@KillConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@KillConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0KillConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0KillConsoleFunction@@QAE@XZ PROC			; KillConsoleFunction::KillConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7KillConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0KillConsoleFunction@@QAE@XZ ENDP			; KillConsoleFunction::KillConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_04BJJEOANI@kill?$AA@			; `string'
;	COMDAT ??_C@_04BJJEOANI@kill?$AA@
CONST	SEGMENT
??_C@_04BJJEOANI@kill?$AA@ DB 'kill', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@KillConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@KillConsoleFunction@@UAEPADXZ PROC		; KillConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1344 : 		return "kill";

	mov	eax, OFFSET ??_C@_04BJJEOANI@kill?$AA@

; 1345 : 	}

	ret	0
?Get_Name@KillConsoleFunction@@UAEPADXZ ENDP		; KillConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0EG@MLOIMCA@KILL?5?$DMplayer?$DO?5?9?5Kill?5?$DMplayer?$DO?5an@ ; `string'
;	COMDAT ??_C@_0EG@MLOIMCA@KILL?5?$DMplayer?$DO?5?9?5Kill?5?$DMplayer?$DO?5an@
CONST	SEGMENT
??_C@_0EG@MLOIMCA@KILL?5?$DMplayer?$DO?5?9?5Kill?5?$DMplayer?$DO?5an@ DB 'K'
	DB	'ILL <player> - Kill <player> and vehicle(if the driver is <pl'
	DB	'ayer>).', 00H				; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@KillConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@KillConsoleFunction@@UAEPADXZ PROC		; KillConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1348 : 		return "KILL <player> - Kill <player> and vehicle(if the driver is <player>).";

	mov	eax, OFFSET ??_C@_0EG@MLOIMCA@KILL?5?$DMplayer?$DO?5?9?5Kill?5?$DMplayer?$DO?5an@

; 1349 : 	}

	ret	0
?Get_Help@KillConsoleFunction@@UAEPADXZ ENDP		; KillConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_7FreezeConsoleFunction@@6B@			; FreezeConsoleFunction::`vftable'
PUBLIC	??0FreezeConsoleFunction@@QAE@XZ		; FreezeConsoleFunction::FreezeConsoleFunction
PUBLIC	??_R4FreezeConsoleFunction@@6B@			; FreezeConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVFreezeConsoleFunction@@@8		; FreezeConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3FreezeConsoleFunction@@8			; FreezeConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2FreezeConsoleFunction@@8			; FreezeConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@FreezeConsoleFunction@@8		; FreezeConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@FreezeConsoleFunction@@UAEPADXZ	; FreezeConsoleFunction::Get_Name
PUBLIC	?Get_Help@FreezeConsoleFunction@@UAEPADXZ	; FreezeConsoleFunction::Get_Help
PUBLIC	?Activate@FreezeConsoleFunction@@UAEXPAD@Z	; FreezeConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@FreezeConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@FreezeConsoleFunction@@8 DD FLAT:??_R0?AVFreezeConsoleFunction@@@8 ; FreezeConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3FreezeConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2FreezeConsoleFunction@@8
rdata$r	SEGMENT
??_R2FreezeConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@FreezeConsoleFunction@@8 ; FreezeConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3FreezeConsoleFunction@@8
rdata$r	SEGMENT
??_R3FreezeConsoleFunction@@8 DD 00H			; FreezeConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2FreezeConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVFreezeConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVFreezeConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; FreezeConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVFreezeConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4FreezeConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4FreezeConsoleFunction@@6B@ DD 00H			; FreezeConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVFreezeConsoleFunction@@@8
	DD	FLAT:??_R3FreezeConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7FreezeConsoleFunction@@6B@
CONST	SEGMENT
??_7FreezeConsoleFunction@@6B@ DD FLAT:??_R4FreezeConsoleFunction@@6B@ ; FreezeConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@FreezeConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@FreezeConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@FreezeConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0FreezeConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0FreezeConsoleFunction@@QAE@XZ PROC			; FreezeConsoleFunction::FreezeConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7FreezeConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0FreezeConsoleFunction@@QAE@XZ ENDP			; FreezeConsoleFunction::FreezeConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_06NANJHIPM@freeze?$AA@			; `string'
;	COMDAT ??_C@_06NANJHIPM@freeze?$AA@
CONST	SEGMENT
??_C@_06NANJHIPM@freeze?$AA@ DB 'freeze', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@FreezeConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@FreezeConsoleFunction@@UAEPADXZ PROC		; FreezeConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1387 : 		return "freeze";

	mov	eax, OFFSET ??_C@_06NANJHIPM@freeze?$AA@

; 1388 : 	}

	ret	0
?Get_Name@FreezeConsoleFunction@@UAEPADXZ ENDP		; FreezeConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0DL@LJIPFJOF@FREEZE?5?$DMplayer?$DO?5?9?5Set?1Remove?5?$DMpl@ ; `string'
;	COMDAT ??_C@_0DL@LJIPFJOF@FREEZE?5?$DMplayer?$DO?5?9?5Set?1Remove?5?$DMpl@
CONST	SEGMENT
??_C@_0DL@LJIPFJOF@FREEZE?5?$DMplayer?$DO?5?9?5Set?1Remove?5?$DMpl@ DB 'F'
	DB	'REEZE <player> - Set/Remove <player> to/from Freeze Mode.', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@FreezeConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@FreezeConsoleFunction@@UAEPADXZ PROC		; FreezeConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1391 : 		return "FREEZE <player> - Set/Remove <player> to/from Freeze Mode.";

	mov	eax, OFFSET ??_C@_0DL@LJIPFJOF@FREEZE?5?$DMplayer?$DO?5?9?5Set?1Remove?5?$DMpl@

; 1392 : 	}

	ret	0
?Get_Help@FreezeConsoleFunction@@UAEPADXZ ENDP		; FreezeConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_7TeamConsoleFunction@@6B@			; TeamConsoleFunction::`vftable'
PUBLIC	??0TeamConsoleFunction@@QAE@XZ			; TeamConsoleFunction::TeamConsoleFunction
PUBLIC	??_R4TeamConsoleFunction@@6B@			; TeamConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVTeamConsoleFunction@@@8			; TeamConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3TeamConsoleFunction@@8			; TeamConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2TeamConsoleFunction@@8			; TeamConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@TeamConsoleFunction@@8		; TeamConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@TeamConsoleFunction@@UAEPADXZ		; TeamConsoleFunction::Get_Name
PUBLIC	?Get_Alias@TeamConsoleFunction@@UAEPADXZ	; TeamConsoleFunction::Get_Alias
PUBLIC	?Get_Help@TeamConsoleFunction@@UAEPADXZ		; TeamConsoleFunction::Get_Help
PUBLIC	?Activate@TeamConsoleFunction@@UAEXPAD@Z	; TeamConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@TeamConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@TeamConsoleFunction@@8 DD FLAT:??_R0?AVTeamConsoleFunction@@@8 ; TeamConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3TeamConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2TeamConsoleFunction@@8
rdata$r	SEGMENT
??_R2TeamConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@TeamConsoleFunction@@8 ; TeamConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3TeamConsoleFunction@@8
rdata$r	SEGMENT
??_R3TeamConsoleFunction@@8 DD 00H			; TeamConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2TeamConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVTeamConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVTeamConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; TeamConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVTeamConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4TeamConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4TeamConsoleFunction@@6B@ DD 00H			; TeamConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVTeamConsoleFunction@@@8
	DD	FLAT:??_R3TeamConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7TeamConsoleFunction@@6B@
CONST	SEGMENT
??_7TeamConsoleFunction@@6B@ DD FLAT:??_R4TeamConsoleFunction@@6B@ ; TeamConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@TeamConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@TeamConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@TeamConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@TeamConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0TeamConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0TeamConsoleFunction@@QAE@XZ PROC			; TeamConsoleFunction::TeamConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7TeamConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0TeamConsoleFunction@@QAE@XZ ENDP			; TeamConsoleFunction::TeamConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_04KADBPNCB@team?$AA@			; `string'
;	COMDAT ??_C@_04KADBPNCB@team?$AA@
CONST	SEGMENT
??_C@_04KADBPNCB@team?$AA@ DB 'team', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@TeamConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@TeamConsoleFunction@@UAEPADXZ PROC		; TeamConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1428 : 		return "team";

	mov	eax, OFFSET ??_C@_04KADBPNCB@team?$AA@

; 1429 : 	}

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

; 1432 : 		return "tc";

	mov	eax, OFFSET ??_C@_02BNJGNOAF@tc?$AA@

; 1433 : 	};

	ret	0
?Get_Alias@TeamConsoleFunction@@UAEPADXZ ENDP		; TeamConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0EJ@EPBDMJLE@TEAM?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Changes?5a@ ; `string'
;	COMDAT ??_C@_0EJ@EPBDMJLE@TEAM?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Changes?5a@
CONST	SEGMENT
??_C@_0EJ@EPBDMJLE@TEAM?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Changes?5a@ DB 'T'
	DB	'EAM <player> <team> - Changes a player team. Host only.', 0aH
	DB	'0 = Nod', 0aH, '1 = GDI', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@TeamConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@TeamConsoleFunction@@UAEPADXZ PROC		; TeamConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1435 : 		return "TEAM <player> <team> - Changes a player team. Host only.\n0 = Nod\n1 = GDI";

	mov	eax, OFFSET ??_C@_0EJ@EPBDMJLE@TEAM?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Changes?5a@

; 1436 : 	}

	ret	0
?Get_Help@TeamConsoleFunction@@UAEPADXZ ENDP		; TeamConsoleFunction::Get_Help
_TEXT	ENDS
;	COMDAT xdata$x
; File d:\source code\fds lib\new\fds_def.h
xdata$x	SEGMENT
__ehfuncinfo$?Activate@TeamConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Activate@TeamConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@TeamConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@TeamConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@TeamConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@TeamConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeamConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeamConsoleFunction@@UAEXPAD@Z$3
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@TeamConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_Token$ = -36						; size = 8
$T72743 = -28						; size = 8
$T72745 = -20						; size = 8
$T72744 = -20						; size = 8
__$EHRec$ = -12						; size = 12
$T72765 = 8						; size = 4
$T72761 = 8						; size = 4
$T72757 = 8						; size = 4
_text$ = 8						; size = 4
?Activate@TeamConsoleFunction@@UAEXPAD@Z PROC		; TeamConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1437 : 	void Activate(char *text) {

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

; 1438 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	sub	esp, 24					; 00000018H
	cmp	BYTE PTR [eax], 0
	je	$LN11@Activate@6

; 1439 : 			return;
; 1440 : 		aToken Token = text;

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

; 1441 : 		if (Token.numtok(' ') != 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _Token$[esp+40]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2
	je	SHORT $LN9@Activate@6

; 1442 : 			return;

	lea	ecx, DWORD PTR _Token$[esp+36]
	mov	DWORD PTR __$EHRec$[esp+44], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1471 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	4
$LN9@Activate@6:
	push	ebp
	push	esi
	push	edi

; 1443 : 		int id = Token.gettok(1, ' ').ToLong(),

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T72744[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
	lea	ecx, DWORD PTR $T72744[esp+48]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1444 : 			team = Token.gettok(2, ' ').ToLong();

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T72745[esp+56]
	push	edx
	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], 4
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	lea	ecx, DWORD PTR $T72745[esp+48]
	mov	ebp, eax
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1445 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(id);

	push	esi
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	edi, eax
	add	esp, 4

; 1446 : 		if (!pData || pData->PlayerType.Get() == team || !pData->Owner.Reference)

	test	edi, edi
	je	$LN7@Activate@6
	lea	esi, DWORD PTR [edi+1900]
	mov	ecx, esi
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	eax, ebp
	je	$LN7@Activate@6
	cmp	DWORD PTR [edi+20], 0
	je	$LN7@Activate@6

; 1447 : 			return;
; 1448 : 		pData->Deaths -= 1;

	push	1
	lea	ecx, DWORD PTR [edi+1896]
	call	??Znc_IntDataSafeClass@@QAEXH@Z		; nc_IntDataSafeClass::operator-=

; 1449 : 		pData->Money = 0.0f;

	fldz
	lea	eax, DWORD PTR $T72757[esp+44]
	fstp	DWORD PTR $T72757[esp+44]
	push	eax
	lea	ecx, DWORD PTR [edi+8]
	push	ecx
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 1450 : 		pData->Score = 0.0f;

	fldz
	lea	edx, DWORD PTR $T72761[esp+44]
	fstp	DWORD PTR $T72761[esp+44]
	push	edx
	lea	eax, DWORD PTR [edi+4]
	push	eax
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 1451 : 		pData->PlayerType = team;

	lea	ecx, DWORD PTR $T72765[esp+44]
	push	ecx
	push	esi
	mov	DWORD PTR $T72765[esp+52], ebp
	call	?Set@nc_IntDataSafeClass@@QAG_NAAH@Z	; nc_IntDataSafeClass::Set

; 1452 : 		pData->Set_Object_Dirty_Bit(nc_DB_OCCASIONAL,true);

	mov	edx, DWORD PTR [edi+160]
	mov	eax, DWORD PTR [edx+56]
	lea	esi, DWORD PTR [edi+160]
	push	1
	push	3
	mov	ecx, esi
	call	eax

; 1453 : 		pData->Set_Object_Dirty_Bit(nc_DB_RARE,true);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+56]
	push	1
	push	7
	mov	ecx, esi
	call	eax

; 1454 : 		for (nc_GenericSLNode<nc_BaseGameObj> *objList = nc_GameObjManager::GameObjList->HeadNode; objList != NULL; objList = objList->NodeNext)

	mov	ecx, DWORD PTR ?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A ; nc_GameObjManager::GameObjList
	mov	esi, DWORD PTR [ecx+4]
	test	esi, esi
	je	$LN4@Activate@6
	npad	2
$LL6@Activate@6:

; 1455 : 		{
; 1456 : 			nc_OffenseObjectClass *offense = NULL;
; 1457 : 			if (objList->NodeData->definition->Get_Class_ID() == 0x3006 &&
; 1458 : 				((nc_C4GameObj *)objList->NodeData)->Owner.Reference &&
; 1459 : 				((nc_C4GameObj *)objList->NodeData)->Owner.Reference->obj->NetworkID == pData->Owner.Reference->obj->NetworkID)

	mov	edx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [edx+1724]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+32]
	call	edx
	cmp	eax, 12294				; 00003006H
	jne	SHORT $LN3@Activate@6
	mov	eax, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [eax+1980]
	test	eax, eax
	je	SHORT $LN3@Activate@6
	mov	ecx, DWORD PTR [edi+20]
	mov	edx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [eax+12]
	cmp	ecx, DWORD PTR [edx+12]

; 1460 : 			{
; 1461 : 				objList->NodeData->As_PhysicalGameObj()->Completely_Damaged(*offense);
; 1462 : 			}
; 1463 : 			else if (objList->NodeData->definition->Get_Class_ID() == 0x3016 &&

	je	SHORT $LN32@Activate@6
$LN3@Activate@6:

; 1464 : 				((nc_BeaconGameObj *)objList->NodeData)->Owner.Reference &&
; 1465 : 				((nc_BeaconGameObj *)objList->NodeData)->Owner.Reference->obj->NetworkID == pData->Owner.Reference->obj->NetworkID)

	mov	ecx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12310				; 00003016H
	jne	SHORT $LN5@Activate@6
	mov	ecx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [ecx+1976]
	test	eax, eax
	je	SHORT $LN5@Activate@6
	mov	edx, DWORD PTR [edi+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [edx+12]
	cmp	eax, DWORD PTR [ecx+12]
	jne	SHORT $LN5@Activate@6
$LN32@Activate@6:

; 1466 : 			{
; 1467 : 				objList->NodeData->As_PhysicalGameObj()->Completely_Damaged(*offense);

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+36]
	call	eax
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+88]
	push	0
	call	eax
$LN5@Activate@6:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	$LL6@Activate@6
$LN4@Activate@6:

; 1468 : 			}
; 1469 : 		}
; 1470 : 		pData->Owner.Reference->obj->Set_Delete_Pending();

	mov	ecx, DWORD PTR [edi+20]
	mov	eax, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [eax+8]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+44]
	call	eax
$LN7@Activate@6:
	lea	ecx, DWORD PTR _Token$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	edi
	pop	esi
	pop	ebp
$LN11@Activate@6:

; 1471 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@TeamConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T72743[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@TeamConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _Token$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeamConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T72744[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeamConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T72745[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@TeamConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@TeamConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@TeamConsoleFunction@@UAEXPAD@Z ENDP		; TeamConsoleFunction::Activate
PUBLIC	??_7Team2ConsoleFunction@@6B@			; Team2ConsoleFunction::`vftable'
PUBLIC	??0Team2ConsoleFunction@@QAE@XZ			; Team2ConsoleFunction::Team2ConsoleFunction
PUBLIC	??_R4Team2ConsoleFunction@@6B@			; Team2ConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVTeam2ConsoleFunction@@@8		; Team2ConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3Team2ConsoleFunction@@8			; Team2ConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2Team2ConsoleFunction@@8			; Team2ConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@Team2ConsoleFunction@@8		; Team2ConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@Team2ConsoleFunction@@UAEPADXZ	; Team2ConsoleFunction::Get_Name
PUBLIC	?Get_Alias@Team2ConsoleFunction@@UAEPADXZ	; Team2ConsoleFunction::Get_Alias
PUBLIC	?Get_Help@Team2ConsoleFunction@@UAEPADXZ	; Team2ConsoleFunction::Get_Help
PUBLIC	?Activate@Team2ConsoleFunction@@UAEXPAD@Z	; Team2ConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@Team2ConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@Team2ConsoleFunction@@8 DD FLAT:??_R0?AVTeam2ConsoleFunction@@@8 ; Team2ConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3Team2ConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2Team2ConsoleFunction@@8
rdata$r	SEGMENT
??_R2Team2ConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@Team2ConsoleFunction@@8 ; Team2ConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3Team2ConsoleFunction@@8
rdata$r	SEGMENT
??_R3Team2ConsoleFunction@@8 DD 00H			; Team2ConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2Team2ConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVTeam2ConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVTeam2ConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; Team2ConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVTeam2ConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4Team2ConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4Team2ConsoleFunction@@6B@ DD 00H			; Team2ConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVTeam2ConsoleFunction@@@8
	DD	FLAT:??_R3Team2ConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7Team2ConsoleFunction@@6B@
CONST	SEGMENT
??_7Team2ConsoleFunction@@6B@ DD FLAT:??_R4Team2ConsoleFunction@@6B@ ; Team2ConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@Team2ConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@Team2ConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@Team2ConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@Team2ConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0Team2ConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0Team2ConsoleFunction@@QAE@XZ PROC			; Team2ConsoleFunction::Team2ConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7Team2ConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0Team2ConsoleFunction@@QAE@XZ ENDP			; Team2ConsoleFunction::Team2ConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_05KBLJHFNC@team2?$AA@			; `string'
;	COMDAT ??_C@_05KBLJHFNC@team2?$AA@
CONST	SEGMENT
??_C@_05KBLJHFNC@team2?$AA@ DB 'team2', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@Team2ConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@Team2ConsoleFunction@@UAEPADXZ PROC		; Team2ConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1478 : 		return "team2";

	mov	eax, OFFSET ??_C@_05KBLJHFNC@team2?$AA@

; 1479 : 	}

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

; 1482 : 		return "tc2";

	mov	eax, OFFSET ??_C@_03JNAHDGCA@tc2?$AA@

; 1483 : 	};

	ret	0
?Get_Alias@Team2ConsoleFunction@@UAEPADXZ ENDP		; Team2ConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0GE@BOCGFOJB@TEAM2?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Changes?5@ ; `string'
;	COMDAT ??_C@_0GE@BOCGFOJB@TEAM2?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Changes?5@
CONST	SEGMENT
??_C@_0GE@BOCGFOJB@TEAM2?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Changes?5@ DB 'T'
	DB	'EAM2 <player> <team> - Changes a players team without taking '
	DB	'cash/score Host only.', 0aH, '0 = Nod', 0aH, '1 = GDI', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@Team2ConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@Team2ConsoleFunction@@UAEPADXZ PROC		; Team2ConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1485 : 		return "TEAM2 <player> <team> - Changes a players team without taking cash/score Host only.\n0 = Nod\n1 = GDI";

	mov	eax, OFFSET ??_C@_0GE@BOCGFOJB@TEAM2?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Changes?5@

; 1486 : 	}

	ret	0
?Get_Help@Team2ConsoleFunction@@UAEPADXZ ENDP		; Team2ConsoleFunction::Get_Help
_TEXT	ENDS
EXTRN	?cGame@@3AAPAVnc_cGameData@@A:DWORD		; cGame
;	COMDAT xdata$x
; File d:\source code\fds lib\new\fds_def.h
xdata$x	SEGMENT
__ehfuncinfo$?Activate@Team2ConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Activate@Team2ConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@Team2ConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@Team2ConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@Team2ConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@Team2ConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@Team2ConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@Team2ConsoleFunction@@UAEXPAD@Z$3
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@Team2ConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_Token$ = -36						; size = 8
$T72793 = -28						; size = 8
$T72795 = -20						; size = 8
$T72794 = -20						; size = 8
__$EHRec$ = -12						; size = 12
$T72807 = 8						; size = 4
_text$ = 8						; size = 4
?Activate@Team2ConsoleFunction@@UAEXPAD@Z PROC		; Team2ConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1487 : 	void Activate(char *text) {

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

; 1488 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	sub	esp, 24					; 00000018H
	cmp	BYTE PTR [eax], 0
	je	$LN12@Activate@7

; 1489 : 			return;
; 1490 : 		aToken Token = text;

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

; 1491 : 		if (Token.numtok(' ') != 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _Token$[esp+40]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2
	je	SHORT $LN10@Activate@7

; 1492 : 			return;

	lea	ecx, DWORD PTR _Token$[esp+36]
	mov	DWORD PTR __$EHRec$[esp+44], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1525 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	4
$LN10@Activate@7:
	push	ebp
	push	esi
	push	edi

; 1493 : 		int id = Token.gettok(1, ' ').ToLong(),

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T72794[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
	lea	ecx, DWORD PTR $T72794[esp+48]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1494 : 			team = Token.gettok(2, ' ').ToLong();

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T72795[esp+56]
	push	edx
	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], 4
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	lea	ecx, DWORD PTR $T72795[esp+48]
	mov	ebp, eax
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1495 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(id);

	push	esi
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	edi, eax
	add	esp, 4

; 1496 : 		if (!pData || pData->PlayerType.Get() == team || !pData->Owner.Reference)

	test	edi, edi
	je	$LN8@Activate@7
	lea	esi, DWORD PTR [edi+1900]
	mov	ecx, esi
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	eax, ebp
	je	$LN8@Activate@7
	cmp	DWORD PTR [edi+20], 0
	je	$LN8@Activate@7

; 1497 : 			return;
; 1498 : 
; 1499 : #if ISDEV()
; 1500 : 		if (cGame->Is_Gameplay_Permitted())

	mov	eax, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+132]
	call	eax
	test	al, al
	je	SHORT $LN25@Activate@7

; 1501 : 			pData->Deaths -= 1;

	push	1
	lea	ecx, DWORD PTR [edi+1896]
	call	??Znc_IntDataSafeClass@@QAEXH@Z		; nc_IntDataSafeClass::operator-=
$LN25@Activate@7:

; 1502 : #else
; 1503 : 		pData->Deaths -= 1;
; 1504 : #endif
; 1505 : 		pData->PlayerType = team;

	lea	ecx, DWORD PTR $T72807[esp+44]
	push	ecx
	push	esi
	mov	DWORD PTR $T72807[esp+52], ebp
	call	?Set@nc_IntDataSafeClass@@QAG_NAAH@Z	; nc_IntDataSafeClass::Set

; 1506 : 		pData->Set_Object_Dirty_Bit(nc_DB_OCCASIONAL,true);

	mov	edx, DWORD PTR [edi+160]
	mov	eax, DWORD PTR [edx+56]
	lea	esi, DWORD PTR [edi+160]
	push	1
	push	3
	mov	ecx, esi
	call	eax

; 1507 : 		pData->Set_Object_Dirty_Bit(nc_DB_RARE,true);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+56]
	push	1
	push	7
	mov	ecx, esi
	call	eax

; 1508 : 		for (nc_GenericSLNode<nc_BaseGameObj> *objList = nc_GameObjManager::GameObjList->HeadNode; objList != NULL; objList = objList->NodeNext)

	mov	ecx, DWORD PTR ?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A ; nc_GameObjManager::GameObjList
	mov	esi, DWORD PTR [ecx+4]
	test	esi, esi
	je	$LN4@Activate@7
	npad	5
$LL6@Activate@7:

; 1509 : 		{
; 1510 : 			nc_OffenseObjectClass *offense = 0;
; 1511 : 			if (objList->NodeData->definition->Get_Class_ID() == 0x3006 &&
; 1512 : 				((nc_C4GameObj *)objList->NodeData)->Owner.Reference &&
; 1513 : 				((nc_C4GameObj *)objList->NodeData)->Owner.Reference->obj->NetworkID == pData->Owner.Reference->obj->NetworkID)

	mov	edx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [edx+1724]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+32]
	call	edx
	cmp	eax, 12294				; 00003006H
	jne	SHORT $LN3@Activate@7
	mov	eax, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [eax+1980]
	test	eax, eax
	je	SHORT $LN3@Activate@7
	mov	ecx, DWORD PTR [edi+20]
	mov	edx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [eax+12]
	cmp	ecx, DWORD PTR [edx+12]

; 1514 : 			{
; 1515 : 				objList->NodeData->As_PhysicalGameObj()->Completely_Damaged(*offense);
; 1516 : 			}
; 1517 : 			else if (objList->NodeData->definition->Get_Class_ID() == 0x3016 &&

	je	SHORT $LN30@Activate@7
$LN3@Activate@7:

; 1518 : 				((nc_BeaconGameObj *)objList->NodeData)->Owner.Reference &&
; 1519 : 				((nc_BeaconGameObj *)objList->NodeData)->Owner.Reference->obj->NetworkID == pData->Owner.Reference->obj->NetworkID)

	mov	ecx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12310				; 00003016H
	jne	SHORT $LN5@Activate@7
	mov	ecx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [ecx+1976]
	test	eax, eax
	je	SHORT $LN5@Activate@7
	mov	edx, DWORD PTR [edi+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [edx+12]
	cmp	eax, DWORD PTR [ecx+12]
	jne	SHORT $LN5@Activate@7
$LN30@Activate@7:

; 1520 : 			{
; 1521 : 				objList->NodeData->As_PhysicalGameObj()->Completely_Damaged(*offense);

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+36]
	call	eax
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+88]
	push	0
	call	eax
$LN5@Activate@7:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	$LL6@Activate@7
$LN4@Activate@7:

; 1522 : 			}
; 1523 : 		}
; 1524 : 		pData->Owner.Reference->obj->Set_Delete_Pending();

	mov	ecx, DWORD PTR [edi+20]
	mov	eax, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [eax+8]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+44]
	call	eax
$LN8@Activate@7:
	lea	ecx, DWORD PTR _Token$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	edi
	pop	esi
	pop	ebp
$LN12@Activate@7:

; 1525 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@Team2ConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T72793[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@Team2ConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _Token$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Team2ConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T72794[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Team2ConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T72795[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@Team2ConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@Team2ConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@Team2ConsoleFunction@@UAEXPAD@Z ENDP		; Team2ConsoleFunction::Activate
PUBLIC	??_7PlayerInfoConsoleFunction@@6B@		; PlayerInfoConsoleFunction::`vftable'
PUBLIC	??0PlayerInfoConsoleFunction@@QAE@XZ		; PlayerInfoConsoleFunction::PlayerInfoConsoleFunction
PUBLIC	??_R4PlayerInfoConsoleFunction@@6B@		; PlayerInfoConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVPlayerInfoConsoleFunction@@@8		; PlayerInfoConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3PlayerInfoConsoleFunction@@8		; PlayerInfoConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2PlayerInfoConsoleFunction@@8		; PlayerInfoConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@PlayerInfoConsoleFunction@@8	; PlayerInfoConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@PlayerInfoConsoleFunction@@UAEPADXZ	; PlayerInfoConsoleFunction::Get_Name
PUBLIC	?Get_Alias@PlayerInfoConsoleFunction@@UAEPADXZ	; PlayerInfoConsoleFunction::Get_Alias
PUBLIC	?Get_Help@PlayerInfoConsoleFunction@@UAEPADXZ	; PlayerInfoConsoleFunction::Get_Help
PUBLIC	?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z	; PlayerInfoConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@PlayerInfoConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@PlayerInfoConsoleFunction@@8 DD FLAT:??_R0?AVPlayerInfoConsoleFunction@@@8 ; PlayerInfoConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3PlayerInfoConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2PlayerInfoConsoleFunction@@8
rdata$r	SEGMENT
??_R2PlayerInfoConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@PlayerInfoConsoleFunction@@8 ; PlayerInfoConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3PlayerInfoConsoleFunction@@8
rdata$r	SEGMENT
??_R3PlayerInfoConsoleFunction@@8 DD 00H		; PlayerInfoConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2PlayerInfoConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVPlayerInfoConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVPlayerInfoConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; PlayerInfoConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVPlayerInfoConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4PlayerInfoConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4PlayerInfoConsoleFunction@@6B@ DD 00H		; PlayerInfoConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVPlayerInfoConsoleFunction@@@8
	DD	FLAT:??_R3PlayerInfoConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7PlayerInfoConsoleFunction@@6B@
CONST	SEGMENT
??_7PlayerInfoConsoleFunction@@6B@ DD FLAT:??_R4PlayerInfoConsoleFunction@@6B@ ; PlayerInfoConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@PlayerInfoConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@PlayerInfoConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@PlayerInfoConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0PlayerInfoConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0PlayerInfoConsoleFunction@@QAE@XZ PROC		; PlayerInfoConsoleFunction::PlayerInfoConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7PlayerInfoConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0PlayerInfoConsoleFunction@@QAE@XZ ENDP		; PlayerInfoConsoleFunction::PlayerInfoConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_0M@GHELCGFC@player_info?$AA@		; `string'
;	COMDAT ??_C@_0M@GHELCGFC@player_info?$AA@
CONST	SEGMENT
??_C@_0M@GHELCGFC@player_info?$AA@ DB 'player_info', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@PlayerInfoConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@PlayerInfoConsoleFunction@@UAEPADXZ PROC	; PlayerInfoConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1532 : 		return "player_info";

	mov	eax, OFFSET ??_C@_0M@GHELCGFC@player_info?$AA@

; 1533 : 	}

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

; 1535 : 		return "pi";

	mov	eax, OFFSET ??_C@_02OAHAJOFD@pi?$AA@

; 1536 : 	}

	ret	0
?Get_Alias@PlayerInfoConsoleFunction@@UAEPADXZ ENDP	; PlayerInfoConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0HJ@LLJDCALB@PLAYER_INFO?5?$DMstring?$DO?5?9?5Print?5inf@ ; `string'
;	COMDAT ??_C@_0HJ@LLJDCALB@PLAYER_INFO?5?$DMstring?$DO?5?9?5Print?5inf@
CONST	SEGMENT
??_C@_0HJ@LLJDCALB@PLAYER_INFO?5?$DMstring?$DO?5?9?5Print?5inf@ DB 'PLAYE'
	DB	'R_INFO <string> - Print info about player name contains <stri'
	DB	'ng> if specified or all in the game to the console box', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@PlayerInfoConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@PlayerInfoConsoleFunction@@UAEPADXZ PROC	; PlayerInfoConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1538 : 		return "PLAYER_INFO <string> - Print info about player name contains <string> if specified or all in the game to the console box";

	mov	eax, OFFSET ??_C@_0HJ@LLJDCALB@PLAYER_INFO?5?$DMstring?$DO?5?9?5Print?5inf@

; 1539 : 	}

	ret	0
?Get_Help@PlayerInfoConsoleFunction@@UAEPADXZ ENDP	; PlayerInfoConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_C@_0EF@FMCODCI@Total?5current?5bandwidth?5usage?5fo@ ; `string'
PUBLIC	??_C@_05LPBDAFMO@?$CFs?$DL?$CFd?$AA@		; `string'
PUBLIC	??_C@_03IOFAJBDH@GDI?$AA@			; `string'
PUBLIC	??_C@_03EKKDEPBB@NOD?$AA@			; `string'
PUBLIC	??_C@_0DC@DFPPCFMO@?$CF3d?5?$CF?913s?5?$CF?96?40f?5?$CFs?7?$CFd?7?$CF?921s?5?$CF?97@ ; `string'
PUBLIC	??_C@_0DC@DLPFODGO@?$CF3d?5?$CF?914s?5?$CF?96?40f?5?$CFs?7?$CFd?7?$CF?921s?5?$CF?97@ ; `string'
PUBLIC	??_C@_0EJ@MFJCMDJO@?$ANId?5?5Name?5?5?5?5?5?5?5?5?5?5?5Score?5Side?7P@ ; `string'
PUBLIC	??_C@_0M@JLLOPPIA@No?5players?6?$AA@		; `string'
EXTRN	?Add_Message@nc_ConsoleModeClass@@QAEXPAVnc_WideStringClass@@PAUnc_Vector3@@_N@Z:PROC ; nc_ConsoleModeClass::Add_Message
EXTRN	?ConsoleMode@@3PAVnc_ConsoleModeClass@@A:DWORD	; ConsoleMode
EXTRN	__imp__inet_ntoa@4:PROC
EXTRN	__imp__htons@4:PROC
EXTRN	?Get_Color@nc_cPlayer@@QAE?AUnc_Vector3@@XZ:PROC ; nc_cPlayer::Get_Color
EXTRN	?Get@nc_FloatDataSafeClass@@QAEMXZ:PROC		; nc_FloatDataSafeClass::Get
EXTRN	?Contain@aString@@QBE_NABV1@H_N@Z:PROC		; aString::Contain
EXTRN	??0aString@@QAE@PB_W@Z:PROC			; aString::aString
EXTRN	?Get_Compressed_Bandwidth_Out@nc_PacketManagerClass@@QAEHPAUsockaddr_in@@@Z:PROC ; nc_PacketManagerClass::Get_Compressed_Bandwidth_Out
EXTRN	?PacketMgr@@3PAVnc_PacketManagerClass@@A:DWORD	; PacketMgr
EXTRN	?Get_Remote_Host@nc_cConnection@@QAEPAVnc_cRemoteHost@@H@Z:PROC ; nc_cConnection::Get_Remote_Host
EXTRN	?PServerConnection@nc_cNetwork@@2AAPAVnc_cConnection@@A:DWORD ; nc_cNetwork::PServerConnection
;	COMDAT ??_C@_0EF@FMCODCI@Total?5current?5bandwidth?5usage?5fo@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0EF@FMCODCI@Total?5current?5bandwidth?5usage?5fo@ DB 'Total current'
	DB	' bandwidth usage for players is %d kilobits per second', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_05LPBDAFMO@?$CFs?$DL?$CFd?$AA@
CONST	SEGMENT
??_C@_05LPBDAFMO@?$CFs?$DL?$CFd?$AA@ DB '%s;%d', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_03IOFAJBDH@GDI?$AA@
CONST	SEGMENT
??_C@_03IOFAJBDH@GDI?$AA@ DB 'GDI', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03EKKDEPBB@NOD?$AA@
CONST	SEGMENT
??_C@_03EKKDEPBB@NOD?$AA@ DB 'NOD', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0DC@DFPPCFMO@?$CF3d?5?$CF?913s?5?$CF?96?40f?5?$CFs?7?$CFd?7?$CF?921s?5?$CF?97@
CONST	SEGMENT
??_C@_0DC@DFPPCFMO@?$CF3d?5?$CF?913s?5?$CF?96?40f?5?$CFs?7?$CFd?7?$CF?921s?5?$CF?97@ DB '%'
	DB	'3d %-13s %-6.0f %s', 09H, '%d', 09H, '%-21s %-7d %.3d.%.2d.%.'
	DB	'2d', 0aH, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0DC@DLPFODGO@?$CF3d?5?$CF?914s?5?$CF?96?40f?5?$CFs?7?$CFd?7?$CF?921s?5?$CF?97@
CONST	SEGMENT
??_C@_0DC@DLPFODGO@?$CF3d?5?$CF?914s?5?$CF?96?40f?5?$CFs?7?$CFd?7?$CF?921s?5?$CF?97@ DB '%'
	DB	'3d %-14s %-6.0f %s', 09H, '%d', 09H, '%-21s %-7d %.3d.%.2d.%.'
	DB	'2d', 0aH, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0EJ@MFJCMDJO@?$ANId?5?5Name?5?5?5?5?5?5?5?5?5?5?5Score?5Side?7P@
CONST	SEGMENT
??_C@_0EJ@MFJCMDJO@?$ANId?5?5Name?5?5?5?5?5?5?5?5?5?5?5Score?5Side?7P@ DB 0dH
	DB	'Id  Name           Score Side', 09H, 'Ping', 09H, 'Address   '
	DB	'            Kbits/s Time', 0aH, 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@JLLOPPIA@No?5players?6?$AA@
CONST	SEGMENT
??_C@_0M@JLLOPPIA@No?5players?6?$AA@ DB 'No players', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z$4
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
$T72836 = -141						; size = 1
$T72845 = -140						; size = 4
_wstr$61811 = -136					; size = 4
_Bandwidth$61791 = -132					; size = 4
_i$61793 = -128						; size = 4
tv237 = -124						; size = 4
tv194 = -120						; size = 4
_format$61804 = -116					; size = 4
tv283 = -112						; size = 4
_name$61800 = -108					; size = 8
$T72837 = -100						; size = 8
$T72843 = -92						; size = 8
$T72840 = -84						; size = 8
_color$61809 = -76					; size = 12
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z PROC	; PlayerInfoConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1540 : 	void Activate(char *text) {

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	push	-1
	push	__ehhandler$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 168				; 000000a8H
	push	ebx
	push	esi
	push	edi

; 1582 : 			}
; 1583 : 			stConsole::Out("Total current bandwidth usage for players is %d kilobits per second\n", Bandwidth >> 10);

	xor	edi, edi
	mov	DWORD PTR $T72845[esp+192], edi
	mov	eax, DWORD PTR ?PServerConnection@nc_cNetwork@@2AAPAVnc_cConnection@@A ; nc_cNetwork::PServerConnection
	mov	ecx, DWORD PTR [eax]
	cmp	DWORD PTR [ecx+1364], edi
	jne	SHORT $LN8@Activate@8
	push	OFFSET ??_C@_0M@JLLOPPIA@No?5players?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 4

; 1584 : 		}
; 1585 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+192]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
$LN8@Activate@8:

; 1541 : 		if (nc_cNetwork::PServerConnection->Connection_Count == 0)
; 1542 : 			stConsole::Out("No players\n");
; 1543 : 		else
; 1544 : 		{
; 1545 : 			int Bandwidth = 0;
; 1546 : 			stConsole::Out("\rId  Name           Score Side\tPing\tAddress               Kbits/s Time\n\n");

	push	OFFSET ??_C@_0EJ@MFJCMDJO@?$ANId?5?5Name?5?5?5?5?5?5?5?5?5?5?5Score?5Side?7P@
	mov	DWORD PTR _Bandwidth$61791[esp+196], edi
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out

; 1547 : 			for (unsigned int i = 1; i <= nc_cNetwork::PServerConnection->MaxConnections; i++)

	mov	edx, DWORD PTR ?PServerConnection@nc_cNetwork@@2AAPAVnc_cConnection@@A ; nc_cNetwork::PServerConnection
	mov	eax, DWORD PTR [edx]
	mov	esi, 1
	add	esp, 4
	cmp	DWORD PTR [eax+1360], esi
	mov	DWORD PTR _i$61793[esp+192], esi
	jb	$LN4@Activate@8
	npad	5
$LL6@Activate@8:

; 1548 : 			{
; 1549 : 				nc_cPlayer *pData = nc_cPlayerManager::Find_Player(i);

	push	esi
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	ebx, eax
	add	esp, 4

; 1550 : 				if (pData)

	test	ebx, ebx
	je	$LN5@Activate@8

; 1551 : 				{
; 1552 : 					nc_cRemoteHost *RemoteHost = nc_cNetwork::PServerConnection->Get_Remote_Host(i);

	mov	ecx, DWORD PTR ?PServerConnection@nc_cNetwork@@2AAPAVnc_cConnection@@A ; nc_cNetwork::PServerConnection
	mov	ecx, DWORD PTR [ecx]
	push	esi
	call	?Get_Remote_Host@nc_cConnection@@QAEPAVnc_cRemoteHost@@H@Z ; nc_cConnection::Get_Remote_Host

; 1553 : 					Bandwidth += PacketMgr->Get_Compressed_Bandwidth_Out(&RemoteHost->Address);

	mov	ecx, DWORD PTR ?PacketMgr@@3PAVnc_PacketManagerClass@@A ; PacketMgr
	mov	edi, eax
	lea	eax, DWORD PTR [edi+688]
	push	eax
	call	?Get_Compressed_Bandwidth_Out@nc_PacketManagerClass@@QAEHPAUsockaddr_in@@@Z ; nc_PacketManagerClass::Get_Compressed_Bandwidth_Out

; 1554 : 					aString name = pData->PlayerName.m_Buffer;

	mov	edx, DWORD PTR [ebx+1880]
	add	DWORD PTR _Bandwidth$61791[esp+192], eax
	push	edx
	lea	ecx, DWORD PTR _name$61800[esp+196]
	call	??0aString@@QAE@PB_W@Z			; aString::aString

; 1555 : 					if (!*text || name.Contain(text))

	mov	eax, DWORD PTR _text$[ebp]
	cmp	BYTE PTR [eax], 0
	mov	DWORD PTR __$EHRec$[esp+200], 0
	je	SHORT $LN11@Activate@8
	push	eax
	lea	ecx, DWORD PTR $T72837[esp+196]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	or	DWORD PTR $T72845[esp+192], 1
	push	0
	push	-1
	lea	eax, DWORD PTR $T72837[esp+200]
	push	eax
	lea	ecx, DWORD PTR _name$61800[esp+204]
	mov	BYTE PTR __$EHRec$[esp+212], 1
	call	?Contain@aString@@QBE_NABV1@H_N@Z	; aString::Contain
	test	al, al
	mov	BYTE PTR $T72836[esp+192], 0
	je	SHORT $LN12@Activate@8
$LN11@Activate@8:
	mov	BYTE PTR $T72836[esp+192], 1
$LN12@Activate@8:
	test	BYTE PTR $T72845[esp+192], 1
	mov	DWORD PTR __$EHRec$[esp+200], 0
	je	SHORT $LN18@Activate@8
	and	DWORD PTR $T72845[esp+192], -2		; fffffffeH
	lea	ecx, DWORD PTR $T72837[esp+192]
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN18@Activate@8:
	cmp	BYTE PTR $T72836[esp+192], 0
	je	$LN51@Activate@8

; 1556 : 					{
; 1557 : 						const char *format = "%3d %-14s %-6.0f %s\t%d\t%-21s %-7d %.3d.%.2d.%.2d\n";
; 1558 : 						if (pData->Score.Get() < 0.0f)

	lea	ecx, DWORD PTR [ebx+4]
	mov	DWORD PTR _format$61804[esp+192], OFFSET ??_C@_0DC@DLPFODGO@?$CF3d?5?$CF?914s?5?$CF?96?40f?5?$CFs?7?$CFd?7?$CF?921s?5?$CF?97@
	mov	DWORD PTR tv283[esp+192], ecx
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fcomp	DWORD PTR __real@00000000
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@Activate@8

; 1559 : 							format = "%3d %-13s %-6.0f %s\t%d\t%-21s %-7d %.3d.%.2d.%.2d\n";

	mov	DWORD PTR _format$61804[esp+192], OFFSET ??_C@_0DC@DFPPCFMO@?$CF3d?5?$CF?913s?5?$CF?96?40f?5?$CFs?7?$CFd?7?$CF?921s?5?$CF?97@
$LN1@Activate@8:

; 1560 : 						unsigned long time = (GetTickCount() - SystemTime - RemoteHost->JoinTime) / 1000;

	call	DWORD PTR __imp__GetTickCount@0
	mov	edx, DWORD PTR ?SystemTime@@3AAKA	; SystemTime
	mov	ecx, eax
	sub	ecx, DWORD PTR [edi+856]
	mov	eax, 274877907				; 10624dd3H
	sub	ecx, DWORD PTR [edx]
	mul	ecx

; 1561 : 						nc_Vector3 color = pData->Get_Color();

	lea	eax, DWORD PTR _color$61809[esp+192]
	mov	esi, edx
	push	eax
	mov	ecx, ebx
	shr	esi, 6
	call	?Get_Color@nc_cPlayer@@QAE?AUnc_Vector3@@XZ ; nc_cPlayer::Get_Color

; 1562 : 						nc_WideStringClass wstr;

	mov	ecx, DWORD PTR ?m_EmptyString@nc_WideStringClass@@2PAPA_WA ; nc_WideStringClass::m_EmptyString
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _wstr$61811[esp+192], edx

; 1563 : 						wstr.Get_String(0, false);

	push	0
	push	0
	lea	ecx, DWORD PTR _wstr$61811[esp+200]
	mov	BYTE PTR __$EHRec$[esp+208], 2
	call	?Get_String@nc_WideStringClass@@QAE_WH_N@Z ; nc_WideStringClass::Get_String

; 1564 : 						wstr.Convert_From(
; 1565 : 							aString::Format(format,
; 1566 : 								i,
; 1567 : 								name.GetString(),
; 1568 : 								pData->Score.Get(),
; 1569 : 								(pData->PlayerType.Get() == 0 ? "NOD" : "GDI"),
; 1570 : 								RemoteHost->Ping,
; 1571 : 								aString::Format("%s;%d", inet_ntoa(RemoteHost->Address.sin_addr), htons(RemoteHost->Address.sin_port)).GetString(),
; 1572 : 								PacketMgr->Get_Compressed_Bandwidth_Out(&RemoteHost->Address) >> 10,
; 1573 : 								time / 3600,
; 1574 : 								(time / 60) % 60,
; 1575 : 								time % 60
; 1576 : 							).GetString()
; 1577 : 						);

	lea	ecx, DWORD PTR [ebx+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	test	eax, eax
	mov	DWORD PTR tv194[esp+192], OFFSET ??_C@_03EKKDEPBB@NOD?$AA@
	je	SHORT $LN14@Activate@8
	mov	DWORD PTR tv194[esp+192], OFFSET ??_C@_03IOFAJBDH@GDI?$AA@
$LN14@Activate@8:
	movzx	eax, WORD PTR [edi+690]
	push	eax
	call	DWORD PTR __imp__htons@4
	mov	edx, DWORD PTR [edi+692]
	movzx	ecx, ax
	push	ecx
	push	edx
	call	DWORD PTR __imp__inet_ntoa@4
	push	eax
	lea	eax, DWORD PTR $T72840[esp+200]
	push	OFFSET ??_C@_05LPBDAFMO@?$CFs?$DL?$CFd?$AA@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	eax, DWORD PTR [eax+4]
	xor	ebx, ebx
	cmp	eax, ebx
	mov	BYTE PTR __$EHRec$[esp+200], 3
	je	SHORT $LN29@Activate@8
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR tv237[esp+192], ecx
	jmp	SHORT $LN30@Activate@8
$LN29@Activate@8:
	mov	DWORD PTR tv237[esp+192], ebx
$LN30@Activate@8:
	mov	eax, DWORD PTR _name$61800[esp+196]
	cmp	eax, ebx
	je	SHORT $LN35@Activate@8
	mov	ebx, DWORD PTR [eax]
$LN35@Activate@8:
	mov	eax, -2004318071			; 88888889H
	mul	esi
	mov	eax, edx
	shr	eax, 5
	mov	edx, eax
	shl	edx, 4
	sub	edx, eax
	add	edx, edx
	add	edx, edx
	mov	ecx, esi
	sub	ecx, edx
	push	ecx
	xor	edx, edx
	mov	ecx, 60					; 0000003cH
	div	ecx
	mov	ecx, DWORD PTR ?PacketMgr@@3PAVnc_PacketManagerClass@@A ; PacketMgr
	mov	eax, -1851608123			; 91a2b3c5H
	push	edx
	mul	esi
	shr	edx, 11					; 0000000bH
	push	edx
	lea	eax, DWORD PTR [edi+688]
	push	eax
	call	?Get_Compressed_Bandwidth_Out@nc_PacketManagerClass@@QAEHPAUsockaddr_in@@@Z ; nc_PacketManagerClass::Get_Compressed_Bandwidth_Out
	mov	edx, DWORD PTR tv237[esp+204]
	mov	ecx, DWORD PTR tv194[esp+204]
	sar	eax, 10					; 0000000aH
	push	eax
	mov	eax, DWORD PTR [edi+676]
	push	edx
	push	eax
	push	ecx
	mov	ecx, DWORD PTR tv283[esp+220]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	edx, DWORD PTR _i$61793[esp+220]
	mov	eax, DWORD PTR _format$61804[esp+220]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	ebx
	push	edx
	push	eax
	lea	ecx, DWORD PTR $T72843[esp+240]
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 52					; 00000034H
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+200], 4
	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
	lea	ecx, DWORD PTR _wstr$61811[esp+196]
	call	?Convert_From@nc_WideStringClass@@QAEXPBD@Z ; nc_WideStringClass::Convert_From
	lea	ecx, DWORD PTR $T72843[esp+192]
	mov	BYTE PTR __$EHRec$[esp+200], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72840[esp+192]
	mov	BYTE PTR __$EHRec$[esp+200], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1578 : 						ConsoleMode->Add_Message(&wstr, &color, true);

	mov	ecx, DWORD PTR ?ConsoleMode@@3PAVnc_ConsoleModeClass@@A ; ConsoleMode
	push	1
	lea	edx, DWORD PTR _color$61809[esp+196]
	push	edx
	lea	eax, DWORD PTR _wstr$61811[esp+200]
	push	eax
	call	?Add_Message@nc_ConsoleModeClass@@QAEXPAVnc_WideStringClass@@PAUnc_Vector3@@_N@Z ; nc_ConsoleModeClass::Add_Message

; 1579 : 						wstr.Free_String();

	lea	ecx, DWORD PTR _wstr$61811[esp+192]
	call	?Free_String@nc_WideStringClass@@QAEXXZ	; nc_WideStringClass::Free_String

; 1580 : 					}

	lea	ecx, DWORD PTR _wstr$61811[esp+192]
	mov	BYTE PTR __$EHRec$[esp+200], 0
	call	?Free_String@nc_WideStringClass@@QAEXXZ	; nc_WideStringClass::Free_String
	mov	esi, DWORD PTR _i$61793[esp+192]
$LN51@Activate@8:

; 1581 : 				}

	lea	ecx, DWORD PTR _name$61800[esp+192]
	mov	DWORD PTR __$EHRec$[esp+200], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	edi, DWORD PTR _Bandwidth$61791[esp+192]
$LN5@Activate@8:
	mov	ecx, DWORD PTR ?PServerConnection@nc_cNetwork@@2AAPAVnc_cConnection@@A ; nc_cNetwork::PServerConnection
	mov	edx, DWORD PTR [ecx]
	add	esi, 1
	cmp	esi, DWORD PTR [edx+1360]
	mov	DWORD PTR _i$61793[esp+192], esi
	jbe	$LL6@Activate@8
$LN4@Activate@8:

; 1582 : 			}
; 1583 : 			stConsole::Out("Total current bandwidth usage for players is %d kilobits per second\n", Bandwidth >> 10);

	sar	edi, 10					; 0000000aH
	push	edi
	push	OFFSET ??_C@_0EF@FMCODCI@Total?5current?5bandwidth?5usage?5fo@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out

; 1584 : 		}
; 1585 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+200]
	add	esp, 8
	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$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR _name$61800[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z$1:
	mov	eax, DWORD PTR $T72845[ebp]
	and	eax, 1
	je	$LN17@Activate@8
	and	DWORD PTR $T72845[ebp], -2		; fffffffeH
	lea	ecx, DWORD PTR $T72837[ebp]
	jmp	??1aString@@UAE@XZ
$LN17@Activate@8:
	ret	0
__unwindfunclet$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR _wstr$61811[ebp]
	jmp	??1nc_WideStringClass@@QAE@XZ		; nc_WideStringClass::~nc_WideStringClass
__unwindfunclet$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T72840[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z$4:
	lea	ecx, DWORD PTR $T72843[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@PlayerInfoConsoleFunction@@UAEXPAD@Z ENDP	; PlayerInfoConsoleFunction::Activate
PUBLIC	??_7SetCreditConsoleFunction@@6B@		; SetCreditConsoleFunction::`vftable'
PUBLIC	??0SetCreditConsoleFunction@@QAE@XZ		; SetCreditConsoleFunction::SetCreditConsoleFunction
PUBLIC	??_R4SetCreditConsoleFunction@@6B@		; SetCreditConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSetCreditConsoleFunction@@@8		; SetCreditConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3SetCreditConsoleFunction@@8		; SetCreditConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SetCreditConsoleFunction@@8		; SetCreditConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SetCreditConsoleFunction@@8	; SetCreditConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@SetCreditConsoleFunction@@UAEPADXZ	; SetCreditConsoleFunction::Get_Name
PUBLIC	?Get_Help@SetCreditConsoleFunction@@UAEPADXZ	; SetCreditConsoleFunction::Get_Help
PUBLIC	?Activate@SetCreditConsoleFunction@@UAEXPAD@Z	; SetCreditConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@SetCreditConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SetCreditConsoleFunction@@8 DD FLAT:??_R0?AVSetCreditConsoleFunction@@@8 ; SetCreditConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SetCreditConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2SetCreditConsoleFunction@@8
rdata$r	SEGMENT
??_R2SetCreditConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@SetCreditConsoleFunction@@8 ; SetCreditConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3SetCreditConsoleFunction@@8
rdata$r	SEGMENT
??_R3SetCreditConsoleFunction@@8 DD 00H			; SetCreditConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2SetCreditConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSetCreditConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVSetCreditConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; SetCreditConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSetCreditConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SetCreditConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4SetCreditConsoleFunction@@6B@ DD 00H		; SetCreditConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSetCreditConsoleFunction@@@8
	DD	FLAT:??_R3SetCreditConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7SetCreditConsoleFunction@@6B@
CONST	SEGMENT
??_7SetCreditConsoleFunction@@6B@ DD FLAT:??_R4SetCreditConsoleFunction@@6B@ ; SetCreditConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@SetCreditConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@SetCreditConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@SetCreditConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SetCreditConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0SetCreditConsoleFunction@@QAE@XZ PROC		; SetCreditConsoleFunction::SetCreditConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7SetCreditConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SetCreditConsoleFunction@@QAE@XZ ENDP		; SetCreditConsoleFunction::SetCreditConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_09CKJCNMBF@setcredit?$AA@			; `string'
;	COMDAT ??_C@_09CKJCNMBF@setcredit?$AA@
CONST	SEGMENT
??_C@_09CKJCNMBF@setcredit?$AA@ DB 'setcredit', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@SetCreditConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@SetCreditConsoleFunction@@UAEPADXZ PROC	; SetCreditConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1593 : 		return "setcredit";

	mov	eax, OFFSET ??_C@_09CKJCNMBF@setcredit?$AA@

; 1594 : 	}

	ret	0
?Get_Name@SetCreditConsoleFunction@@UAEPADXZ ENDP	; SetCreditConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0EO@MFLABJKM@SETCREDIT?5?$DMplayer?$DO?5?$DMcredit?$DO?5?9?5Se@ ; `string'
;	COMDAT ??_C@_0EO@MFLABJKM@SETCREDIT?5?$DMplayer?$DO?5?$DMcredit?$DO?5?9?5Se@
CONST	SEGMENT
??_C@_0EO@MFLABJKM@SETCREDIT?5?$DMplayer?$DO?5?$DMcredit?$DO?5?9?5Se@ DB 'S'
	DB	'ETCREDIT <player> <credit> - Set the current credit of <playe'
	DB	'r> to <credit>.', 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@SetCreditConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@SetCreditConsoleFunction@@UAEPADXZ PROC	; SetCreditConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1597 : 		return "SETCREDIT <player> <credit> - Set the current credit of <player> to <credit>.";

	mov	eax, OFFSET ??_C@_0EO@MFLABJKM@SETCREDIT?5?$DMplayer?$DO?5?$DMcredit?$DO?5?9?5Se@

; 1598 : 	}

	ret	0
?Get_Help@SetCreditConsoleFunction@@UAEPADXZ ENDP	; SetCreditConsoleFunction::Get_Help
_TEXT	ENDS
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__ehfuncinfo$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z$3
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@SetCreditConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_Token$ = -44						; size = 8
$T72939 = -36						; size = 8
$T72940 = -28						; size = 8
$T72941 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@SetCreditConsoleFunction@@UAEXPAD@Z PROC	; SetCreditConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1600 : 	{

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

; 1601 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 32					; 00000020H
	cmp	BYTE PTR [eax], 0
	je	$LN4@Activate@9

; 1602 : 			return;
; 1603 : 		aToken Token = text;

	push	eax
	lea	ecx, DWORD PTR $T72939[esp+48]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T72939[esp+44]
	push	eax
	lea	ecx, DWORD PTR _Token$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T72939[esp+44]
	mov	BYTE PTR __$EHRec$[esp+52], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1604 : 		if (Token.numtok(' ') != 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _Token$[esp+48]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2
	je	SHORT $LN2@Activate@9

; 1605 : 			return;

	lea	ecx, DWORD PTR _Token$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1609 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	4
$LN2@Activate@9:
	push	esi

; 1606 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(Token.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T72940[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
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T72940[esp+48]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1607 : 		if (pData)

	test	esi, esi
	je	SHORT $LN1@Activate@9
	push	edi

; 1608 : 			pData->Set_Money((float)Token.gettok(2, ' ').ToDouble());

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T72941[esp+60]
	push	edx
	lea	ecx, DWORD PTR _Token$[esp+64]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	edi, DWORD PTR [esi]
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+60], 4
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	mov	eax, DWORD PTR [edi+12]
	push	ecx
	mov	ecx, esi
	fstp	DWORD PTR [esp]
	call	eax
	lea	ecx, DWORD PTR $T72941[esp+52]
	mov	BYTE PTR __$EHRec$[esp+60], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	edi
$LN1@Activate@9:

; 1609 : 	}

	lea	ecx, DWORD PTR _Token$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	esi
$LN4@Activate@9:
	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T72939[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _Token$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T72940[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T72941[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@SetCreditConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@SetCreditConsoleFunction@@UAEXPAD@Z ENDP	; SetCreditConsoleFunction::Activate
PUBLIC	??_7SetScoreConsoleFunction@@6B@		; SetScoreConsoleFunction::`vftable'
PUBLIC	??0SetScoreConsoleFunction@@QAE@XZ		; SetScoreConsoleFunction::SetScoreConsoleFunction
PUBLIC	??_R4SetScoreConsoleFunction@@6B@		; SetScoreConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSetScoreConsoleFunction@@@8		; SetScoreConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3SetScoreConsoleFunction@@8			; SetScoreConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SetScoreConsoleFunction@@8			; SetScoreConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SetScoreConsoleFunction@@8	; SetScoreConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@SetScoreConsoleFunction@@UAEPADXZ	; SetScoreConsoleFunction::Get_Name
PUBLIC	?Get_Help@SetScoreConsoleFunction@@UAEPADXZ	; SetScoreConsoleFunction::Get_Help
PUBLIC	?Activate@SetScoreConsoleFunction@@UAEXPAD@Z	; SetScoreConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@SetScoreConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SetScoreConsoleFunction@@8 DD FLAT:??_R0?AVSetScoreConsoleFunction@@@8 ; SetScoreConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SetScoreConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2SetScoreConsoleFunction@@8
rdata$r	SEGMENT
??_R2SetScoreConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@SetScoreConsoleFunction@@8 ; SetScoreConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3SetScoreConsoleFunction@@8
rdata$r	SEGMENT
??_R3SetScoreConsoleFunction@@8 DD 00H			; SetScoreConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2SetScoreConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSetScoreConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVSetScoreConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; SetScoreConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSetScoreConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SetScoreConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4SetScoreConsoleFunction@@6B@ DD 00H		; SetScoreConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSetScoreConsoleFunction@@@8
	DD	FLAT:??_R3SetScoreConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7SetScoreConsoleFunction@@6B@
CONST	SEGMENT
??_7SetScoreConsoleFunction@@6B@ DD FLAT:??_R4SetScoreConsoleFunction@@6B@ ; SetScoreConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@SetScoreConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@SetScoreConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@SetScoreConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SetScoreConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0SetScoreConsoleFunction@@QAE@XZ PROC			; SetScoreConsoleFunction::SetScoreConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7SetScoreConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SetScoreConsoleFunction@@QAE@XZ ENDP			; SetScoreConsoleFunction::SetScoreConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_08CPGKPINN@setscore?$AA@			; `string'
;	COMDAT ??_C@_08CPGKPINN@setscore?$AA@
CONST	SEGMENT
??_C@_08CPGKPINN@setscore?$AA@ DB 'setscore', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@SetScoreConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@SetScoreConsoleFunction@@UAEPADXZ PROC	; SetScoreConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1617 : 		return "setscore";

	mov	eax, OFFSET ??_C@_08CPGKPINN@setscore?$AA@

; 1618 : 	}

	ret	0
?Get_Name@SetScoreConsoleFunction@@UAEPADXZ ENDP	; SetScoreConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0EC@MNOPKNMP@SETSCORE?5?$DMplayer?$DO?5?$DMscore?$DO?5?9?5Set?5@ ; `string'
;	COMDAT ??_C@_0EC@MNOPKNMP@SETSCORE?5?$DMplayer?$DO?5?$DMscore?$DO?5?9?5Set?5@
CONST	SEGMENT
??_C@_0EC@MNOPKNMP@SETSCORE?5?$DMplayer?$DO?5?$DMscore?$DO?5?9?5Set?5@ DB 'S'
	DB	'ETSCORE <player> <score> - Set the score of <player> to <scor'
	DB	'e>.', 00H					; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@SetScoreConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@SetScoreConsoleFunction@@UAEPADXZ PROC	; SetScoreConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1621 : 		return "SETSCORE <player> <score> - Set the score of <player> to <score>.";

	mov	eax, OFFSET ??_C@_0EC@MNOPKNMP@SETSCORE?5?$DMplayer?$DO?5?$DMscore?$DO?5?9?5Set?5@

; 1622 : 	}

	ret	0
?Get_Help@SetScoreConsoleFunction@@UAEPADXZ ENDP	; SetScoreConsoleFunction::Get_Help
_TEXT	ENDS
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__ehfuncinfo$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z$3
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@SetScoreConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_Token$ = -44						; size = 8
$T72968 = -36						; size = 8
$T72969 = -28						; size = 8
$T72970 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@SetScoreConsoleFunction@@UAEXPAD@Z PROC	; SetScoreConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1624 : 	{

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

; 1625 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 32					; 00000020H
	cmp	BYTE PTR [eax], 0
	je	$LN4@Activate@10

; 1626 : 			return;
; 1627 : 		aToken Token = text;

	push	eax
	lea	ecx, DWORD PTR $T72968[esp+48]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T72968[esp+44]
	push	eax
	lea	ecx, DWORD PTR _Token$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T72968[esp+44]
	mov	BYTE PTR __$EHRec$[esp+52], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1628 : 		if (Token.numtok(' ') != 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _Token$[esp+48]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2
	je	SHORT $LN2@Activate@10

; 1629 : 			return;

	lea	ecx, DWORD PTR _Token$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1633 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	4
$LN2@Activate@10:
	push	esi

; 1630 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(Token.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T72969[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
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T72969[esp+48]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1631 : 		if (pData)

	test	esi, esi
	je	SHORT $LN1@Activate@10
	push	edi

; 1632 : 			pData->Set_Score((float)Token.gettok(2, ' ').ToDouble());

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T72970[esp+60]
	push	edx
	lea	ecx, DWORD PTR _Token$[esp+64]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	edi, DWORD PTR [esi]
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+60], 4
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	mov	eax, DWORD PTR [edi+4]
	push	ecx
	mov	ecx, esi
	fstp	DWORD PTR [esp]
	call	eax
	lea	ecx, DWORD PTR $T72970[esp+52]
	mov	BYTE PTR __$EHRec$[esp+60], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	edi
$LN1@Activate@10:

; 1633 : 	}

	lea	ecx, DWORD PTR _Token$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	esi
$LN4@Activate@10:
	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T72968[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _Token$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T72969[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T72970[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@SetScoreConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@SetScoreConsoleFunction@@UAEXPAD@Z ENDP	; SetScoreConsoleFunction::Activate
PUBLIC	??_7SetPosConsoleFunction@@6B@			; SetPosConsoleFunction::`vftable'
PUBLIC	??0SetPosConsoleFunction@@QAE@XZ		; SetPosConsoleFunction::SetPosConsoleFunction
PUBLIC	??_R4SetPosConsoleFunction@@6B@			; SetPosConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSetPosConsoleFunction@@@8		; SetPosConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3SetPosConsoleFunction@@8			; SetPosConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SetPosConsoleFunction@@8			; SetPosConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SetPosConsoleFunction@@8		; SetPosConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@SetPosConsoleFunction@@UAEPADXZ	; SetPosConsoleFunction::Get_Name
PUBLIC	?Get_Help@SetPosConsoleFunction@@UAEPADXZ	; SetPosConsoleFunction::Get_Help
PUBLIC	?Activate@SetPosConsoleFunction@@UAEXPAD@Z	; SetPosConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@SetPosConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SetPosConsoleFunction@@8 DD FLAT:??_R0?AVSetPosConsoleFunction@@@8 ; SetPosConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SetPosConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2SetPosConsoleFunction@@8
rdata$r	SEGMENT
??_R2SetPosConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@SetPosConsoleFunction@@8 ; SetPosConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3SetPosConsoleFunction@@8
rdata$r	SEGMENT
??_R3SetPosConsoleFunction@@8 DD 00H			; SetPosConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2SetPosConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSetPosConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVSetPosConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; SetPosConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSetPosConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SetPosConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4SetPosConsoleFunction@@6B@ DD 00H			; SetPosConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSetPosConsoleFunction@@@8
	DD	FLAT:??_R3SetPosConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7SetPosConsoleFunction@@6B@
CONST	SEGMENT
??_7SetPosConsoleFunction@@6B@ DD FLAT:??_R4SetPosConsoleFunction@@6B@ ; SetPosConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@SetPosConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@SetPosConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@SetPosConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SetPosConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0SetPosConsoleFunction@@QAE@XZ PROC			; SetPosConsoleFunction::SetPosConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7SetPosConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SetPosConsoleFunction@@QAE@XZ ENDP			; SetPosConsoleFunction::SetPosConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_06MHNODEGF@setpos?$AA@			; `string'
;	COMDAT ??_C@_06MHNODEGF@setpos?$AA@
CONST	SEGMENT
??_C@_06MHNODEGF@setpos?$AA@ DB 'setpos', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@SetPosConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@SetPosConsoleFunction@@UAEPADXZ PROC		; SetPosConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1641 : 		return "setpos";

	mov	eax, OFFSET ??_C@_06MHNODEGF@setpos?$AA@

; 1642 : 	}

	ret	0
?Get_Name@SetPosConsoleFunction@@UAEPADXZ ENDP		; SetPosConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0ED@CIJGNLKI@SETPOS?5?$DMplayer?$DO?5?$DMX?$DO?5?$DMY?$DO?5?$DMZ?$DO?5?9?5Se@ ; `string'
;	COMDAT ??_C@_0ED@CIJGNLKI@SETPOS?5?$DMplayer?$DO?5?$DMX?$DO?5?$DMY?$DO?5?$DMZ?$DO?5?9?5Se@
CONST	SEGMENT
??_C@_0ED@CIJGNLKI@SETPOS?5?$DMplayer?$DO?5?$DMX?$DO?5?$DMY?$DO?5?$DMZ?$DO?5?9?5Se@ DB 'S'
	DB	'ETPOS <player> <X> <Y> <Z> - Set the position of <player> to '
	DB	'XYZ.', 00H					; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@SetPosConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@SetPosConsoleFunction@@UAEPADXZ PROC		; SetPosConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1645 : 		return "SETPOS <player> <X> <Y> <Z> - Set the position of <player> to XYZ.";

	mov	eax, OFFSET ??_C@_0ED@CIJGNLKI@SETPOS?5?$DMplayer?$DO?5?$DMX?$DO?5?$DMY?$DO?5?$DMZ?$DO?5?9?5Se@

; 1646 : 	}

	ret	0
?Get_Help@SetPosConsoleFunction@@UAEPADXZ ENDP		; SetPosConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_7SetNameConsoleFunction@@6B@			; SetNameConsoleFunction::`vftable'
PUBLIC	??0SetNameConsoleFunction@@QAE@XZ		; SetNameConsoleFunction::SetNameConsoleFunction
PUBLIC	??_R4SetNameConsoleFunction@@6B@		; SetNameConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSetNameConsoleFunction@@@8		; SetNameConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3SetNameConsoleFunction@@8			; SetNameConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SetNameConsoleFunction@@8			; SetNameConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SetNameConsoleFunction@@8		; SetNameConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@SetNameConsoleFunction@@UAEPADXZ	; SetNameConsoleFunction::Get_Name
PUBLIC	?Get_Help@SetNameConsoleFunction@@UAEPADXZ	; SetNameConsoleFunction::Get_Help
PUBLIC	?Activate@SetNameConsoleFunction@@UAEXPAD@Z	; SetNameConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@SetNameConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SetNameConsoleFunction@@8 DD FLAT:??_R0?AVSetNameConsoleFunction@@@8 ; SetNameConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SetNameConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2SetNameConsoleFunction@@8
rdata$r	SEGMENT
??_R2SetNameConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@SetNameConsoleFunction@@8 ; SetNameConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3SetNameConsoleFunction@@8
rdata$r	SEGMENT
??_R3SetNameConsoleFunction@@8 DD 00H			; SetNameConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2SetNameConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSetNameConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVSetNameConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; SetNameConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSetNameConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SetNameConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4SetNameConsoleFunction@@6B@ DD 00H			; SetNameConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSetNameConsoleFunction@@@8
	DD	FLAT:??_R3SetNameConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7SetNameConsoleFunction@@6B@
CONST	SEGMENT
??_7SetNameConsoleFunction@@6B@ DD FLAT:??_R4SetNameConsoleFunction@@6B@ ; SetNameConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@SetNameConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@SetNameConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@SetNameConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SetNameConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0SetNameConsoleFunction@@QAE@XZ PROC			; SetNameConsoleFunction::SetNameConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7SetNameConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SetNameConsoleFunction@@QAE@XZ ENDP			; SetNameConsoleFunction::SetNameConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_07MCCAEKL@setname?$AA@			; `string'
;	COMDAT ??_C@_07MCCAEKL@setname?$AA@
CONST	SEGMENT
??_C@_07MCCAEKL@setname?$AA@ DB 'setname', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@SetNameConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@SetNameConsoleFunction@@UAEPADXZ PROC		; SetNameConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1688 : 		return "setname";

	mov	eax, OFFSET ??_C@_07MCCAEKL@setname?$AA@

; 1689 : 	}

	ret	0
?Get_Name@SetNameConsoleFunction@@UAEPADXZ ENDP		; SetNameConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0JJ@NGMEBILK@SETNAME?5?$DMplayer?$DO?5?$DMname?$DO?5?9?5Set?5th@ ; `string'
;	COMDAT ??_C@_0JJ@NGMEBILK@SETNAME?5?$DMplayer?$DO?5?$DMname?$DO?5?9?5Set?5th@
CONST	SEGMENT
??_C@_0JJ@NGMEBILK@SETNAME?5?$DMplayer?$DO?5?$DMname?$DO?5?9?5Set?5th@ DB 'S'
	DB	'ETNAME <player> <name> - Set the player name of <player> to <'
	DB	'name>.', 0aH, 'Note: WOL players will be kicked due to the "I'
	DB	'dle at team selection screen -> kick"', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@SetNameConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@SetNameConsoleFunction@@UAEPADXZ PROC		; SetNameConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1692 : 		return "SETNAME <player> <name> - Set the player name of <player> to <name>.\nNote: WOL players will be kicked due to the \"Idle at team selection screen -> kick\"";

	mov	eax, OFFSET ??_C@_0JJ@NGMEBILK@SETNAME?5?$DMplayer?$DO?5?$DMname?$DO?5?9?5Set?5th@

; 1693 : 	}

	ret	0
?Get_Help@SetNameConsoleFunction@@UAEPADXZ ENDP		; SetNameConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_C@_17CNPHIMPH@?$AA?$CF?$AAl?$AAs?$AA?$AA@	; `string'
EXTRN	?Format@nc_WideStringClass@@QAAXPB_WZZ:PROC	; nc_WideStringClass::Format
EXTRN	?Resize@nc_WideStringClass@@QAEXH@Z:PROC	; nc_WideStringClass::Resize
EXTRN	?GetLength@aStringBase@@QBEIXZ:PROC		; aStringBase::GetLength
EXTRN	??0aWideString@@QAE@ABVaString@@@Z:PROC		; aWideString::aWideString
EXTRN	?GetData@aToken@@QAEABVaString@@XZ:PROC		; aToken::GetData
;	COMDAT ??_C@_17CNPHIMPH@?$AA?$CF?$AAl?$AAs?$AA?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_17CNPHIMPH@?$AA?$CF?$AAl?$AAs?$AA?$AA@ DB '%', 00H, 'l', 00H, 's', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@SetNameConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$?Activate@SetNameConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@SetNameConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$3
	DD	04H
	DD	FLAT:__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$4
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$4
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@SetNameConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_Token$ = -56						; size = 8
_newNick$61981 = -48					; size = 8
$T73006 = -40						; size = 8
$T73007 = -32						; size = 8
$T73008 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@SetNameConsoleFunction@@UAEXPAD@Z PROC	; SetNameConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1695 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@SetNameConsoleFunction@@UAEXPAD@Z
	push	eax

; 1696 : 		if (!*text)

	mov	eax, DWORD PTR _text$[ebp]
	mov	DWORD PTR fs:0, esp
	sub	esp, 44					; 0000002cH
	cmp	BYTE PTR [eax], 0
	push	esi
	push	edi
	je	$LN4@Activate@11

; 1697 : 			return;
; 1698 : 		aToken Token = text;

	push	eax
	lea	ecx, DWORD PTR $T73006[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73006[esp+64]
	push	eax
	lea	ecx, DWORD PTR _Token$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T73006[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1699 : 		if (Token.numtok(' ') != 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _Token$[esp+68]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2

; 1700 : 			return;

	jne	$LN1@Activate@11

; 1701 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(Token.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T73007[esp+72]
	push	ecx
	lea	ecx, DWORD PTR _Token$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T73007[esp+64]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1702 : 		if (pData)

	test	esi, esi
	je	$LN1@Activate@11

; 1703 : 		{
; 1704 : 			aWideString newNick = Token.gettok(2, ' ').GetData();

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T73008[esp+72]
	push	edx
	lea	ecx, DWORD PTR _Token$[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
	push	eax
	lea	ecx, DWORD PTR _newNick$61981[esp+68]
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	lea	ecx, DWORD PTR $T73008[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 6
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1705 : 			pData->PlayerName.Resize(newNick.GetLength());

	lea	ecx, DWORD PTR _newNick$61981[esp+64]
	lea	edi, DWORD PTR [esi+1880]
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	push	eax
	mov	ecx, edi
	call	?Resize@nc_WideStringClass@@QAEXH@Z	; nc_WideStringClass::Resize

; 1706 : 			pData->PlayerName.Format(L"%ls", newNick.GetString());

	mov	eax, DWORD PTR _newNick$61981[esp+68]
	test	eax, eax
	je	SHORT $LN16@Activate@11
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN17@Activate@11
$LN16@Activate@11:
	xor	eax, eax
$LN17@Activate@11:
	push	eax
	push	OFFSET ??_C@_17CNPHIMPH@?$AA?$CF?$AAl?$AAs?$AA?$AA@
	push	edi
	call	?Format@nc_WideStringClass@@QAAXPB_WZZ	; nc_WideStringClass::Format

; 1707 : 			pData->Set_Object_Dirty_Bit(nc_DB_CREATION, true);

	mov	eax, DWORD PTR [esi+160]
	mov	edx, DWORD PTR [eax+56]
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR [esi+160]
	push	1
	push	15					; 0000000fH
	call	edx

; 1708 : 		}

	lea	ecx, DWORD PTR _newNick$61981[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@Activate@11:

; 1709 : 	}

	lea	ecx, DWORD PTR _Token$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN4@Activate@11:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T73006[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _Token$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T73007[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T73008[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetNameConsoleFunction@@UAEXPAD@Z$4:
	lea	ecx, DWORD PTR _newNick$61981[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Activate@SetNameConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@SetNameConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@SetNameConsoleFunction@@UAEXPAD@Z ENDP	; SetNameConsoleFunction::Activate
PUBLIC	??_7ResetPlayerConsoleFunction@@6B@		; ResetPlayerConsoleFunction::`vftable'
PUBLIC	??0ResetPlayerConsoleFunction@@QAE@XZ		; ResetPlayerConsoleFunction::ResetPlayerConsoleFunction
PUBLIC	??_R4ResetPlayerConsoleFunction@@6B@		; ResetPlayerConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVResetPlayerConsoleFunction@@@8		; ResetPlayerConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3ResetPlayerConsoleFunction@@8		; ResetPlayerConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ResetPlayerConsoleFunction@@8		; ResetPlayerConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@ResetPlayerConsoleFunction@@8	; ResetPlayerConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@ResetPlayerConsoleFunction@@UAEPADXZ	; ResetPlayerConsoleFunction::Get_Name
PUBLIC	?Get_Alias@ResetPlayerConsoleFunction@@UAEPADXZ	; ResetPlayerConsoleFunction::Get_Alias
PUBLIC	?Get_Help@ResetPlayerConsoleFunction@@UAEPADXZ	; ResetPlayerConsoleFunction::Get_Help
PUBLIC	?Activate@ResetPlayerConsoleFunction@@UAEXPAD@Z	; ResetPlayerConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@ResetPlayerConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ResetPlayerConsoleFunction@@8 DD FLAT:??_R0?AVResetPlayerConsoleFunction@@@8 ; ResetPlayerConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ResetPlayerConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2ResetPlayerConsoleFunction@@8
rdata$r	SEGMENT
??_R2ResetPlayerConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@ResetPlayerConsoleFunction@@8 ; ResetPlayerConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3ResetPlayerConsoleFunction@@8
rdata$r	SEGMENT
??_R3ResetPlayerConsoleFunction@@8 DD 00H		; ResetPlayerConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2ResetPlayerConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVResetPlayerConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVResetPlayerConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; ResetPlayerConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVResetPlayerConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4ResetPlayerConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4ResetPlayerConsoleFunction@@6B@ DD 00H		; ResetPlayerConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVResetPlayerConsoleFunction@@@8
	DD	FLAT:??_R3ResetPlayerConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7ResetPlayerConsoleFunction@@6B@
CONST	SEGMENT
??_7ResetPlayerConsoleFunction@@6B@ DD FLAT:??_R4ResetPlayerConsoleFunction@@6B@ ; ResetPlayerConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@ResetPlayerConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@ResetPlayerConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@ResetPlayerConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@ResetPlayerConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0ResetPlayerConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0ResetPlayerConsoleFunction@@QAE@XZ PROC		; ResetPlayerConsoleFunction::ResetPlayerConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7ResetPlayerConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0ResetPlayerConsoleFunction@@QAE@XZ ENDP		; ResetPlayerConsoleFunction::ResetPlayerConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_0M@DMGGMFMF@resetplayer?$AA@		; `string'
;	COMDAT ??_C@_0M@DMGGMFMF@resetplayer?$AA@
CONST	SEGMENT
??_C@_0M@DMGGMFMF@resetplayer?$AA@ DB 'resetplayer', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@ResetPlayerConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@ResetPlayerConsoleFunction@@UAEPADXZ PROC	; ResetPlayerConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1717 : 		return "resetplayer";

	mov	eax, OFFSET ??_C@_0M@DMGGMFMF@resetplayer?$AA@

; 1718 : 	}

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

; 1721 : 	 	return "rsp";

	mov	eax, OFFSET ??_C@_03GGAFOHAL@rsp?$AA@

; 1722 : 	}

	ret	0
?Get_Alias@ResetPlayerConsoleFunction@@UAEPADXZ ENDP	; ResetPlayerConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0EF@MPPLGJPN@RESETPLAYER?5?$DMplayer?$DO?5?9?5Reset?5the@ ; `string'
;	COMDAT ??_C@_0EF@MPPLGJPN@RESETPLAYER?5?$DMplayer?$DO?5?9?5Reset?5the@
CONST	SEGMENT
??_C@_0EF@MPPLGJPN@RESETPLAYER?5?$DMplayer?$DO?5?9?5Reset?5the@ DB 'RESET'
	DB	'PLAYER <player> - Reset their score, kills, deaths and credit'
	DB	's.', 00H					; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@ResetPlayerConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@ResetPlayerConsoleFunction@@UAEPADXZ PROC	; ResetPlayerConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1725 : 		return "RESETPLAYER <player> - Reset their score, kills, deaths and credits.";

	mov	eax, OFFSET ??_C@_0EF@MPPLGJPN@RESETPLAYER?5?$DMplayer?$DO?5?9?5Reset?5the@

; 1726 : 	}

	ret	0
?Get_Help@ResetPlayerConsoleFunction@@UAEPADXZ ENDP	; ResetPlayerConsoleFunction::Get_Help
_TEXT	ENDS
EXTRN	_atoi:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Activate@ResetPlayerConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_text$ = 8						; size = 4
?Activate@ResetPlayerConsoleFunction@@UAEXPAD@Z PROC	; ResetPlayerConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1729 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp-4]
	cmp	BYTE PTR [eax], 0
	je	SHORT $LN3@Activate@12
	push	esi

; 1730 : 			return;
; 1731 : 		int id = atoi(text);

	push	eax
	call	_atoi
	mov	esi, eax

; 1732 : 		if (!nc_cPlayerManager::Find_Player(id))

	push	esi
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 8
	test	eax, eax
	je	SHORT $LN5@Activate@12

; 1733 : 			return;
; 1734 : 		nc_cPlayerManager::Find_Player(id)->Reset_Player();

	push	esi
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx]
	add	esp, 4
	call	eax
$LN5@Activate@12:
	pop	esi
$LN3@Activate@12:

; 1735 : 	}

	ret	4
?Activate@ResetPlayerConsoleFunction@@UAEXPAD@Z ENDP	; ResetPlayerConsoleFunction::Activate
_TEXT	ENDS
PUBLIC	??_7SerialBanConsoleFunction@@6B@		; SerialBanConsoleFunction::`vftable'
PUBLIC	??0SerialBanConsoleFunction@@QAE@XZ		; SerialBanConsoleFunction::SerialBanConsoleFunction
PUBLIC	??_R4SerialBanConsoleFunction@@6B@		; SerialBanConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSerialBanConsoleFunction@@@8		; SerialBanConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3SerialBanConsoleFunction@@8		; SerialBanConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SerialBanConsoleFunction@@8		; SerialBanConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SerialBanConsoleFunction@@8	; SerialBanConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@SerialBanConsoleFunction@@UAEPADXZ	; SerialBanConsoleFunction::Get_Name
PUBLIC	?Get_Alias@SerialBanConsoleFunction@@UAEPADXZ	; SerialBanConsoleFunction::Get_Alias
PUBLIC	?Get_Help@SerialBanConsoleFunction@@UAEPADXZ	; SerialBanConsoleFunction::Get_Help
PUBLIC	?Activate@SerialBanConsoleFunction@@UAEXPAD@Z	; SerialBanConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@SerialBanConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SerialBanConsoleFunction@@8 DD FLAT:??_R0?AVSerialBanConsoleFunction@@@8 ; SerialBanConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SerialBanConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2SerialBanConsoleFunction@@8
rdata$r	SEGMENT
??_R2SerialBanConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@SerialBanConsoleFunction@@8 ; SerialBanConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3SerialBanConsoleFunction@@8
rdata$r	SEGMENT
??_R3SerialBanConsoleFunction@@8 DD 00H			; SerialBanConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2SerialBanConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSerialBanConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVSerialBanConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; SerialBanConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSerialBanConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SerialBanConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4SerialBanConsoleFunction@@6B@ DD 00H		; SerialBanConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSerialBanConsoleFunction@@@8
	DD	FLAT:??_R3SerialBanConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7SerialBanConsoleFunction@@6B@
CONST	SEGMENT
??_7SerialBanConsoleFunction@@6B@ DD FLAT:??_R4SerialBanConsoleFunction@@6B@ ; SerialBanConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@SerialBanConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@SerialBanConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@SerialBanConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@SerialBanConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SerialBanConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0SerialBanConsoleFunction@@QAE@XZ PROC		; SerialBanConsoleFunction::SerialBanConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7SerialBanConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SerialBanConsoleFunction@@QAE@XZ ENDP		; SerialBanConsoleFunction::SerialBanConsoleFunction
_TEXT	ENDS
PUBLIC	?Len@aStringBase@@QBEIXZ			; aStringBase::Len
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	COMDAT ?Len@aStringBase@@QBEIXZ
_TEXT	SEGMENT
?Len@aStringBase@@QBEIXZ PROC				; aStringBase::Len, COMDAT
; _this$ = ecx

; 59   : 	unsigned int Len() const { return this->GetLength(); };

	jmp	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
?Len@aStringBase@@QBEIXZ ENDP				; aStringBase::Len
_TEXT	ENDS
PUBLIC	??AaString@@QBEAADH@Z				; aString::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??AaString@@QBEAADH@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??AaString@@QBEAADH@Z PROC				; aString::operator[], COMDAT
; _this$ = ecx

; 157  : 	char &operator[](int nPos) const { return ((char *)this->m_data->GetBuffer())[nPos]; };

	mov	eax, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [eax]
	add	eax, DWORD PTR _nPos$[esp-4]
	ret	4
??AaString@@QBEAADH@Z ENDP				; aString::operator[]
_TEXT	ENDS
PUBLIC	??8@YA_NABVaString@@0@Z				; operator==
EXTRN	?Compare@aString@@QBE_NABV1@H_N@Z:PROC		; aString::Compare
; Function compile flags: /Ogtpy
;	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@2
	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@2
	pop	edi
	pop	esi
	mov	eax, 1
	pop	ebx

; 203  : }

	ret	0
$LN3@operator@2:
	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	??_C@_09FLIKGMCH@serialban?$AA@			; `string'
;	COMDAT ??_C@_09FLIKGMCH@serialban?$AA@
; File d:\source code\stgm\stplayer.cpp
CONST	SEGMENT
??_C@_09FLIKGMCH@serialban?$AA@ DB 'serialban', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@SerialBanConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@SerialBanConsoleFunction@@UAEPADXZ PROC	; SerialBanConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1743 : 		return "serialban";

	mov	eax, OFFSET ??_C@_09FLIKGMCH@serialban?$AA@

; 1744 : 	}

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

; 1747 : 		return "sban";

	mov	eax, OFFSET ??_C@_04KEOLEKEL@sban?$AA@

; 1748 : 	}

	ret	0
?Get_Alias@SerialBanConsoleFunction@@UAEPADXZ ENDP	; SerialBanConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0IM@OJFLMPA@SERIALBAN?5?$DMadd?1delete?1search?$DO?5?$DMh@ ; `string'
;	COMDAT ??_C@_0IM@OJFLMPA@SERIALBAN?5?$DMadd?1delete?1search?$DO?5?$DMh@
CONST	SEGMENT
??_C@_0IM@OJFLMPA@SERIALBAN?5?$DMadd?1delete?1search?$DO?5?$DMh@ DB 'SERI'
	DB	'ALBAN <add/delete/search> <hash/[player id]> [reason] - Add h'
	DB	'ash/player hash to ban list, delete hash from ban list or sea'
	DB	'rch for hash.', 00H				; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@SerialBanConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@SerialBanConsoleFunction@@UAEPADXZ PROC	; SerialBanConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1751 : 		return "SERIALBAN <add/delete/search> <hash/[player id]> [reason] - Add hash/player hash to ban list, delete hash from ban list or search for hash.";

	mov	eax, OFFSET ??_C@_0IM@OJFLMPA@SERIALBAN?5?$DMadd?1delete?1search?$DO?5?$DMh@

; 1752 : 	}

	ret	0
?Get_Help@SerialBanConsoleFunction@@UAEPADXZ ENDP	; SerialBanConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??1gzSerialBanStruct@@QAE@XZ			; gzSerialBanStruct::~gzSerialBanStruct
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzSerialBanStruct@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzSerialBanStruct@@QAE@XZ$0
__ehfuncinfo$??1gzSerialBanStruct@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzSerialBanStruct@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzSerialBanStruct@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzSerialBanStruct@@QAE@XZ PROC			; gzSerialBanStruct::~gzSerialBanStruct, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzSerialBanStruct@@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+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	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$??1gzSerialBanStruct@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzSerialBanStruct@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzSerialBanStruct@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzSerialBanStruct@@QAE@XZ ENDP			; gzSerialBanStruct::~gzSerialBanStruct
PUBLIC	??_7TeleportConsoleFunction@@6B@		; TeleportConsoleFunction::`vftable'
PUBLIC	??0TeleportConsoleFunction@@QAE@XZ		; TeleportConsoleFunction::TeleportConsoleFunction
PUBLIC	??_R4TeleportConsoleFunction@@6B@		; TeleportConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVTeleportConsoleFunction@@@8		; TeleportConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3TeleportConsoleFunction@@8			; TeleportConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2TeleportConsoleFunction@@8			; TeleportConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@TeleportConsoleFunction@@8	; TeleportConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@TeleportConsoleFunction@@UAEPADXZ	; TeleportConsoleFunction::Get_Name
PUBLIC	?Get_Help@TeleportConsoleFunction@@UAEPADXZ	; TeleportConsoleFunction::Get_Help
PUBLIC	?Activate@TeleportConsoleFunction@@UAEXPAD@Z	; TeleportConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@TeleportConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@TeleportConsoleFunction@@8 DD FLAT:??_R0?AVTeleportConsoleFunction@@@8 ; TeleportConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3TeleportConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2TeleportConsoleFunction@@8
rdata$r	SEGMENT
??_R2TeleportConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@TeleportConsoleFunction@@8 ; TeleportConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3TeleportConsoleFunction@@8
rdata$r	SEGMENT
??_R3TeleportConsoleFunction@@8 DD 00H			; TeleportConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2TeleportConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVTeleportConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVTeleportConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; TeleportConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVTeleportConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4TeleportConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4TeleportConsoleFunction@@6B@ DD 00H		; TeleportConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVTeleportConsoleFunction@@@8
	DD	FLAT:??_R3TeleportConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7TeleportConsoleFunction@@6B@
CONST	SEGMENT
??_7TeleportConsoleFunction@@6B@ DD FLAT:??_R4TeleportConsoleFunction@@6B@ ; TeleportConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@TeleportConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@TeleportConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@TeleportConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0TeleportConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0TeleportConsoleFunction@@QAE@XZ PROC			; TeleportConsoleFunction::TeleportConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7TeleportConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0TeleportConsoleFunction@@QAE@XZ ENDP			; TeleportConsoleFunction::TeleportConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_08LOCMGIHJ@teleport?$AA@			; `string'
;	COMDAT ??_C@_08LOCMGIHJ@teleport?$AA@
CONST	SEGMENT
??_C@_08LOCMGIHJ@teleport?$AA@ DB 'teleport', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@TeleportConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@TeleportConsoleFunction@@UAEPADXZ PROC	; TeleportConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1824 : 		return "teleport";

	mov	eax, OFFSET ??_C@_08LOCMGIHJ@teleport?$AA@

; 1825 : 	}

	ret	0
?Get_Name@TeleportConsoleFunction@@UAEPADXZ ENDP	; TeleportConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0GI@GDBKMGFL@TELEPORT?5?$DMplayer1?$DO?5?$DMplayer2?$DO?5?$DMX?$DO@ ; `string'
;	COMDAT ??_C@_0GI@GDBKMGFL@TELEPORT?5?$DMplayer1?$DO?5?$DMplayer2?$DO?5?$DMX?$DO@
CONST	SEGMENT
??_C@_0GI@GDBKMGFL@TELEPORT?5?$DMplayer1?$DO?5?$DMplayer2?$DO?5?$DMX?$DO@ DB 'T'
	DB	'ELEPORT <player1> <player2> <X> <Y> <Z> - Teleport <player1> '
	DB	'to <player2> plus XYZ. (XYZ are optional)', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@TeleportConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@TeleportConsoleFunction@@UAEPADXZ PROC	; TeleportConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1828 : 		return "TELEPORT <player1> <player2> <X> <Y> <Z> - Teleport <player1> to <player2> plus XYZ. (XYZ are optional)";

	mov	eax, OFFSET ??_C@_0GI@GDBKMGFL@TELEPORT?5?$DMplayer1?$DO?5?$DMplayer2?$DO?5?$DMX?$DO@

; 1829 : 	}

	ret	0
?Get_Help@TeleportConsoleFunction@@UAEPADXZ ENDP	; TeleportConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	__real@40400000
PUBLIC	??_C@_0BG@BGGIKCDE@Player?5?$CD?$CFd?5not?5found?6?$AA@ ; `string'
;	COMDAT __real@40400000
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
__real@40400000 DD 040400000r			; 3
CONST	ENDS
;	COMDAT ??_C@_0BG@BGGIKCDE@Player?5?$CD?$CFd?5not?5found?6?$AA@
CONST	SEGMENT
??_C@_0BG@BGGIKCDE@Player?5?$CD?$CFd?5not?5found?6?$AA@ DB 'Player #%d no'
	DB	't found', 0aH, 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@TeleportConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	0aH
	DD	FLAT:__unwindtable$?Activate@TeleportConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@TeleportConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$4
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$6
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$7
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$8
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@TeleportConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_tok$ = -68						; size = 8
$T73119 = -60						; size = 8
$T73120 = -52						; size = 8
$T73125 = -44						; size = 8
$T73124 = -44						; size = 8
$T73123 = -44						; size = 8
$T73122 = -44						; size = 8
$T73121 = -44						; size = 8
$T73126 = -36						; size = 8
_pos$ = -28						; size = 12
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@TeleportConsoleFunction@@UAEXPAD@Z PROC	; TeleportConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1831 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@TeleportConsoleFunction@@UAEXPAD@Z
	push	eax

; 1832 : 		if (!*text)

	mov	eax, DWORD PTR _text$[ebp]
	mov	DWORD PTR fs:0, esp
	sub	esp, 56					; 00000038H
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	je	$LN7@Activate@13

; 1833 : 			return;
; 1834 : 		aToken tok(text);

	push	eax
	lea	ecx, DWORD PTR $T73119[esp+84]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73119[esp+80]
	push	eax
	lea	ecx, DWORD PTR _tok$[esp+84]
	mov	DWORD PTR __$EHRec$[esp+92], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	mov	ebx, 2
	lea	ecx, DWORD PTR $T73119[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1835 : 		if (tok.numtok(' ') < 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _tok$[esp+84]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, ebx

; 1836 : 			return;

	jl	$LN1@Activate@13

; 1837 : 		nc_cPlayer *pData[2] = {
; 1838 : 			nc_cPlayerManager::Find_Player(tok.gettok(1, ' ').ToLong()),

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T73120[esp+88]
	push	ecx
	lea	ecx, DWORD PTR _tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T73120[esp+80]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+88], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1839 : 			nc_cPlayerManager::Find_Player(tok.gettok(2, ' ').ToLong())
; 1840 : 		};

	push	32					; 00000020H
	push	ebx
	lea	edx, DWORD PTR $T73121[esp+88]
	push	edx
	lea	ecx, DWORD PTR _tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 4
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T73121[esp+80]
	mov	edi, eax
	mov	BYTE PTR __$EHRec$[esp+88], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1841 : 		if (!pData[0])

	test	esi, esi
	jne	SHORT $LN4@Activate@13

; 1842 : 		{
; 1843 : 			stConsole::Out("Player #%d not found\n", tok.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	eax, DWORD PTR $T73122[esp+88]
	push	eax
	lea	ecx, DWORD PTR _tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	BYTE PTR __$EHRec$[esp+88], 5
$LN22@Activate@13:
	mov	ecx, eax
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	push	OFFSET ??_C@_0BG@BGGIKCDE@Player?5?$CD?$CFd?5not?5found?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
	lea	ecx, DWORD PTR $T73122[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1844 : 			return;

	jmp	$LN1@Activate@13
$LN4@Activate@13:

; 1845 : 		}
; 1846 : 		if (!pData[1])

	test	edi, edi
	jne	SHORT $LN3@Activate@13

; 1847 : 		{
; 1848 : 			stConsole::Out("Player #%d not found\n", tok.gettok(2, ' ').ToLong());

	push	32					; 00000020H
	push	ebx
	lea	ecx, DWORD PTR $T73123[esp+88]
	push	ecx
	lea	ecx, DWORD PTR _tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	BYTE PTR __$EHRec$[esp+88], 6

; 1849 : 			return;

	jmp	SHORT $LN22@Activate@13
$LN3@Activate@13:

; 1850 : 		}
; 1851 : 		if (!pData[0]->Owner.Reference || !pData[1]->Owner.Reference)

	cmp	DWORD PTR [esi+20], 0
	je	$LN1@Activate@13
	cmp	DWORD PTR [edi+20], 0
	je	$LN1@Activate@13

; 1852 : 			return;
; 1853 : 		nc_Vector3 pos;
; 1854 : 		pData[1]->Owner.Reference->obj->Get_Position(&pos);

	mov	edx, DWORD PTR [edi+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+56]
	lea	edx, DWORD PTR _pos$[esp+80]
	push	edx
	call	eax

; 1855 : 		pos.X += (float)tok.gettok(3, ' ').ToDouble();

	push	32					; 00000020H
	push	3
	lea	ecx, DWORD PTR $T73124[esp+88]
	push	ecx
	lea	ecx, DWORD PTR _tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 7
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	fadd	DWORD PTR _pos$[esp+80]
	lea	ecx, DWORD PTR $T73124[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], bl
	fstp	DWORD PTR _pos$[esp+80]
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1856 : 		pos.Y += (float)tok.gettok(4, ' ').ToDouble();

	push	32					; 00000020H
	push	4
	lea	edx, DWORD PTR $T73125[esp+88]
	push	edx
	lea	ecx, DWORD PTR _tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 8
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	fadd	DWORD PTR _pos$[esp+84]
	lea	ecx, DWORD PTR $T73125[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], bl
	fstp	DWORD PTR _pos$[esp+84]
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1857 : 		pos.Z += (float)tok.gettok(5, ' ').ToDouble() + 3.0f;

	push	32					; 00000020H
	push	5
	lea	eax, DWORD PTR $T73126[esp+88]
	push	eax
	lea	ecx, DWORD PTR _tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 9
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	fadd	DWORD PTR _pos$[esp+88]
	lea	ecx, DWORD PTR $T73126[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], bl
	fadd	DWORD PTR __real@40400000
	fstp	DWORD PTR _pos$[esp+88]
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1858 : 		pData[0]->Owner.Reference->obj->As_PhysicalGameObj()->Set_Position(pos);

	mov	ecx, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [ecx]
	lea	edx, DWORD PTR _pos$[esp+80]
	push	edx
	mov	edx, DWORD PTR [eax+36]
	call	edx
	mov	ecx, eax
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position
$LN1@Activate@13:
	lea	ecx, DWORD PTR _tok$[esp+80]
	mov	DWORD PTR __$EHRec$[esp+88], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN7@Activate@13:

; 1859 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+80]
	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$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T73119[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _tok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T73120[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T73121[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$4:
	lea	ecx, DWORD PTR $T73122[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$5:
	lea	ecx, DWORD PTR $T73123[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$6:
	lea	ecx, DWORD PTR $T73124[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$7:
	lea	ecx, DWORD PTR $T73125[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeleportConsoleFunction@@UAEXPAD@Z$8:
	lea	ecx, DWORD PTR $T73126[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@TeleportConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@TeleportConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@TeleportConsoleFunction@@UAEXPAD@Z ENDP	; TeleportConsoleFunction::Activate
PUBLIC	??_7MoveConsoleFunction@@6B@			; MoveConsoleFunction::`vftable'
PUBLIC	??0MoveConsoleFunction@@QAE@XZ			; MoveConsoleFunction::MoveConsoleFunction
PUBLIC	??_R4MoveConsoleFunction@@6B@			; MoveConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMoveConsoleFunction@@@8			; MoveConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3MoveConsoleFunction@@8			; MoveConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MoveConsoleFunction@@8			; MoveConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MoveConsoleFunction@@8		; MoveConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@MoveConsoleFunction@@UAEPADXZ		; MoveConsoleFunction::Get_Name
PUBLIC	?Get_Help@MoveConsoleFunction@@UAEPADXZ		; MoveConsoleFunction::Get_Help
PUBLIC	?Activate@MoveConsoleFunction@@UAEXPAD@Z	; MoveConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@MoveConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MoveConsoleFunction@@8 DD FLAT:??_R0?AVMoveConsoleFunction@@@8 ; MoveConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MoveConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2MoveConsoleFunction@@8
rdata$r	SEGMENT
??_R2MoveConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@MoveConsoleFunction@@8 ; MoveConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3MoveConsoleFunction@@8
rdata$r	SEGMENT
??_R3MoveConsoleFunction@@8 DD 00H			; MoveConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2MoveConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMoveConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVMoveConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; MoveConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMoveConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MoveConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4MoveConsoleFunction@@6B@ DD 00H			; MoveConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMoveConsoleFunction@@@8
	DD	FLAT:??_R3MoveConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7MoveConsoleFunction@@6B@
CONST	SEGMENT
??_7MoveConsoleFunction@@6B@ DD FLAT:??_R4MoveConsoleFunction@@6B@ ; MoveConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@MoveConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@MoveConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@MoveConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0MoveConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0MoveConsoleFunction@@QAE@XZ PROC			; MoveConsoleFunction::MoveConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7MoveConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0MoveConsoleFunction@@QAE@XZ ENDP			; MoveConsoleFunction::MoveConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_04HDMMNHEL@move?$AA@			; `string'
;	COMDAT ??_C@_04HDMMNHEL@move?$AA@
CONST	SEGMENT
??_C@_04HDMMNHEL@move?$AA@ DB 'move', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@MoveConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@MoveConsoleFunction@@UAEPADXZ PROC		; MoveConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1867 : 		return "move";

	mov	eax, OFFSET ??_C@_04HDMMNHEL@move?$AA@

; 1868 : 	}

	ret	0
?Get_Name@MoveConsoleFunction@@UAEPADXZ ENDP		; MoveConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0EK@EPGOECJG@MOVE?5?$DMplayer?$DO?5?$DMX?$DO?5?$DMY?$DO?5?$DMZ?$DO?5?9?5Move@ ; `string'
;	COMDAT ??_C@_0EK@EPGOECJG@MOVE?5?$DMplayer?$DO?5?$DMX?$DO?5?$DMY?$DO?5?$DMZ?$DO?5?9?5Move@
CONST	SEGMENT
??_C@_0EK@EPGOECJG@MOVE?5?$DMplayer?$DO?5?$DMX?$DO?5?$DMY?$DO?5?$DMZ?$DO?5?9?5Move@ DB 'M'
	DB	'OVE <player> <X> <Y> <Z> - Move <player> based on current pos'
	DB	'ition +XYZ.', 00H				; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@MoveConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@MoveConsoleFunction@@UAEPADXZ PROC		; MoveConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1871 : 		return "MOVE <player> <X> <Y> <Z> - Move <player> based on current position +XYZ.";

	mov	eax, OFFSET ??_C@_0EK@EPGOECJG@MOVE?5?$DMplayer?$DO?5?$DMX?$DO?5?$DMY?$DO?5?$DMZ?$DO?5?9?5Move@

; 1872 : 	}

	ret	0
?Get_Help@MoveConsoleFunction@@UAEPADXZ ENDP		; MoveConsoleFunction::Get_Help
_TEXT	ENDS
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__ehfuncinfo$?Activate@MoveConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	08H
	DD	FLAT:__unwindtable$?Activate@MoveConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@MoveConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$4
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@MoveConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_tok$ = -60						; size = 8
$T73160 = -52						; size = 8
$T73162 = -44						; size = 8
$T73161 = -44						; size = 8
$T73165 = -36						; size = 8
$T73164 = -36						; size = 8
$T73163 = -36						; size = 8
_newPos$ = -28						; size = 12
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@MoveConsoleFunction@@UAEXPAD@Z PROC		; MoveConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1874 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@MoveConsoleFunction@@UAEXPAD@Z
	push	eax

; 1875 : 		if (!*text)

	mov	eax, DWORD PTR _text$[ebp]
	mov	DWORD PTR fs:0, esp
	sub	esp, 52					; 00000034H
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	je	$LN5@Activate@14

; 1876 : 			return;
; 1877 : 		aToken tok(text);

	push	eax
	lea	ecx, DWORD PTR $T73160[esp+76]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73160[esp+72]
	push	eax
	lea	ecx, DWORD PTR _tok$[esp+76]
	mov	DWORD PTR __$EHRec$[esp+84], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	mov	ebx, 2
	lea	ecx, DWORD PTR $T73160[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1878 : 		if (tok.numtok(' ') < 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _tok$[esp+76]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, ebx

; 1879 : 			return;

	jl	$LN18@Activate@14

; 1880 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(tok.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T73161[esp+80]
	push	ecx
	lea	ecx, DWORD PTR _tok$[esp+84]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T73161[esp+72]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+80], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1881 : 		if (!pData)

	test	esi, esi
	jne	SHORT $LN2@Activate@14

; 1882 : 		{
; 1883 : 			stConsole::Out("Player #%d not found\n", tok.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	edx, DWORD PTR $T73162[esp+80]
	push	edx
	lea	ecx, DWORD PTR _tok$[esp+84]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 4
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	push	OFFSET ??_C@_0BG@BGGIKCDE@Player?5?$CD?$CFd?5not?5found?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
	lea	ecx, DWORD PTR $T73162[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1884 : 			return;

	jmp	$LN18@Activate@14
$LN2@Activate@14:

; 1885 : 		}
; 1886 : 		if (!pData->Owner.Reference)

	cmp	DWORD PTR [esi+20], 0

; 1887 : 			return;

	je	$LN18@Activate@14

; 1888 : 		nc_Vector3 newPos;
; 1889 : 		pData->Owner.Reference->obj->Get_Position(&newPos);

	mov	eax, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+56]
	lea	eax, DWORD PTR _newPos$[esp+72]
	push	eax
	call	edx

; 1890 : 		newPos.X += (float)tok.gettok(2, ' ').ToDouble();

	push	32					; 00000020H
	push	ebx
	lea	eax, DWORD PTR $T73163[esp+80]
	push	eax
	lea	ecx, DWORD PTR _tok$[esp+84]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 5
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	fadd	DWORD PTR _newPos$[esp+72]
	lea	ecx, DWORD PTR $T73163[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], bl
	fstp	DWORD PTR _newPos$[esp+72]
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1891 : 		newPos.Y += (float)tok.gettok(3, ' ').ToDouble();

	push	32					; 00000020H
	push	3
	lea	ecx, DWORD PTR $T73164[esp+80]
	push	ecx
	lea	ecx, DWORD PTR _tok$[esp+84]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 6
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	fadd	DWORD PTR _newPos$[esp+76]
	lea	ecx, DWORD PTR $T73164[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], bl
	fstp	DWORD PTR _newPos$[esp+76]
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1892 : 		newPos.Z += (float)tok.gettok(4, ' ').ToDouble();

	push	32					; 00000020H
	push	4
	lea	edx, DWORD PTR $T73165[esp+80]
	push	edx
	lea	ecx, DWORD PTR _tok$[esp+84]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 7
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	fadd	DWORD PTR _newPos$[esp+80]
	lea	ecx, DWORD PTR $T73165[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], bl
	fstp	DWORD PTR _newPos$[esp+80]
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1893 : 		pData->Owner.Reference->obj->As_PhysicalGameObj()->Set_Position(newPos);

	mov	eax, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [ecx]
	lea	edx, DWORD PTR _newPos$[esp+72]
	push	edx
	mov	edx, DWORD PTR [eax+36]
	call	edx
	mov	ecx, eax
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position
$LN18@Activate@14:

; 1894 : 	}

	lea	ecx, DWORD PTR _tok$[esp+72]
	mov	DWORD PTR __$EHRec$[esp+80], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN5@Activate@14:
	mov	ecx, DWORD PTR __$EHRec$[esp+72]
	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$?Activate@MoveConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T73160[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _tok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T73161[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T73162[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$4:
	lea	ecx, DWORD PTR $T73163[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$5:
	lea	ecx, DWORD PTR $T73164[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@MoveConsoleFunction@@UAEXPAD@Z$6:
	lea	ecx, DWORD PTR $T73165[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@MoveConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@MoveConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@MoveConsoleFunction@@UAEXPAD@Z ENDP		; MoveConsoleFunction::Activate
PUBLIC	??_7SetSideConsoleFunction@@6B@			; SetSideConsoleFunction::`vftable'
PUBLIC	??0SetSideConsoleFunction@@QAE@XZ		; SetSideConsoleFunction::SetSideConsoleFunction
PUBLIC	??_R4SetSideConsoleFunction@@6B@		; SetSideConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSetSideConsoleFunction@@@8		; SetSideConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3SetSideConsoleFunction@@8			; SetSideConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SetSideConsoleFunction@@8			; SetSideConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SetSideConsoleFunction@@8		; SetSideConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@SetSideConsoleFunction@@UAEPADXZ	; SetSideConsoleFunction::Get_Name
PUBLIC	?Get_Help@SetSideConsoleFunction@@UAEPADXZ	; SetSideConsoleFunction::Get_Help
PUBLIC	?Activate@SetSideConsoleFunction@@UAEXPAD@Z	; SetSideConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@SetSideConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SetSideConsoleFunction@@8 DD FLAT:??_R0?AVSetSideConsoleFunction@@@8 ; SetSideConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SetSideConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2SetSideConsoleFunction@@8
rdata$r	SEGMENT
??_R2SetSideConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@SetSideConsoleFunction@@8 ; SetSideConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3SetSideConsoleFunction@@8
rdata$r	SEGMENT
??_R3SetSideConsoleFunction@@8 DD 00H			; SetSideConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2SetSideConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSetSideConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVSetSideConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; SetSideConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSetSideConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SetSideConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4SetSideConsoleFunction@@6B@ DD 00H			; SetSideConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSetSideConsoleFunction@@@8
	DD	FLAT:??_R3SetSideConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7SetSideConsoleFunction@@6B@
CONST	SEGMENT
??_7SetSideConsoleFunction@@6B@ DD FLAT:??_R4SetSideConsoleFunction@@6B@ ; SetSideConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@SetSideConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@SetSideConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@SetSideConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SetSideConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0SetSideConsoleFunction@@QAE@XZ PROC			; SetSideConsoleFunction::SetSideConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7SetSideConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SetSideConsoleFunction@@QAE@XZ ENDP			; SetSideConsoleFunction::SetSideConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_07FODHEEPI@setside?$AA@			; `string'
;	COMDAT ??_C@_07FODHEEPI@setside?$AA@
CONST	SEGMENT
??_C@_07FODHEEPI@setside?$AA@ DB 'setside', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@SetSideConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@SetSideConsoleFunction@@UAEPADXZ PROC		; SetSideConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1902 : 		return "setside";

	mov	eax, OFFSET ??_C@_07FODHEEPI@setside?$AA@

; 1903 : 	}

	ret	0
?Get_Name@SetSideConsoleFunction@@UAEPADXZ ENDP		; SetSideConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0GG@HHJNPMDG@SETSIDE?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Set?5th@ ; `string'
;	COMDAT ??_C@_0GG@HHJNPMDG@SETSIDE?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Set?5th@
CONST	SEGMENT
??_C@_0GG@HHJNPMDG@SETSIDE?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Set?5th@ DB 'S'
	DB	'ETSIDE <player> <team> - Set the team of <player> to <team> t'
	DB	'emporary until he dies.', 0aH, '0 = Nod', 0aH, '1 = GDI', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@SetSideConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@SetSideConsoleFunction@@UAEPADXZ PROC		; SetSideConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1906 : 		return "SETSIDE <player> <team> - Set the team of <player> to <team> temporary until he dies.\n0 = Nod\n1 = GDI";

	mov	eax, OFFSET ??_C@_0GG@HHJNPMDG@SETSIDE?5?$DMplayer?$DO?5?$DMteam?$DO?5?9?5Set?5th@

; 1907 : 	}

	ret	0
?Get_Help@SetSideConsoleFunction@@UAEPADXZ ENDP		; SetSideConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_C@_0BC@DLHDLOJB@Invalid?5side?3?5?$CFd?6?$AA@ ; `string'
;	COMDAT ??_C@_0BC@DLHDLOJB@Invalid?5side?3?5?$CFd?6?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BC@DLHDLOJB@Invalid?5side?3?5?$CFd?6?$AA@ DB 'Invalid side: %d', 0aH
	DB	00H						; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@SetSideConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?Activate@SetSideConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@SetSideConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetSideConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@SetSideConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetSideConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetSideConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetSideConsoleFunction@@UAEXPAD@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetSideConsoleFunction@@UAEXPAD@Z$4
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@SetSideConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_tok$ = -48						; size = 8
$T73195 = -40						; size = 8
$T73197 = -32						; size = 8
$T73196 = -32						; size = 8
$T73198 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@SetSideConsoleFunction@@UAEXPAD@Z PROC	; SetSideConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1909 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@SetSideConsoleFunction@@UAEXPAD@Z
	push	eax

; 1910 : 		if (!*text)

	mov	eax, DWORD PTR _text$[ebp]
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	je	$LN7@Activate@15

; 1911 : 			return;
; 1912 : 		aToken tok(text);

	push	eax
	lea	ecx, DWORD PTR $T73195[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73195[esp+64]
	push	eax
	lea	ecx, DWORD PTR _tok$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	mov	ebx, 2
	lea	ecx, DWORD PTR $T73195[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1913 : 		if (tok.numtok(' ') < 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _tok$[esp+68]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, ebx

; 1914 : 			return;

	jl	$LN18@Activate@15

; 1915 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(tok.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T73196[esp+72]
	push	ecx
	lea	ecx, DWORD PTR _tok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T73196[esp+64]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+72], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1916 : 		if (!pData)

	test	esi, esi

; 1917 : 		{
; 1918 : 			stConsole::Out("Player #%d not found\n", tok.gettok(1, ' ').ToLong());

	lea	ecx, DWORD PTR _tok$[esp+64]
	jne	SHORT $LN4@Activate@15
	push	32					; 00000020H
	push	1
	lea	edx, DWORD PTR $T73197[esp+72]
	push	edx
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	push	OFFSET ??_C@_0BG@BGGIKCDE@Player?5?$CD?$CFd?5not?5found?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
	lea	ecx, DWORD PTR $T73197[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1919 : 			return;

	jmp	SHORT $LN18@Activate@15
$LN4@Activate@15:

; 1920 : 		}
; 1921 : 		if (!pData->Owner.Reference)

	cmp	DWORD PTR [esi+20], 0

; 1922 : 			return;

	je	SHORT $LN19@Activate@15

; 1923 : 		int side = tok.gettok(2, ' ').ToLong();

	push	32					; 00000020H
	push	ebx
	lea	eax, DWORD PTR $T73198[esp+72]
	push	eax
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 5
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	lea	ecx, DWORD PTR $T73198[esp+64]
	mov	edi, eax
	mov	BYTE PTR __$EHRec$[esp+72], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1924 : 		if (side < -4 || side > 2)

	lea	ecx, DWORD PTR [edi+4]
	cmp	ecx, 6
	ja	SHORT $LN1@Activate@15

; 1928 : 		}
; 1929 : 		pData->Owner.Reference->obj->As_DamageableGameObj()->Set_Player_Type(side);

	mov	edx, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+60]
	call	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+108]
	push	edi
	call	eax

; 1930 : 	}

	jmp	SHORT $LN18@Activate@15
$LN1@Activate@15:

; 1925 : 		{
; 1926 : 			stConsole::Out("Invalid side: %d\n", side);

	push	edi
	push	OFFSET ??_C@_0BC@DLHDLOJB@Invalid?5side?3?5?$CFd?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
$LN18@Activate@15:

; 1927 : 			return;

	lea	ecx, DWORD PTR _tok$[esp+64]
$LN19@Activate@15:
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN7@Activate@15:

; 1930 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	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$?Activate@SetSideConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T73195[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@SetSideConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _tok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetSideConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T73196[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetSideConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T73197[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetSideConsoleFunction@@UAEXPAD@Z$4:
	lea	ecx, DWORD PTR $T73198[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@SetSideConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@SetSideConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@SetSideConsoleFunction@@UAEXPAD@Z ENDP	; SetSideConsoleFunction::Activate
PUBLIC	??_7DestroyConsoleFunction@@6B@			; DestroyConsoleFunction::`vftable'
PUBLIC	??0DestroyConsoleFunction@@QAE@XZ		; DestroyConsoleFunction::DestroyConsoleFunction
PUBLIC	??_R4DestroyConsoleFunction@@6B@		; DestroyConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVDestroyConsoleFunction@@@8		; DestroyConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3DestroyConsoleFunction@@8			; DestroyConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2DestroyConsoleFunction@@8			; DestroyConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@DestroyConsoleFunction@@8		; DestroyConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@DestroyConsoleFunction@@UAEPADXZ	; DestroyConsoleFunction::Get_Name
PUBLIC	?Get_Help@DestroyConsoleFunction@@UAEPADXZ	; DestroyConsoleFunction::Get_Help
PUBLIC	?Activate@DestroyConsoleFunction@@UAEXPAD@Z	; DestroyConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@DestroyConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@DestroyConsoleFunction@@8 DD FLAT:??_R0?AVDestroyConsoleFunction@@@8 ; DestroyConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3DestroyConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2DestroyConsoleFunction@@8
rdata$r	SEGMENT
??_R2DestroyConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@DestroyConsoleFunction@@8 ; DestroyConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3DestroyConsoleFunction@@8
rdata$r	SEGMENT
??_R3DestroyConsoleFunction@@8 DD 00H			; DestroyConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2DestroyConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVDestroyConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVDestroyConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; DestroyConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVDestroyConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4DestroyConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4DestroyConsoleFunction@@6B@ DD 00H			; DestroyConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVDestroyConsoleFunction@@@8
	DD	FLAT:??_R3DestroyConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7DestroyConsoleFunction@@6B@
CONST	SEGMENT
??_7DestroyConsoleFunction@@6B@ DD FLAT:??_R4DestroyConsoleFunction@@6B@ ; DestroyConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@DestroyConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@DestroyConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@DestroyConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0DestroyConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0DestroyConsoleFunction@@QAE@XZ PROC			; DestroyConsoleFunction::DestroyConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7DestroyConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0DestroyConsoleFunction@@QAE@XZ ENDP			; DestroyConsoleFunction::DestroyConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_07OKFGPCEA@destroy?$AA@			; `string'
;	COMDAT ??_C@_07OKFGPCEA@destroy?$AA@
CONST	SEGMENT
??_C@_07OKFGPCEA@destroy?$AA@ DB 'destroy', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@DestroyConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@DestroyConsoleFunction@@UAEPADXZ PROC		; DestroyConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1939 : 		return "destroy";

	mov	eax, OFFSET ??_C@_07OKFGPCEA@destroy?$AA@

; 1940 : 	}

	ret	0
?Get_Name@DestroyConsoleFunction@@UAEPADXZ ENDP		; DestroyConsoleFunction::Get_Name
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Get_Help@DestroyConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@DestroyConsoleFunction@@UAEPADXZ PROC		; DestroyConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1943 : 		return "";

	mov	eax, OFFSET ??_C@_00CNPNBAHC@?$AA@

; 1944 : 	}

	ret	0
?Get_Help@DestroyConsoleFunction@@UAEPADXZ ENDP		; DestroyConsoleFunction::Get_Help
_TEXT	ENDS
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
$T73227 = -12						; size = 12
_this$ = 8						; size = 4
$T73233 = 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 $T73233[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T73227[esp+20]
	mov	DWORD PTR $T73233[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T73227[esp+20]
	push	ecx
	mov	DWORD PTR $T73227[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
$T73239 = -12						; size = 12
$T73244 = 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 $T73244[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T73239[esp+20]
	mov	DWORD PTR $T73244[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T73239[esp+20]
	push	ecx
	mov	DWORD PTR $T73239[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	??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@ ; `string'
PUBLIC	?Clear@?$aVector@PAVaStringData@@@@UAEXXZ	; aVector<aStringData *>::Clear
;	COMDAT ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
; File d:\source code\alib\include\avector.h
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
_TEXT	ENDS
PUBLIC	?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z ; aVector<aStringData *>::Add
; Function compile flags: /Ogtpy
;	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
PUBLIC	?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ ; aStringArrayBase<aWideString>::Clear
EXTRN	?DecRef@aStringData@@QAEXXZ:PROC		; aStringData::DecRef
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	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@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@VaWideString@@@@UAEXXZ ENDP	; aStringArrayBase<aWideString>::Clear
_TEXT	ENDS
PUBLIC	??_7?$aVector@PAUaSQLite3ResultData@@@@6B@	; aVector<aSQLite3ResultData *>::`vftable'
PUBLIC	??0?$aVector@PAUaSQLite3ResultData@@@@QAE@XZ	; aVector<aSQLite3ResultData *>::aVector<aSQLite3ResultData *>
PUBLIC	??_R4?$aVector@PAUaSQLite3ResultData@@@@6B@	; aVector<aSQLite3ResultData *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@PAUaSQLite3ResultData@@@@@8	; aVector<aSQLite3ResultData *> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@PAUaSQLite3ResultData@@@@8	; aVector<aSQLite3ResultData *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@PAUaSQLite3ResultData@@@@8	; aVector<aSQLite3ResultData *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@PAUaSQLite3ResultData@@@@8 ; aVector<aSQLite3ResultData *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@PAUaSQLite3ResultData@@@@UAEXXZ ; aVector<aSQLite3ResultData *>::Clear
PUBLIC	?Resize@?$aVector@PAUaSQLite3ResultData@@@@UAE_NI@Z ; aVector<aSQLite3ResultData *>::Resize
PUBLIC	?Add@?$aVector@PAUaSQLite3ResultData@@@@UAEXABQAUaSQLite3ResultData@@@Z ; aVector<aSQLite3ResultData *>::Add
PUBLIC	?Insert@?$aVector@PAUaSQLite3ResultData@@@@UAEXIABQAUaSQLite3ResultData@@@Z ; aVector<aSQLite3ResultData *>::Insert
PUBLIC	?Delete@?$aVector@PAUaSQLite3ResultData@@@@UAEXI@Z ; aVector<aSQLite3ResultData *>::Delete
EXTRN	??_E?$aVector@PAUaSQLite3ResultData@@@@UAEPAXI@Z:PROC ; aVector<aSQLite3ResultData *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@PAUaSQLite3ResultData@@@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@PAUaSQLite3ResultData@@@@8 DD FLAT:??_R0?AV?$aVector@PAUaSQLite3ResultData@@@@@8 ; aVector<aSQLite3ResultData *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@PAUaSQLite3ResultData@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@PAUaSQLite3ResultData@@@@8
rdata$r	SEGMENT
??_R2?$aVector@PAUaSQLite3ResultData@@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@PAUaSQLite3ResultData@@@@8 ; aVector<aSQLite3ResultData *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@PAUaSQLite3ResultData@@@@8
rdata$r	SEGMENT
??_R3?$aVector@PAUaSQLite3ResultData@@@@8 DD 00H	; aVector<aSQLite3ResultData *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@PAUaSQLite3ResultData@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@PAUaSQLite3ResultData@@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@PAUaSQLite3ResultData@@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<aSQLite3ResultData *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@PAUaSQLite3ResultData@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@PAUaSQLite3ResultData@@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@PAUaSQLite3ResultData@@@@6B@ DD 00H	; aVector<aSQLite3ResultData *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@PAUaSQLite3ResultData@@@@@8
	DD	FLAT:??_R3?$aVector@PAUaSQLite3ResultData@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
CONST	SEGMENT
??_7?$aVector@PAUaSQLite3ResultData@@@@6B@ DD FLAT:??_R4?$aVector@PAUaSQLite3ResultData@@@@6B@ ; aVector<aSQLite3ResultData *>::`vftable'
	DD	FLAT:??_E?$aVector@PAUaSQLite3ResultData@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@PAUaSQLite3ResultData@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAUaSQLite3ResultData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAUaSQLite3ResultData@@@@UAEXABQAUaSQLite3ResultData@@@Z
	DD	FLAT:?Insert@?$aVector@PAUaSQLite3ResultData@@@@UAEXIABQAUaSQLite3ResultData@@@Z
	DD	FLAT:?Delete@?$aVector@PAUaSQLite3ResultData@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@PAUaSQLite3ResultData@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@PAUaSQLite3ResultData@@@@QAE@XZ PROC	; aVector<aSQLite3ResultData *>::aVector<aSQLite3ResultData *>, COMDAT
; _this$ = ecx

; 27   : 	aVector()

	mov	eax, ecx

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

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@PAUaSQLite3ResultData@@@@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@PAUaSQLite3ResultData@@@@QAE@XZ ENDP	; aVector<aSQLite3ResultData *>::aVector<aSQLite3ResultData *>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Clear@?$aVector@PAUaSQLite3ResultData@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@PAUaSQLite3ResultData@@@@UAEXXZ PROC	; aVector<aSQLite3ResultData *>::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@3

; 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@3:

; 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@PAUaSQLite3ResultData@@@@UAEXXZ ENDP	; aVector<aSQLite3ResultData *>::Clear
_TEXT	ENDS
EXTRN	_memcpy:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Resize@?$aVector@PAUaSQLite3ResultData@@@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@PAUaSQLite3ResultData@@@@UAE_NI@Z PROC ; aVector<aSQLite3ResultData *>::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@PAUaSQLite3ResultData@@@@UAE_NI@Z ENDP ; aVector<aSQLite3ResultData *>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@PAUaSQLite3ResultData@@@@UAEXABQAUaSQLite3ResultData@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@PAUaSQLite3ResultData@@@@UAEXABQAUaSQLite3ResultData@@@Z PROC ; aVector<aSQLite3ResultData *>::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@2

; 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@2:
	pop	esi

; 110  : 	}

	ret	4
?Add@?$aVector@PAUaSQLite3ResultData@@@@UAEXABQAUaSQLite3ResultData@@@Z ENDP ; aVector<aSQLite3ResultData *>::Add
_TEXT	ENDS
EXTRN	_memmove:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Insert@?$aVector@PAUaSQLite3ResultData@@@@UAEXIABQAUaSQLite3ResultData@@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@PAUaSQLite3ResultData@@@@UAEXIABQAUaSQLite3ResultData@@@Z PROC ; aVector<aSQLite3ResultData *>::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@PAUaSQLite3ResultData@@@@UAEXIABQAUaSQLite3ResultData@@@Z ENDP ; aVector<aSQLite3ResultData *>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@PAUaSQLite3ResultData@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@PAUaSQLite3ResultData@@@@UAEXI@Z PROC	; aVector<aSQLite3ResultData *>::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@PAUaSQLite3ResultData@@@@UAEXI@Z ENDP	; aVector<aSQLite3ResultData *>::Delete
_TEXT	ENDS
PUBLIC	?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ ; nc_SimpleDynVecClass<nc_GameObjObserverClass *>::Count
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_vector.h
;	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	?Count@?$nc_DynamicVectorClass@PAVnc_GameObjObserverTimerClass@@@@QAEHXZ ; nc_DynamicVectorClass<nc_GameObjObserverTimerClass *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$nc_DynamicVectorClass@PAVnc_GameObjObserverTimerClass@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$nc_DynamicVectorClass@PAVnc_GameObjObserverTimerClass@@@@QAEHXZ PROC ; nc_DynamicVectorClass<nc_GameObjObserverTimerClass *>::Count, COMDAT
; _this$ = ecx

; 375  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+16]

; 376  : 	}

	ret	0
?Count@?$nc_DynamicVectorClass@PAVnc_GameObjObserverTimerClass@@@@QAEHXZ ENDP ; nc_DynamicVectorClass<nc_GameObjObserverTimerClass *>::Count
_TEXT	ENDS
PUBLIC	??A?$nc_VectorClass@PAVnc_GameObjObserverTimerClass@@@@QAEAAPAVnc_GameObjObserverTimerClass@@H@Z ; nc_VectorClass<nc_GameObjObserverTimerClass *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$nc_VectorClass@PAVnc_GameObjObserverTimerClass@@@@QAEAAPAVnc_GameObjObserverTimerClass@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$nc_VectorClass@PAVnc_GameObjObserverTimerClass@@@@QAEAAPAVnc_GameObjObserverTimerClass@@H@Z PROC ; nc_VectorClass<nc_GameObjObserverTimerClass *>::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_GameObjObserverTimerClass@@@@QAEAAPAVnc_GameObjObserverTimerClass@@H@Z ENDP ; nc_VectorClass<nc_GameObjObserverTimerClass *>::operator[]
_TEXT	ENDS
PUBLIC	?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ ; nc_VectorClass<nc_SoldierGameObj *>::Length
; Function compile flags: /Ogtpy
;	COMDAT ?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ
_TEXT	SEGMENT
?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ PROC ; nc_VectorClass<nc_SoldierGameObj *>::Length, COMDAT
; _this$ = ecx

; 337  : 		return VectorMax;

	mov	eax, DWORD PTR [ecx+8]

; 338  : 	}

	ret	0
?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ ENDP ; nc_VectorClass<nc_SoldierGameObj *>::Length
_TEXT	ENDS
PUBLIC	??A?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEAAPAVnc_SoldierGameObj@@H@Z ; nc_VectorClass<nc_SoldierGameObj *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEAAPAVnc_SoldierGameObj@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEAAPAVnc_SoldierGameObj@@H@Z PROC ; nc_VectorClass<nc_SoldierGameObj *>::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_SoldierGameObj@@@@QAEAAPAVnc_SoldierGameObj@@H@Z ENDP ; nc_VectorClass<nc_SoldierGameObj *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$nc_DynamicVectorClass@PAVnc_WeaponClass@@@@QAEHXZ ; nc_DynamicVectorClass<nc_WeaponClass *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$nc_DynamicVectorClass@PAVnc_WeaponClass@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$nc_DynamicVectorClass@PAVnc_WeaponClass@@@@QAEHXZ PROC ; nc_DynamicVectorClass<nc_WeaponClass *>::Count, COMDAT
; _this$ = ecx

; 375  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+16]

; 376  : 	}

	ret	0
?Count@?$nc_DynamicVectorClass@PAVnc_WeaponClass@@@@QAEHXZ ENDP ; nc_DynamicVectorClass<nc_WeaponClass *>::Count
_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	??A?$aVector@PAUgzBackpackSoldierData@@@@QAEAAPAUgzBackpackSoldierData@@I@Z ; aVector<gzBackpackSoldierData *>::operator[]
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??A?$aVector@PAUgzBackpackSoldierData@@@@QAEAAPAUgzBackpackSoldierData@@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@PAUgzBackpackSoldierData@@@@QAEAAPAUgzBackpackSoldierData@@I@Z PROC ; aVector<gzBackpackSoldierData *>::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@PAUgzBackpackSoldierData@@@@QAEAAPAUgzBackpackSoldierData@@I@Z ENDP ; aVector<gzBackpackSoldierData *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAUgzBackpackSoldierData@@@@QBEIXZ ; aVector<gzBackpackSoldierData *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAUgzBackpackSoldierData@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAUgzBackpackSoldierData@@@@QBEIXZ PROC ; aVector<gzBackpackSoldierData *>::Count, COMDAT
; _this$ = ecx

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

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@PAUgzBackpackSoldierData@@@@QBEIXZ ENDP ; aVector<gzBackpackSoldierData *>::Count
_TEXT	ENDS
PUBLIC	??A?$aVector@PAUgzBackpackSoldierPercentData@@@@QAEAAPAUgzBackpackSoldierPercentData@@I@Z ; aVector<gzBackpackSoldierPercentData *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@PAUgzBackpackSoldierPercentData@@@@QAEAAPAUgzBackpackSoldierPercentData@@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@PAUgzBackpackSoldierPercentData@@@@QAEAAPAUgzBackpackSoldierPercentData@@I@Z PROC ; aVector<gzBackpackSoldierPercentData *>::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@PAUgzBackpackSoldierPercentData@@@@QAEAAPAUgzBackpackSoldierPercentData@@I@Z ENDP ; aVector<gzBackpackSoldierPercentData *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAUgzBackpackSoldierPercentData@@@@QBEIXZ ; aVector<gzBackpackSoldierPercentData *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAUgzBackpackSoldierPercentData@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAUgzBackpackSoldierPercentData@@@@QBEIXZ PROC ; aVector<gzBackpackSoldierPercentData *>::Count, COMDAT
; _this$ = ecx

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

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@PAUgzBackpackSoldierPercentData@@@@QBEIXZ ENDP ; aVector<gzBackpackSoldierPercentData *>::Count
_TEXT	ENDS
PUBLIC	?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z ; aVector<gzChatCommandBase *>::Add
; Function compile flags: /Ogtpy
;	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@3

; 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@3:
	pop	esi

; 110  : 	}

	ret	4
?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z ENDP ; aVector<gzChatCommandBase *>::Add
_TEXT	ENDS
PUBLIC	??_7?$aList@VgzPlayer@@@@6B@			; aList<gzPlayer>::`vftable'
PUBLIC	??0?$aList@VgzPlayer@@@@QAE@XZ			; aList<gzPlayer>::aList<gzPlayer>
PUBLIC	??_R4?$aList@VgzPlayer@@@@6B@			; aList<gzPlayer>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aList@VgzPlayer@@@@@8			; aList<gzPlayer> `RTTI Type Descriptor'
PUBLIC	??_R3?$aList@VgzPlayer@@@@8			; aList<gzPlayer>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aList@VgzPlayer@@@@8			; aList<gzPlayer>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aList@VgzPlayer@@@@8		; aList<gzPlayer>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetHead@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ ; aList<gzPlayer>::GetHead
PUBLIC	?GetTail@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ ; aList<gzPlayer>::GetTail
PUBLIC	?AddHead@?$aList@VgzPlayer@@@@UAE_NAAV1@@Z	; aList<gzPlayer>::AddHead
PUBLIC	?AddHead@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@@Z ; aList<gzPlayer>::AddHead
PUBLIC	?AddTail@?$aList@VgzPlayer@@@@UAE_NAAV1@@Z	; aList<gzPlayer>::AddTail
PUBLIC	?AddTail@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@@Z ; aList<gzPlayer>::AddTail
PUBLIC	?InsertBefore@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@PAV?$aListNode@VgzPlayer@@@@@Z ; aList<gzPlayer>::InsertBefore
PUBLIC	?InsertBefore@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@0@Z ; aList<gzPlayer>::InsertBefore
PUBLIC	?InsertAfter@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@PAV?$aListNode@VgzPlayer@@@@@Z ; aList<gzPlayer>::InsertAfter
PUBLIC	?InsertAfter@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@0@Z ; aList<gzPlayer>::InsertAfter
PUBLIC	?RemoveHead@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ ; aList<gzPlayer>::RemoveHead
PUBLIC	?RemoveTail@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ ; aList<gzPlayer>::RemoveTail
PUBLIC	?Remove@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@ABV2@@Z ; aList<gzPlayer>::Remove
PUBLIC	?Remove@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@PAVgzPlayer@@@Z ; aList<gzPlayer>::Remove
PUBLIC	?RemoveAll@?$aList@VgzPlayer@@@@UAEXXZ		; aList<gzPlayer>::RemoveAll
EXTRN	??_E?$aList@VgzPlayer@@@@UAEPAXI@Z:PROC		; aList<gzPlayer>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aList@VgzPlayer@@@@8
; File d:\source code\alib\include\alist.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aList@VgzPlayer@@@@8 DD FLAT:??_R0?AV?$aList@VgzPlayer@@@@@8 ; aList<gzPlayer>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aList@VgzPlayer@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aList@VgzPlayer@@@@8
rdata$r	SEGMENT
??_R2?$aList@VgzPlayer@@@@8 DD FLAT:??_R1A@?0A@EA@?$aList@VgzPlayer@@@@8 ; aList<gzPlayer>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aList@VgzPlayer@@@@8
rdata$r	SEGMENT
??_R3?$aList@VgzPlayer@@@@8 DD 00H			; aList<gzPlayer>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aList@VgzPlayer@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aList@VgzPlayer@@@@@8
_DATA	SEGMENT
??_R0?AV?$aList@VgzPlayer@@@@@8 DD FLAT:??_7type_info@@6B@ ; aList<gzPlayer> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aList@VgzPlayer@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aList@VgzPlayer@@@@6B@
rdata$r	SEGMENT
??_R4?$aList@VgzPlayer@@@@6B@ DD 00H			; aList<gzPlayer>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aList@VgzPlayer@@@@@8
	DD	FLAT:??_R3?$aList@VgzPlayer@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aList@VgzPlayer@@@@6B@
CONST	SEGMENT
??_7?$aList@VgzPlayer@@@@6B@ DD FLAT:??_R4?$aList@VgzPlayer@@@@6B@ ; aList<gzPlayer>::`vftable'
	DD	FLAT:??_E?$aList@VgzPlayer@@@@UAEPAXI@Z
	DD	FLAT:?GetHead@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ
	DD	FLAT:?GetTail@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ
	DD	FLAT:?AddHead@?$aList@VgzPlayer@@@@UAE_NAAV1@@Z
	DD	FLAT:?AddHead@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@@Z
	DD	FLAT:?AddTail@?$aList@VgzPlayer@@@@UAE_NAAV1@@Z
	DD	FLAT:?AddTail@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@@Z
	DD	FLAT:?InsertBefore@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@PAV?$aListNode@VgzPlayer@@@@@Z
	DD	FLAT:?InsertBefore@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@0@Z
	DD	FLAT:?InsertAfter@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@PAV?$aListNode@VgzPlayer@@@@@Z
	DD	FLAT:?InsertAfter@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@0@Z
	DD	FLAT:?RemoveHead@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ
	DD	FLAT:?RemoveTail@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ
	DD	FLAT:?Remove@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@ABV2@@Z
	DD	FLAT:?Remove@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@PAVgzPlayer@@@Z
	DD	FLAT:?RemoveAll@?$aList@VgzPlayer@@@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aList@VgzPlayer@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aList@VgzPlayer@@@@QAE@XZ PROC			; aList<gzPlayer>::aList<gzPlayer>, COMDAT
; _this$ = ecx

; 24   : 	aList()

	mov	eax, ecx

; 25   : 	{
; 26   : 		this->m_Head = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aList@VgzPlayer@@@@6B@
	mov	DWORD PTR [eax+8], ecx

; 27   : 		this->m_Tail = NULL;

	mov	DWORD PTR [eax+12], ecx

; 28   : 		this->m_count = 0;

	mov	DWORD PTR [eax+4], ecx

; 29   : 	};

	ret	0
??0?$aList@VgzPlayer@@@@QAE@XZ ENDP			; aList<gzPlayer>::aList<gzPlayer>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?GetHead@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ
_TEXT	SEGMENT
?GetHead@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ PROC ; aList<gzPlayer>::GetHead, COMDAT
; _this$ = ecx

; 55   : 		return this->m_Head;

	mov	eax, DWORD PTR [ecx+8]

; 56   : 	};

	ret	0
?GetHead@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ ENDP ; aList<gzPlayer>::GetHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?GetTail@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ
_TEXT	SEGMENT
?GetTail@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ PROC ; aList<gzPlayer>::GetTail, COMDAT
; _this$ = ecx

; 59   : 		return this->m_Tail;

	mov	eax, DWORD PTR [ecx+12]

; 60   : 	};

	ret	0
?GetTail@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ ENDP ; aList<gzPlayer>::GetTail
_TEXT	ENDS
PUBLIC	??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@ ; `string'
;	COMDAT ??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@
CONST	SEGMENT
??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@ DB 'D:\Source '
	DB	'Code\aLib\include\aList.h', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?AddHead@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?AddHead@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@@Z PROC	; aList<gzPlayer>::AddHead, COMDAT
; _this$ = ecx

; 62   : 	{

	push	esi

; 63   : 		aListNode<T>* newNode = new aListNode<T>;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	63					; 0000003fH
	push	OFFSET ??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@
	mov	esi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new

; 64   : 		newNode->m_nextNode = this->m_Head;

	mov	ecx, DWORD PTR [esi+8]

; 65   : 		newNode->data = data;

	mov	edx, DWORD PTR _data$[esp+16]
	mov	DWORD PTR [eax], ecx
	mov	DWORD PTR [eax+4], edx
	add	esp, 16					; 00000010H

; 66   : 		this->m_Head = newNode;
; 67   : 		if (this->m_Tail == NULL)

	cmp	DWORD PTR [esi+12], 0
	mov	DWORD PTR [esi+8], eax
	jne	SHORT $LN1@AddHead

; 68   : 			this->m_Tail = newNode;

	mov	DWORD PTR [esi+12], eax
$LN1@AddHead:

; 69   : 		this->m_count++;

	mov	eax, 1
	add	DWORD PTR [esi+4], eax
	pop	esi

; 70   : 		return true;
; 71   : 	};

	ret	4
?AddHead@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@@Z ENDP	; aList<gzPlayer>::AddHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddHead@?$aList@VgzPlayer@@@@UAE_NAAV1@@Z
_TEXT	SEGMENT
_nodes$ = 8						; size = 4
?AddHead@?$aList@VgzPlayer@@@@UAE_NAAV1@@Z PROC		; aList<gzPlayer>::AddHead, COMDAT
; _this$ = ecx

; 73   : 	{

	push	esi
	push	edi
	mov	edi, ecx

; 74   : 		for (aListNode<T>* list = nodes.GetHead(); list != NULL; list = list->m_nextNode)

	mov	ecx, DWORD PTR _nodes$[esp+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	mov	esi, eax
	test	esi, esi
	je	SHORT $LN8@AddHead@2
$LL3@AddHead@2:

; 75   : 			this->AddHead(list->data);

	mov	ecx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+16]
	push	ecx
	mov	ecx, edi
	call	edx
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL3@AddHead@2
$LN8@AddHead@2:
	pop	edi

; 76   : 		return true;

	mov	al, 1
	pop	esi

; 77   : 	};

	ret	4
?AddHead@?$aList@VgzPlayer@@@@UAE_NAAV1@@Z ENDP		; aList<gzPlayer>::AddHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddTail@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?AddTail@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@@Z PROC	; aList<gzPlayer>::AddTail, COMDAT
; _this$ = ecx

; 79   : 	{

	push	esi

; 80   : 		aListNode<T> *newNode = new aListNode<T>;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	80					; 00000050H
	push	OFFSET ??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@
	mov	esi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new

; 81   : 		newNode->m_nextNode = NULL;
; 82   : 		newNode->data = data;

	mov	ecx, DWORD PTR _data$[esp+16]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [eax], 0
	mov	DWORD PTR [eax+4], ecx

; 83   : 		if (this->m_Head == NULL)

	cmp	DWORD PTR [esi+8], 0
	jne	SHORT $LN2@AddTail

; 84   : 			this->m_Head = newNode;

	mov	DWORD PTR [esi+8], eax
$LN2@AddTail:

; 85   : 		if (this->m_Tail != NULL)

	mov	ecx, DWORD PTR [esi+12]
	test	ecx, ecx
	je	SHORT $LN1@AddTail

; 86   : 			this->m_Tail->m_nextNode = newNode;

	mov	DWORD PTR [ecx], eax
$LN1@AddTail:

; 87   : 		this->m_Tail = newNode;

	mov	DWORD PTR [esi+12], eax

; 88   : 		this->m_count++;

	mov	eax, 1
	add	DWORD PTR [esi+4], eax
	pop	esi

; 89   : 		return true;
; 90   : 	};

	ret	4
?AddTail@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@@Z ENDP	; aList<gzPlayer>::AddTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddTail@?$aList@VgzPlayer@@@@UAE_NAAV1@@Z
_TEXT	SEGMENT
_nodes$ = 8						; size = 4
?AddTail@?$aList@VgzPlayer@@@@UAE_NAAV1@@Z PROC		; aList<gzPlayer>::AddTail, COMDAT
; _this$ = ecx

; 92   : 	{

	push	esi
	push	edi
	mov	edi, ecx

; 93   : 		for (aListNode<T>* list = nodes.GetHead(); list != NULL; list = list->m_nextNode)

	mov	ecx, DWORD PTR _nodes$[esp+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	mov	esi, eax
	test	esi, esi
	je	SHORT $LN8@AddTail@2
$LL3@AddTail@2:

; 94   : 			this->AddTail(list->data);

	mov	ecx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+24]
	push	ecx
	mov	ecx, edi
	call	edx
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL3@AddTail@2
$LN8@AddTail@2:
	pop	edi

; 95   : 		return true;

	mov	al, 1
	pop	esi

; 96   : 	};

	ret	4
?AddTail@?$aList@VgzPlayer@@@@UAE_NAAV1@@Z ENDP		; aList<gzPlayer>::AddTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertBefore@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@0@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_beforeData$ = 12					; size = 4
?InsertBefore@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@0@Z PROC ; aList<gzPlayer>::InsertBefore, COMDAT
; _this$ = ecx

; 98   : 	{

	push	ebx
	push	esi
	mov	ebx, ecx

; 99   : 		for (aListNode<T> *list = this->m_Head, *prev = NULL; list != NULL; list = list->m_nextNode)

	mov	esi, DWORD PTR [ebx+8]
	push	edi
	xor	edi, edi
	test	esi, esi
	je	SHORT $LN4@InsertBefo
	mov	eax, DWORD PTR _beforeData$[esp+8]
$LL6@InsertBefo:

; 100  : 		{
; 101  : 			if (list->data == beforeData)

	cmp	DWORD PTR [esi+4], eax
	je	SHORT $LN12@InsertBefo

; 111  : 				return true;
; 112  : 			}
; 113  : 			prev = list;

	mov	edi, esi
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL6@InsertBefo
$LN4@InsertBefo:
	pop	edi
	pop	esi

; 114  : 		}
; 115  : 		return false;

	xor	al, al
	pop	ebx

; 116  : 	};

	ret	8
$LN12@InsertBefo:

; 102  : 			{
; 103  : 				aListNode<T> *newNode = new aListNode<T>;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	103					; 00000067H
	push	OFFSET ??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new

; 104  : 				newNode->m_nextNode = list;
; 105  : 				newNode->data = data;

	mov	ecx, DWORD PTR _data$[esp+24]
	add	esp, 16					; 00000010H

; 106  : 				if (prev)

	test	edi, edi
	mov	DWORD PTR [eax], esi
	mov	DWORD PTR [eax+4], ecx
	je	SHORT $LN2@InsertBefo

; 107  : 					prev->m_nextNode = newNode;

	mov	DWORD PTR [edi], eax
	pop	edi

; 110  : 				this->m_count++;

	mov	eax, 1
	add	DWORD PTR [ebx+4], eax
	pop	esi
	pop	ebx

; 116  : 	};

	ret	8
$LN2@InsertBefo:

; 108  : 				else
; 109  : 					this->m_Head = newNode;

	mov	DWORD PTR [ebx+8], eax
	pop	edi

; 110  : 				this->m_count++;

	mov	eax, 1
	add	DWORD PTR [ebx+4], eax
	pop	esi
	pop	ebx

; 116  : 	};

	ret	8
?InsertBefore@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@0@Z ENDP ; aList<gzPlayer>::InsertBefore
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertBefore@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@PAV?$aListNode@VgzPlayer@@@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_beforeNode$ = 12					; size = 4
?InsertBefore@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@PAV?$aListNode@VgzPlayer@@@@@Z PROC ; aList<gzPlayer>::InsertBefore, COMDAT
; _this$ = ecx

; 119  : 		return this->InsertBefore(data, beforeNode->data);

	mov	edx, DWORD PTR _beforeNode$[esp-4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+4]
	mov	DWORD PTR _beforeNode$[esp-4], edx
	mov	eax, DWORD PTR [eax+32]
	jmp	eax
?InsertBefore@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@PAV?$aListNode@VgzPlayer@@@@@Z ENDP ; aList<gzPlayer>::InsertBefore
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertAfter@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@PAV?$aListNode@VgzPlayer@@@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_afterNode$ = 12					; size = 4
?InsertAfter@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@PAV?$aListNode@VgzPlayer@@@@@Z PROC ; aList<gzPlayer>::InsertAfter, COMDAT
; _this$ = ecx

; 144  : 		return this->InsertAfter(data, afterNode->data);

	mov	edx, DWORD PTR _afterNode$[esp-4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+4]
	mov	DWORD PTR _afterNode$[esp-4], edx
	mov	eax, DWORD PTR [eax+40]
	jmp	eax
?InsertAfter@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@PAV?$aListNode@VgzPlayer@@@@@Z ENDP ; aList<gzPlayer>::InsertAfter
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveHead@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ
_TEXT	SEGMENT
?RemoveHead@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ PROC ; aList<gzPlayer>::RemoveHead, COMDAT
; _this$ = ecx

; 147  : 	{

	push	esi
	mov	esi, ecx
	push	edi

; 148  : 		if (this->m_Head)

	mov	edi, DWORD PTR [esi+8]
	test	edi, edi
	je	SHORT $LN3@RemoveHead

; 149  : 		{
; 150  : 			aListNode<T> *node = this->m_Head;
; 151  : 			if (node->m_nextNode)

	mov	eax, DWORD PTR [edi]

; 152  : 				this->m_Head = node->m_nextNode;
; 153  : 			else
; 154  : 				this->m_Head = NULL;
; 155  : 			delete node;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	155					; 0000009bH
	push	OFFSET ??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@
	mov	DWORD PTR [esi+8], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	edi
	call	??3@YAXPAX@Z				; operator delete

; 156  : 			this->m_count--;
; 157  : 			return this->m_Head;

	mov	eax, DWORD PTR [esi+8]
	add	esp, 16					; 00000010H
	add	DWORD PTR [esi+4], -1
	pop	edi
	pop	esi

; 160  : 	};

	ret	0
$LN3@RemoveHead:
	pop	edi

; 158  : 		}
; 159  : 		return NULL;

	xor	eax, eax
	pop	esi

; 160  : 	};

	ret	0
?RemoveHead@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ ENDP ; aList<gzPlayer>::RemoveHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveTail@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ
_TEXT	SEGMENT
?RemoveTail@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ PROC ; aList<gzPlayer>::RemoveTail, COMDAT
; _this$ = ecx

; 162  : 	{

	push	edi
	mov	edi, ecx

; 163  : 		if (this->m_Tail)

	cmp	DWORD PTR [edi+12], 0
	je	SHORT $LN6@RemoveTail

; 164  : 		{
; 165  : 			aListNode<T> *prev = NULL;
; 166  : 			for (aListNode<T> *list = this->m_Head; list != NULL; list = list->m_nextNode)

	mov	eax, DWORD PTR [edi+8]
	push	esi
	xor	esi, esi
	test	eax, eax
	je	SHORT $LN1@RemoveTail
$LL5@RemoveTail:

; 167  : 			{
; 168  : 				if (list->m_nextNode != NULL)

	mov	ecx, DWORD PTR [eax]
	test	ecx, ecx
	je	SHORT $LN4@RemoveTail

; 169  : 					prev = list;

	mov	esi, eax
$LN4@RemoveTail:

; 164  : 		{
; 165  : 			aListNode<T> *prev = NULL;
; 166  : 			for (aListNode<T> *list = this->m_Head; list != NULL; list = list->m_nextNode)

	mov	eax, ecx
	test	eax, eax
	jne	SHORT $LL5@RemoveTail

; 170  : 			}
; 171  : 			if (prev != NULL)

	test	esi, esi
	je	SHORT $LN1@RemoveTail

; 172  : 				prev->m_nextNode = NULL;

	mov	DWORD PTR [esi], ecx
$LN1@RemoveTail:

; 173  : 			delete this->m_Tail;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	173					; 000000adH
	push	OFFSET ??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [edi+12]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 16					; 00000010H

; 174  : 			this->m_Tail = prev;
; 175  : 			this->m_count--;

	add	DWORD PTR [edi+4], -1
	mov	DWORD PTR [edi+12], esi

; 176  : 			return prev;

	mov	eax, esi
	pop	esi
	pop	edi

; 179  : 	};

	ret	0
$LN6@RemoveTail:

; 177  : 		}
; 178  : 		return NULL;

	xor	eax, eax
	pop	edi

; 179  : 	};

	ret	0
?RemoveTail@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@XZ ENDP ; aList<gzPlayer>::RemoveTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Remove@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@PAVgzPlayer@@@Z
_TEXT	SEGMENT
_element$ = 8						; size = 4
?Remove@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@PAVgzPlayer@@@Z PROC ; aList<gzPlayer>::Remove, COMDAT
; _this$ = ecx

; 181  : 	{

	push	ebx
	mov	ebx, ecx

; 182  : 		if (this->m_Head && this->m_Head->data == element)

	mov	ecx, DWORD PTR _element$[esp]
	push	esi
	mov	esi, DWORD PTR [ebx+8]
	test	esi, esi
	je	SHORT $LN8@Remove
	cmp	DWORD PTR [esi+4], ecx
	jne	SHORT $LN8@Remove

; 183  : 			return this->RemoveHead();

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, ebx
	call	edx
	pop	esi
	pop	ebx

; 202  : 	};

	ret	4
$LN8@Remove:

; 184  : 		else if (this->m_Tail && this->m_Tail->data == element)

	mov	eax, DWORD PTR [ebx+12]
	test	eax, eax
	je	SHORT $LN6@Remove
	cmp	DWORD PTR [eax+4], ecx
	jne	SHORT $LN6@Remove

; 185  : 			return this->RemoveTail();

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+48]
	mov	ecx, ebx
	call	edx
	pop	esi
	pop	ebx

; 202  : 	};

	ret	4
$LN6@Remove:
	push	edi

; 186  : 		else
; 187  : 		{
; 188  : 			for (aListNode<T>* list = this->m_Head, *prev = NULL; list != NULL; list = list->m_nextNode)

	xor	edi, edi
	test	esi, esi
	je	SHORT $LN2@Remove
$LL4@Remove:

; 189  : 			{
; 190  : 				if (list->data == element)

	cmp	DWORD PTR [esi+4], ecx
	je	SHORT $LN14@Remove

; 197  : 				}
; 198  : 				prev = list;

	mov	edi, esi
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL4@Remove
$LN2@Remove:
	pop	edi
	pop	esi

; 199  : 			}
; 200  : 		}
; 201  : 		return NULL;

	xor	eax, eax
	pop	ebx

; 202  : 	};

	ret	4
$LN14@Remove:

; 191  : 				{
; 192  : 					prev->m_nextNode = list->m_nextNode;

	mov	eax, DWORD PTR [esi]

; 193  : 					list->m_nextNode = NULL;
; 194  : 					delete list;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	194					; 000000c2H
	mov	DWORD PTR [edi], eax
	push	OFFSET ??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@
	mov	DWORD PTR [esi], 0
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??3@YAXPAX@Z				; operator delete

; 195  : 					this->m_count--;

	add	DWORD PTR [ebx+4], -1
	add	esp, 16					; 00000010H

; 196  : 					return prev;

	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebx

; 202  : 	};

	ret	4
?Remove@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@PAVgzPlayer@@@Z ENDP ; aList<gzPlayer>::Remove
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Remove@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@ABV2@@Z
_TEXT	SEGMENT
_node$ = 8						; size = 4
?Remove@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@ABV2@@Z PROC ; aList<gzPlayer>::Remove, COMDAT
; _this$ = ecx

; 205  : 		return this->Remove(node.data);

	mov	edx, DWORD PTR _node$[esp-4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+4]
	mov	DWORD PTR _node$[esp-4], edx
	mov	eax, DWORD PTR [eax+56]
	jmp	eax
?Remove@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@ABV2@@Z ENDP ; aList<gzPlayer>::Remove
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveAll@?$aList@VgzPlayer@@@@UAEXXZ
_TEXT	SEGMENT
?RemoveAll@?$aList@VgzPlayer@@@@UAEXXZ PROC		; aList<gzPlayer>::RemoveAll, COMDAT
; _this$ = ecx

; 208  : 	{

	push	ebx
	mov	ebx, ecx
	push	esi

; 209  : 		aListNode<T> *list = this->m_Head;

	mov	esi, DWORD PTR [ebx+8]

; 210  : 		while (list)

	test	esi, esi
	je	SHORT $LN1@RemoveAll
	push	edi
	npad	4
$LL2@RemoveAll:

; 211  : 		{
; 212  : 			aListNode<T> *next = list->m_nextNode;

	mov	edi, DWORD PTR [esi]

; 213  : 			delete list;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	213					; 000000d5H
	push	OFFSET ??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 16					; 00000010H
	test	edi, edi

; 214  : 			list = next;

	mov	esi, edi
	jne	SHORT $LL2@RemoveAll
	pop	edi
$LN1@RemoveAll:
	pop	esi

; 215  : 		}
; 216  : 		this->m_Head = NULL;

	mov	DWORD PTR [ebx+8], 0

; 217  : 		this->m_Tail = NULL;

	mov	DWORD PTR [ebx+12], 0

; 218  : 		this->m_count = 0;

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

; 219  : 	};

	ret	0
?RemoveAll@?$aList@VgzPlayer@@@@UAEXXZ ENDP		; aList<gzPlayer>::RemoveAll
_TEXT	ENDS
PUBLIC	?GetNext@?$aListNode@VgzPlayer@@@@QAEPAV1@XZ	; aListNode<gzPlayer>::GetNext
; Function compile flags: /Ogtpy
;	COMDAT ?GetNext@?$aListNode@VgzPlayer@@@@QAEPAV1@XZ
_TEXT	SEGMENT
?GetNext@?$aListNode@VgzPlayer@@@@QAEPAV1@XZ PROC	; aListNode<gzPlayer>::GetNext, COMDAT
; _this$ = ecx

; 14   : 	aListNode<T>* GetNext() { return this->m_nextNode; };

	mov	eax, DWORD PTR [ecx]
	ret	0
?GetNext@?$aListNode@VgzPlayer@@@@QAEPAV1@XZ ENDP	; aListNode<gzPlayer>::GetNext
_TEXT	ENDS
PUBLIC	?GetData@?$aListNode@VgzPlayer@@@@QAEPAVgzPlayer@@XZ ; aListNode<gzPlayer>::GetData
; Function compile flags: /Ogtpy
;	COMDAT ?GetData@?$aListNode@VgzPlayer@@@@QAEPAVgzPlayer@@XZ
_TEXT	SEGMENT
?GetData@?$aListNode@VgzPlayer@@@@QAEPAVgzPlayer@@XZ PROC ; aListNode<gzPlayer>::GetData, COMDAT
; _this$ = ecx

; 15   : 	T* GetData() { return this->data; };

	mov	eax, DWORD PTR [ecx+4]
	ret	0
?GetData@?$aListNode@VgzPlayer@@@@QAEPAVgzPlayer@@XZ ENDP ; aListNode<gzPlayer>::GetData
_TEXT	ENDS
PUBLIC	??_7?$aVector@PAUgzSerialBanStruct@@@@6B@	; aVector<gzSerialBanStruct *>::`vftable'
PUBLIC	??0?$aVector@PAUgzSerialBanStruct@@@@QAE@XZ	; aVector<gzSerialBanStruct *>::aVector<gzSerialBanStruct *>
PUBLIC	??_R4?$aVector@PAUgzSerialBanStruct@@@@6B@	; aVector<gzSerialBanStruct *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@PAUgzSerialBanStruct@@@@@8	; aVector<gzSerialBanStruct *> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@PAUgzSerialBanStruct@@@@8	; aVector<gzSerialBanStruct *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@PAUgzSerialBanStruct@@@@8	; aVector<gzSerialBanStruct *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@PAUgzSerialBanStruct@@@@8 ; aVector<gzSerialBanStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@PAUgzSerialBanStruct@@@@UAEXXZ	; aVector<gzSerialBanStruct *>::Clear
PUBLIC	?Resize@?$aVector@PAUgzSerialBanStruct@@@@UAE_NI@Z ; aVector<gzSerialBanStruct *>::Resize
PUBLIC	?Add@?$aVector@PAUgzSerialBanStruct@@@@UAEXABQAUgzSerialBanStruct@@@Z ; aVector<gzSerialBanStruct *>::Add
PUBLIC	?Insert@?$aVector@PAUgzSerialBanStruct@@@@UAEXIABQAUgzSerialBanStruct@@@Z ; aVector<gzSerialBanStruct *>::Insert
PUBLIC	?Delete@?$aVector@PAUgzSerialBanStruct@@@@UAEXI@Z ; aVector<gzSerialBanStruct *>::Delete
EXTRN	??_E?$aVector@PAUgzSerialBanStruct@@@@UAEPAXI@Z:PROC ; aVector<gzSerialBanStruct *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@PAUgzSerialBanStruct@@@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@PAUgzSerialBanStruct@@@@8 DD FLAT:??_R0?AV?$aVector@PAUgzSerialBanStruct@@@@@8 ; aVector<gzSerialBanStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@PAUgzSerialBanStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@PAUgzSerialBanStruct@@@@8
rdata$r	SEGMENT
??_R2?$aVector@PAUgzSerialBanStruct@@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@PAUgzSerialBanStruct@@@@8 ; aVector<gzSerialBanStruct *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@PAUgzSerialBanStruct@@@@8
rdata$r	SEGMENT
??_R3?$aVector@PAUgzSerialBanStruct@@@@8 DD 00H		; aVector<gzSerialBanStruct *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@PAUgzSerialBanStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@PAUgzSerialBanStruct@@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@PAUgzSerialBanStruct@@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<gzSerialBanStruct *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@PAUgzSerialBanStruct@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@PAUgzSerialBanStruct@@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@PAUgzSerialBanStruct@@@@6B@ DD 00H	; aVector<gzSerialBanStruct *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@PAUgzSerialBanStruct@@@@@8
	DD	FLAT:??_R3?$aVector@PAUgzSerialBanStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@PAUgzSerialBanStruct@@@@6B@
CONST	SEGMENT
??_7?$aVector@PAUgzSerialBanStruct@@@@6B@ DD FLAT:??_R4?$aVector@PAUgzSerialBanStruct@@@@6B@ ; aVector<gzSerialBanStruct *>::`vftable'
	DD	FLAT:??_E?$aVector@PAUgzSerialBanStruct@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@PAUgzSerialBanStruct@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAUgzSerialBanStruct@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAUgzSerialBanStruct@@@@UAEXABQAUgzSerialBanStruct@@@Z
	DD	FLAT:?Insert@?$aVector@PAUgzSerialBanStruct@@@@UAEXIABQAUgzSerialBanStruct@@@Z
	DD	FLAT:?Delete@?$aVector@PAUgzSerialBanStruct@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@PAUgzSerialBanStruct@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@PAUgzSerialBanStruct@@@@QAE@XZ PROC	; aVector<gzSerialBanStruct *>::aVector<gzSerialBanStruct *>, COMDAT
; _this$ = ecx

; 27   : 	aVector()

	mov	eax, ecx

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

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@PAUgzSerialBanStruct@@@@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@PAUgzSerialBanStruct@@@@QAE@XZ ENDP	; aVector<gzSerialBanStruct *>::aVector<gzSerialBanStruct *>
_TEXT	ENDS
PUBLIC	??A?$aVector@PAUgzSerialBanStruct@@@@QAEAAPAUgzSerialBanStruct@@I@Z ; aVector<gzSerialBanStruct *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@PAUgzSerialBanStruct@@@@QAEAAPAUgzSerialBanStruct@@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@PAUgzSerialBanStruct@@@@QAEAAPAUgzSerialBanStruct@@I@Z PROC ; aVector<gzSerialBanStruct *>::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@PAUgzSerialBanStruct@@@@QAEAAPAUgzSerialBanStruct@@I@Z ENDP ; aVector<gzSerialBanStruct *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAUgzSerialBanStruct@@@@QBEIXZ	; aVector<gzSerialBanStruct *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAUgzSerialBanStruct@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAUgzSerialBanStruct@@@@QBEIXZ PROC	; aVector<gzSerialBanStruct *>::Count, COMDAT
; _this$ = ecx

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

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@PAUgzSerialBanStruct@@@@QBEIXZ ENDP	; aVector<gzSerialBanStruct *>::Count
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Clear@?$aVector@PAUgzSerialBanStruct@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@PAUgzSerialBanStruct@@@@UAEXXZ PROC	; aVector<gzSerialBanStruct *>::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@PAUgzSerialBanStruct@@@@UAEXXZ ENDP	; aVector<gzSerialBanStruct *>::Clear
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Resize@?$aVector@PAUgzSerialBanStruct@@@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@PAUgzSerialBanStruct@@@@UAE_NI@Z PROC	; aVector<gzSerialBanStruct *>::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@PAUgzSerialBanStruct@@@@UAE_NI@Z ENDP	; aVector<gzSerialBanStruct *>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@PAUgzSerialBanStruct@@@@UAEXABQAUgzSerialBanStruct@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@PAUgzSerialBanStruct@@@@UAEXABQAUgzSerialBanStruct@@@Z PROC ; aVector<gzSerialBanStruct *>::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@PAUgzSerialBanStruct@@@@UAEXABQAUgzSerialBanStruct@@@Z ENDP ; aVector<gzSerialBanStruct *>::Add
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Insert@?$aVector@PAUgzSerialBanStruct@@@@UAEXIABQAUgzSerialBanStruct@@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@PAUgzSerialBanStruct@@@@UAEXIABQAUgzSerialBanStruct@@@Z PROC ; aVector<gzSerialBanStruct *>::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@PAUgzSerialBanStruct@@@@UAEXIABQAUgzSerialBanStruct@@@Z ENDP ; aVector<gzSerialBanStruct *>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@PAUgzSerialBanStruct@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@PAUgzSerialBanStruct@@@@UAEXI@Z PROC	; aVector<gzSerialBanStruct *>::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@PAUgzSerialBanStruct@@@@UAEXI@Z ENDP	; aVector<gzSerialBanStruct *>::Delete
_TEXT	ENDS
PUBLIC	??_7?$nc_ScriptRegistrant@VgzObserverSoldier@@@@6B@ ; nc_ScriptRegistrant<gzObserverSoldier>::`vftable'
PUBLIC	??0?$nc_ScriptRegistrant@VgzObserverSoldier@@@@QAE@PAD0@Z ; nc_ScriptRegistrant<gzObserverSoldier>::nc_ScriptRegistrant<gzObserverSoldier>
PUBLIC	??_R4?$nc_ScriptRegistrant@VgzObserverSoldier@@@@6B@ ; nc_ScriptRegistrant<gzObserverSoldier>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$nc_ScriptRegistrant@VgzObserverSoldier@@@@@8 ; nc_ScriptRegistrant<gzObserverSoldier> `RTTI Type Descriptor'
PUBLIC	??_R3?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8 ; nc_ScriptRegistrant<gzObserverSoldier>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8 ; nc_ScriptRegistrant<gzObserverSoldier>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8 ; nc_ScriptRegistrant<gzObserverSoldier>::`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@VgzObserverSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ ; nc_ScriptRegistrant<gzObserverSoldier>::Create
EXTRN	??0nc_ScriptFactory@@QAE@PAD0@Z:PROC		; nc_ScriptFactory::nc_ScriptFactory
EXTRN	??_E?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAXI@Z:PROC ; nc_ScriptRegistrant<gzObserverSoldier>::`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@VgzObserverSoldier@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8 DD FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverSoldier@@@@@8 ; nc_ScriptRegistrant<gzObserverSoldier>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8
rdata$r	SEGMENT
??_R2?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8 DD FLAT:??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8 ; nc_ScriptRegistrant<gzObserverSoldier>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8
rdata$r	SEGMENT
??_R3?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8 DD 00H ; nc_ScriptRegistrant<gzObserverSoldier>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$nc_ScriptRegistrant@VgzObserverSoldier@@@@@8
_DATA	SEGMENT
??_R0?AV?$nc_ScriptRegistrant@VgzObserverSoldier@@@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptRegistrant<gzObserverSoldier> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$nc_ScriptRegistrant@VgzObserverSoldier@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$nc_ScriptRegistrant@VgzObserverSoldier@@@@6B@
rdata$r	SEGMENT
??_R4?$nc_ScriptRegistrant@VgzObserverSoldier@@@@6B@ DD 00H ; nc_ScriptRegistrant<gzObserverSoldier>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverSoldier@@@@@8
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverSoldier@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$nc_ScriptRegistrant@VgzObserverSoldier@@@@6B@
CONST	SEGMENT
??_7?$nc_ScriptRegistrant@VgzObserverSoldier@@@@6B@ DD FLAT:??_R4?$nc_ScriptRegistrant@VgzObserverSoldier@@@@6B@ ; nc_ScriptRegistrant<gzObserverSoldier>::`vftable'
	DD	FLAT:??_E?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$nc_ScriptRegistrant@VgzObserverSoldier@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$nc_ScriptRegistrant@VgzObserverSoldier@@@@QAE@PAD0@Z PROC ; nc_ScriptRegistrant<gzObserverSoldier>::nc_ScriptRegistrant<gzObserverSoldier>, 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@VgzObserverSoldier@@@@6B@

; 466  : 	}

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

; 466  : 	}

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

; 466  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$nc_ScriptRegistrant@VgzFreeze_Player@@@@QAE@PAD0@Z ENDP ; nc_ScriptRegistrant<gzFreeze_Player>::nc_ScriptRegistrant<gzFreeze_Player>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0bad_alloc@std@@QAE@ABV01@@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx
	mov	eax, DWORD PTR ___that$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABV01@@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0bad_alloc@std@@QAE@ABV01@@Z ENDP			; std::bad_alloc::bad_alloc
_TEXT	ENDS
PUBLIC	??_H@YGXPAXIHP6EPAX0@Z@Z			; `vector constructor iterator'
; Function compile flags: /Ogtpy
;	COMDAT ??_H@YGXPAXIHP6EPAX0@Z@Z
_TEXT	SEGMENT
___t$ = 8						; size = 4
___s$ = 12						; size = 4
___n$ = 16						; size = 4
___f$ = 20						; size = 4
??_H@YGXPAXIHP6EPAX0@Z@Z PROC				; `vector constructor iterator', COMDAT
	push	edi
	mov	edi, DWORD PTR ___n$[esp]
	sub	edi, 1
	js	SHORT $LN1@vector
	push	ebx
	mov	ebx, DWORD PTR ___f$[esp+4]
	push	ebp
	mov	ebp, DWORD PTR ___s$[esp+8]
	push	esi
	mov	esi, DWORD PTR ___t$[esp+12]
	npad	7
$LL2@vector:
	mov	ecx, esi
	call	ebx
	add	esi, ebp
	sub	edi, 1
	jns	SHORT $LL2@vector
	pop	esi
	pop	ebp
	pop	ebx
$LN1@vector:
	pop	edi
	ret	16					; 00000010H
??_H@YGXPAXIHP6EPAX0@Z@Z ENDP				; `vector constructor iterator'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverSoldier>::`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@2
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@2:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverSoldier>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverSpectator@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverSpectator@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverSpectator>::`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@VgzObserverSpectator@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverSpectator>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzFreeze_Player>::`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@VgzFreeze_Player@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzFreeze_Player>::`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	??_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	?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z	; aVector<aStringData *>::Resize
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 *>
; 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@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, 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@3

; 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@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@PAVaStringData@@@@UAE_NI@Z ENDP	; aVector<aStringData *>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	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@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]
	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@3:
	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@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

; 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@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@PAVaStringData@@@@UAEXI@Z ENDP	; aVector<aStringData *>::Delete
_TEXT	ENDS
PUBLIC	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
EXTRN	?IncRef@aStringData@@QAEXXZ:PROC		; aStringData::IncRef
;	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@5
	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@5:

; 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	?GetNext@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV1@XZ ; aListNode<aMapStruct<aString> >::GetNext
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\alist.h
;	COMDAT ?GetNext@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV1@XZ
_TEXT	SEGMENT
?GetNext@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV1@XZ PROC ; aListNode<aMapStruct<aString> >::GetNext, COMDAT
; _this$ = ecx

; 14   : 	aListNode<T>* GetNext() { return this->m_nextNode; };

	mov	eax, DWORD PTR [ecx]
	ret	0
?GetNext@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV1@XZ ENDP ; aListNode<aMapStruct<aString> >::GetNext
_TEXT	ENDS
PUBLIC	?GetData@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV?$aMapStruct@VaString@@@@XZ ; aListNode<aMapStruct<aString> >::GetData
; Function compile flags: /Ogtpy
;	COMDAT ?GetData@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV?$aMapStruct@VaString@@@@XZ
_TEXT	SEGMENT
?GetData@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV?$aMapStruct@VaString@@@@XZ PROC ; aListNode<aMapStruct<aString> >::GetData, COMDAT
; _this$ = ecx

; 15   : 	T* GetData() { return this->data; };

	mov	eax, DWORD PTR [ecx+4]
	ret	0
?GetData@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV?$aMapStruct@VaString@@@@XZ ENDP ; aListNode<aMapStruct<aString> >::GetData
_TEXT	ENDS
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	??_7gzObserverSoldier@@6B@			; gzObserverSoldier::`vftable'
PUBLIC	??0gzObserverSoldier@@QAE@XZ			; gzObserverSoldier::gzObserverSoldier
PUBLIC	??_R4gzObserverSoldier@@6B@			; gzObserverSoldier::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverSoldier@@@8			; gzObserverSoldier `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverSoldier@@8			; gzObserverSoldier::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverSoldier@@8			; gzObserverSoldier::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverSoldier@@8		; gzObserverSoldier::`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'
PUBLIC	?Created@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverSoldier::Created
PUBLIC	?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverSoldier::Destroyed
PUBLIC	?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzObserverSoldier::Killed
PUBLIC	?Custom@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ; gzObserverSoldier::Custom
EXTRN	??0nc_ScriptImpClass@@QAE@XZ:PROC		; nc_ScriptImpClass::nc_ScriptImpClass
EXTRN	??_EgzObserverSoldier@@UAEPAXI@Z:PROC		; gzObserverSoldier::`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	?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	?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
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@gzObserverSoldier@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverSoldier@@8 DD FLAT:??_R0?AVgzObserverSoldier@@@8 ; gzObserverSoldier::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverSoldier@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverSoldier@@8
rdata$r	SEGMENT
??_R2gzObserverSoldier@@8 DD FLAT:??_R1A@?0A@EA@gzObserverSoldier@@8 ; gzObserverSoldier::`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 ??_R3gzObserverSoldier@@8
rdata$r	SEGMENT
??_R3gzObserverSoldier@@8 DD 00H			; gzObserverSoldier::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverSoldier@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverSoldier@@@8
_DATA	SEGMENT
??_R0?AVgzObserverSoldier@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserverSoldier `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverSoldier@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverSoldier@@6B@
rdata$r	SEGMENT
??_R4gzObserverSoldier@@6B@ DD 00H			; gzObserverSoldier::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverSoldier@@@8
	DD	FLAT:??_R3gzObserverSoldier@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverSoldier@@6B@
CONST	SEGMENT
??_7gzObserverSoldier@@6B@ DD FLAT:??_R4gzObserverSoldier@@6B@ ; gzObserverSoldier::`vftable'
	DD	FLAT:??_EgzObserverSoldier@@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@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzObserverSoldier@@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@gzObserverSoldier@@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 ??0gzObserverSoldier@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverSoldier@@QAE@XZ PROC			; gzObserverSoldier::gzObserverSoldier, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverSoldier@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverSoldier@@QAE@XZ ENDP			; gzObserverSoldier::gzObserverSoldier
_TEXT	ENDS
PUBLIC	??_7gzObserverSpectator@@6B@			; gzObserverSpectator::`vftable'
PUBLIC	??0gzObserverSpectator@@QAE@XZ			; gzObserverSpectator::gzObserverSpectator
PUBLIC	??_R4gzObserverSpectator@@6B@			; gzObserverSpectator::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverSpectator@@@8			; gzObserverSpectator `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverSpectator@@8			; gzObserverSpectator::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverSpectator@@8			; gzObserverSpectator::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverSpectator@@8		; gzObserverSpectator::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Created@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverSpectator::Created
EXTRN	??_EgzObserverSpectator@@UAEPAXI@Z:PROC		; gzObserverSpectator::`vector deleting destructor'
EXTRN	?Killed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Killed
EXTRN	?Damaged@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0M@Z:PROC ; nc_ScriptImpClass::Damaged
;	COMDAT ??_R1A@?0A@EA@gzObserverSpectator@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverSpectator@@8 DD FLAT:??_R0?AVgzObserverSpectator@@@8 ; gzObserverSpectator::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverSpectator@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverSpectator@@8
rdata$r	SEGMENT
??_R2gzObserverSpectator@@8 DD FLAT:??_R1A@?0A@EA@gzObserverSpectator@@8 ; gzObserverSpectator::`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 ??_R3gzObserverSpectator@@8
rdata$r	SEGMENT
??_R3gzObserverSpectator@@8 DD 00H			; gzObserverSpectator::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverSpectator@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverSpectator@@@8
_DATA	SEGMENT
??_R0?AVgzObserverSpectator@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserverSpectator `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverSpectator@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverSpectator@@6B@
rdata$r	SEGMENT
??_R4gzObserverSpectator@@6B@ DD 00H			; gzObserverSpectator::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverSpectator@@@8
	DD	FLAT:??_R3gzObserverSpectator@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverSpectator@@6B@
CONST	SEGMENT
??_7gzObserverSpectator@@6B@ DD FLAT:??_R4gzObserverSpectator@@6B@ ; gzObserverSpectator::`vftable'
	DD	FLAT:??_EgzObserverSpectator@@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@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzObserverSpectator@@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@gzObserverSpectator@@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 ??0gzObserverSpectator@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverSpectator@@QAE@XZ PROC			; gzObserverSpectator::gzObserverSpectator, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverSpectator@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverSpectator@@QAE@XZ ENDP			; gzObserverSpectator::gzObserverSpectator
_TEXT	ENDS
PUBLIC	??_7gzFreeze_Player@@6B@			; gzFreeze_Player::`vftable'
PUBLIC	??0gzFreeze_Player@@QAE@XZ			; gzFreeze_Player::gzFreeze_Player
PUBLIC	??_R4gzFreeze_Player@@6B@			; gzFreeze_Player::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzFreeze_Player@@@8			; gzFreeze_Player `RTTI Type Descriptor'
PUBLIC	??_R3gzFreeze_Player@@8				; gzFreeze_Player::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzFreeze_Player@@8				; gzFreeze_Player::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzFreeze_Player@@8		; gzFreeze_Player::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EgzFreeze_Player@@UAEPAXI@Z:PROC		; gzFreeze_Player::`vector deleting destructor'
EXTRN	?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z:PROC ; nc_ScriptImpClass::Destroyed
;	COMDAT ??_R1A@?0A@EA@gzFreeze_Player@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzFreeze_Player@@8 DD FLAT:??_R0?AVgzFreeze_Player@@@8 ; gzFreeze_Player::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzFreeze_Player@@8
rdata$r	ENDS
;	COMDAT ??_R2gzFreeze_Player@@8
rdata$r	SEGMENT
??_R2gzFreeze_Player@@8 DD FLAT:??_R1A@?0A@EA@gzFreeze_Player@@8 ; gzFreeze_Player::`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 ??_R3gzFreeze_Player@@8
rdata$r	SEGMENT
??_R3gzFreeze_Player@@8 DD 00H				; gzFreeze_Player::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzFreeze_Player@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzFreeze_Player@@@8
_DATA	SEGMENT
??_R0?AVgzFreeze_Player@@@8 DD FLAT:??_7type_info@@6B@	; gzFreeze_Player `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzFreeze_Player@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzFreeze_Player@@6B@
rdata$r	SEGMENT
??_R4gzFreeze_Player@@6B@ DD 00H			; gzFreeze_Player::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzFreeze_Player@@@8
	DD	FLAT:??_R3gzFreeze_Player@@8
rdata$r	ENDS
;	COMDAT ??_7gzFreeze_Player@@6B@
CONST	SEGMENT
??_7gzFreeze_Player@@6B@ DD FLAT:??_R4gzFreeze_Player@@6B@ ; gzFreeze_Player::`vftable'
	DD	FLAT:??_EgzFreeze_Player@@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@gzFreeze_Player@@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@gzFreeze_Player@@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@gzFreeze_Player@@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 ??0gzFreeze_Player@@QAE@XZ
_TEXT	SEGMENT
??0gzFreeze_Player@@QAE@XZ PROC				; gzFreeze_Player::gzFreeze_Player, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzFreeze_Player@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzFreeze_Player@@QAE@XZ ENDP				; gzFreeze_Player::gzFreeze_Player
_TEXT	ENDS
PUBLIC	??1gzObserverSoldier@@UAE@XZ			; gzObserverSoldier::~gzObserverSoldier
EXTRN	??1nc_ScriptImpClass@@UAE@XZ:PROC		; nc_ScriptImpClass::~nc_ScriptImpClass
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverSoldier@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverSoldier@@UAE@XZ PROC			; gzObserverSoldier::~gzObserverSoldier, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverSoldier@@UAE@XZ ENDP			; gzObserverSoldier::~gzObserverSoldier
_TEXT	ENDS
PUBLIC	??1gzObserverSpectator@@UAE@XZ			; gzObserverSpectator::~gzObserverSpectator
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverSpectator@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverSpectator@@UAE@XZ PROC			; gzObserverSpectator::~gzObserverSpectator, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverSpectator@@UAE@XZ ENDP			; gzObserverSpectator::~gzObserverSpectator
_TEXT	ENDS
PUBLIC	??1gzFreeze_Player@@UAE@XZ			; gzFreeze_Player::~gzFreeze_Player
; Function compile flags: /Ogtpy
;	COMDAT ??1gzFreeze_Player@@UAE@XZ
_TEXT	SEGMENT
??1gzFreeze_Player@@UAE@XZ PROC				; gzFreeze_Player::~gzFreeze_Player, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzFreeze_Player@@UAE@XZ ENDP				; gzFreeze_Player::~gzFreeze_Player
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	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@5
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@5:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideString@@UAEPAXI@Z ENDP				; aWideString::`scalar deleting destructor'
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??_GgzPlayer@@UAEPAXI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??_GgzPlayer@@UAEPAXI@Z$0
__ehfuncinfo$??_GgzPlayer@@UAEPAXI@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??_GgzPlayer@@UAEPAXI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??_GgzPlayer@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___flags$ = 8						; size = 4
??_GgzPlayer@@UAEPAXI@Z PROC				; gzPlayer::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??_GgzPlayer@@UAEPAXI@Z
	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+80]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	test	BYTE PTR ___flags$[esp+16], 1
	je	SHORT $LN11@scalar@6
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@6:
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??_GgzPlayer@@UAEPAXI@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__ehhandler$??_GgzPlayer@@UAEPAXI@Z:
	mov	eax, OFFSET __ehfuncinfo$??_GgzPlayer@@UAEPAXI@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??_GgzPlayer@@UAEPAXI@Z ENDP				; gzPlayer::`scalar deleting destructor'
PUBLIC	??_C@_0BM@JCPKFMDI@msg?5?$CFls?5was?5kicked?5for?5AFK?4?$AA@ ; `string'
PUBLIC	??_C@_09GHGIFGIP@allow?5?$CFls?$AA@		; `string'
PUBLIC	??_C@_07PGNFCLHD@kick?5?$CFd?$AA@		; `string'
PUBLIC	??_C@_0HM@GBIAKFFH@pamsg?5?$CFd?5You?5are?5being?5marked?5as@ ; `string'
PUBLIC	__real@41f00000
PUBLIC	__real@3f000000
EXTRN	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z:PROC ; nc_BaseControllerClass::Find_Building
EXTRN	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z:PROC ; nc_BaseControllerClass::Find_Base
EXTRN	?In@stConsole@@SAXPBDZZ:PROC			; stConsole::In
EXTRN	?AddFrameTime@@YAXAAM_N@Z:PROC			; AddFrameTime
EXTRN	?IsActive@gzTestZoneManager@@QAE_NXZ:PROC	; gzTestZoneManager::IsActive
EXTRN	?gzTestZoneMgr@@3PAVgzTestZoneManager@@A:DWORD	; gzTestZoneMgr
EXTRN	?SubFrameTime@@YAXAAM_N@Z:PROC			; SubFrameTime
;	COMDAT ??_C@_0BM@JCPKFMDI@msg?5?$CFls?5was?5kicked?5for?5AFK?4?$AA@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_0BM@JCPKFMDI@msg?5?$CFls?5was?5kicked?5for?5AFK?4?$AA@ DB 'msg %ls '
	DB	'was kicked for AFK.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_09GHGIFGIP@allow?5?$CFls?$AA@
CONST	SEGMENT
??_C@_09GHGIFGIP@allow?5?$CFls?$AA@ DB 'allow %ls', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_07PGNFCLHD@kick?5?$CFd?$AA@
CONST	SEGMENT
??_C@_07PGNFCLHD@kick?5?$CFd?$AA@ DB 'kick %d', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0HM@GBIAKFFH@pamsg?5?$CFd?5You?5are?5being?5marked?5as@
CONST	SEGMENT
??_C@_0HM@GBIAKFFH@pamsg?5?$CFd?5You?5are?5being?5marked?5as@ DB 'pamsg %'
	DB	'd You are being marked as AFK and will be kicked in 30 second'
	DB	's. Type "!here" to remove yourself from AFK kick queue.', 00H ; `string'
CONST	ENDS
;	COMDAT __real@41f00000
CONST	SEGMENT
__real@41f00000 DD 041f00000r			; 30
CONST	ENDS
;	COMDAT __real@3f000000
CONST	SEGMENT
__real@3f000000 DD 03f000000r			; 0.5
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Think@gzPlayer@@UAEXXZ
_TEXT	SEGMENT
_i$60335 = -12						; size = 4
$T73694 = -8						; size = 4
$T73686 = -8						; size = 4
tv681 = -4						; size = 4
_this$ = -4						; size = 4
?Think@gzPlayer@@UAEXXZ PROC				; gzPlayer::Think, COMDAT
; _this$ = ecx

; 102  : {

	sub	esp, 12					; 0000000cH
	push	ebx
	mov	ebx, ecx

; 103  : 	if (this->m_isActive)

	cmp	BYTE PTR [ebx+88], 0
	mov	DWORD PTR _this$[esp+16], ebx
	je	$LN92@Think

; 104  : 	{
; 105  : 		this->m_lastPacketMs = nc_cNetwork::PServerConnection->RemoteList[this->GetPlayerData()->PlayerId]->LastReceivePacketMs;

	mov	eax, DWORD PTR [ebx+76]
	mov	ecx, DWORD PTR [eax+1884]
	mov	edx, DWORD PTR ?PServerConnection@nc_cNetwork@@2AAPAVnc_cConnection@@A ; nc_cNetwork::PServerConnection
	mov	eax, DWORD PTR [edx]
	mov	edx, DWORD PTR [eax+1352]
	mov	eax, DWORD PTR [edx+ecx*4]
	mov	ecx, DWORD PTR [eax+816]
	mov	DWORD PTR [ebx+92], ecx

; 106  : 		if (gzGameMgr->m_settings->m_EnableInfAmmo)

	mov	edx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [edx+72]
	cmp	BYTE PTR [eax+38], 0
	push	esi
	push	edi
	je	$LN99@Think

; 107  : 		{
; 108  : 			SubFrameTime(this->m_ammoCheckInt, true);

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

; 109  : 			if (this->m_ammoCheckInt < 0.0f)

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

; 110  : 			{
; 111  : 				if (this->GetPlayerData()->Owner.Reference)

	mov	ecx, DWORD PTR [ebx+76]
	mov	eax, DWORD PTR [ecx+20]
	test	eax, eax
	je	$LN99@Think

; 112  : 				{
; 113  : 					nc_SoldierGameObj *soldier = this->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj();

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

; 114  : 					if (soldier)

	test	esi, esi
	je	$LN16@Think

; 115  : 					{
; 116  : 						for (int i = 1; i < soldier->WeaponBag->Vector.Count(); i++)

	mov	eax, DWORD PTR [esi+1968]
	mov	ecx, 1
	cmp	DWORD PTR [eax+20], ecx
	mov	DWORD PTR _i$60335[esp+24], ecx
	jle	$LN16@Think
	push	ebp
	npad	12
$LL101@Think:
	mov	edx, DWORD PTR [eax+8]
	lea	edi, DWORD PTR [ecx*4]
	lea	eax, DWORD PTR [edx+edi]

; 117  : 						{
; 118  : 							if (soldier->WeaponBag->Vector[i]->WeaponDef->Style != 0 && soldier->WeaponBag->Vector[i]->WeaponDef->Style != 6)

	mov	edx, DWORD PTR [eax]
	mov	edx, DWORD PTR [edx]
	mov	edx, DWORD PTR [edx+28]
	test	edx, edx
	je	$LN17@Think
	cmp	edx, 6
	je	$LN17@Think

; 119  : 							{
; 120  : 								int ammo[2] = {
; 121  : 									soldier->WeaponBag->Vector[i]->LoadedBullets.Get(),

	mov	ecx, DWORD PTR [eax]
	add	ecx, 36					; 00000024H
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ebx, eax
	mov	eax, DWORD PTR [esi+1968]
	mov	eax, DWORD PTR [eax+8]

; 122  : 									soldier->WeaponBag->Vector[i]->InventoryBullets.Get(),

	mov	ecx, DWORD PTR [eax+edi]
	add	eax, edi
	add	ecx, 40					; 00000028H
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get

; 123  : 								};
; 124  : 								if (gzGameMgr->m_settings->m_NoReload)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	edx, DWORD PTR [ecx+72]
	cmp	BYTE PTR [edx+39], 0
	mov	ebp, eax
	je	SHORT $LN14@Think
	mov	eax, DWORD PTR [esi+1968]
	mov	eax, DWORD PTR [eax+8]

; 125  : 									ammo[0] = soldier->WeaponBag->Vector[i]->WeaponDef->ClipSize.Get();

	mov	ecx, DWORD PTR [eax+edi]
	mov	ecx, DWORD PTR [ecx]
	add	eax, edi
	add	ecx, 116				; 00000074H
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ebx, eax

; 126  : 								else

	jmp	SHORT $LN13@Think
$LN14@Think:

; 115  : 					{
; 116  : 						for (int i = 1; i < soldier->WeaponBag->Vector.Count(); i++)

	mov	edx, DWORD PTR [esi+1968]
	mov	eax, DWORD PTR [edx+8]
	add	eax, edi

; 127  : 									ammo[1] = soldier->WeaponBag->Vector[i]->WeaponDef->MaxInventoryRounds.Get();

	mov	eax, DWORD PTR [eax]
	mov	ecx, DWORD PTR [eax]
	add	ecx, 132				; 00000084H
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ebp, eax
$LN13@Think:

; 128  : 								soldier->WeaponBag->Vector[i]->LoadedBullets = ammo[0];

	mov	edx, DWORD PTR [esi+1968]
	mov	DWORD PTR $T73686[esp+28], ebx
	mov	eax, DWORD PTR [edx+8]
	lea	ecx, DWORD PTR $T73686[esp+28]
	push	ecx
	mov	ecx, DWORD PTR [eax+edi]
	add	ecx, 36					; 00000024H
	push	ecx
	call	?Set@nc_IntDataSafeClass@@QAG_NAAH@Z	; nc_IntDataSafeClass::Set

; 129  : 								soldier->WeaponBag->Vector[i]->InventoryBullets = ammo[1];

	mov	eax, DWORD PTR [esi+1968]
	mov	DWORD PTR $T73694[esp+28], ebp
	mov	ecx, DWORD PTR [eax+8]
	lea	edx, DWORD PTR $T73694[esp+28]
	push	edx
	mov	edx, DWORD PTR [ecx+edi]
	add	edx, 40					; 00000028H
	push	edx
	call	?Set@nc_IntDataSafeClass@@QAG_NAAH@Z	; nc_IntDataSafeClass::Set

; 130  : 								soldier->Set_Object_Dirty_Bit(nc_DB_OCCASIONAL, true);

	mov	eax, DWORD PTR [esi+8]
	mov	edx, DWORD PTR [eax+56]
	lea	ecx, DWORD PTR [esi+8]
	push	1
	push	3
	call	edx
	mov	ebx, DWORD PTR _this$[esp+28]
	mov	ecx, DWORD PTR _i$60335[esp+28]
$LN17@Think:
	mov	eax, DWORD PTR [esi+1968]
	add	ecx, 1
	cmp	ecx, DWORD PTR [eax+20]
	mov	DWORD PTR _i$60335[esp+28], ecx
	jl	$LL101@Think
	pop	ebp
$LN16@Think:

; 131  : 							}
; 132  : 						}
; 133  : 					}
; 134  : 					this->m_ammoCheckInt = INFAMMO_CHECK;

	fld	DWORD PTR __real@3f000000
	fstp	DWORD PTR [ebx+96]
$LN99@Think:

; 135  : 				}
; 136  : 			}
; 137  : 		}
; 138  : 		// Game for current map has ended. Waiting for next map load
; 139  : 		if (!gzGameMgr->IsGameOver())

	mov	eax, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	cmp	BYTE PTR [eax+52], 0
	jne	$LN97@Think

; 140  : 		{
; 141  : 			// AFK checker
; 142  : 			SubFrameTime(this->m_afk_countDelay, (this->m_afk_countDelay > 0.0f));

	fldz
	lea	esi, DWORD PTR [ebx+120]
	fcomp	DWORD PTR [esi]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN26@Think
	mov	al, 1
	jmp	SHORT $LN27@Think
$LN26@Think:
	xor	al, al
$LN27@Think:
	push	eax
	push	esi
	call	?SubFrameTime@@YAXAAM_N@Z		; SubFrameTime

; 143  : 
; 144  : 			// Delay expired
; 145  : 			if (this->m_afk_countDelay <= 0.0f && gzTestZoneMgr->IsActive())

	fldz
	fcomp	DWORD PTR [esi]
	add	esp, 8
	fnstsw	ax
	test	ah, 1
	jne	$LN97@Think
	mov	ecx, DWORD PTR ?gzTestZoneMgr@@3PAVgzTestZoneManager@@A ; gzTestZoneMgr
	call	?IsActive@gzTestZoneManager@@QAE_NXZ	; gzTestZoneManager::IsActive
	test	al, al
	je	$LN97@Think

; 146  : 			{
; 147  : 				if (this->GetPlayerData()->Score.Get() != this->m_afk_prevScore)

	mov	eax, DWORD PTR [ebx+76]
	lea	ecx, DWORD PTR [eax+4]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fcomp	DWORD PTR [ebx+108]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN10@Think

; 148  : 				{
; 149  : 					this->m_afk_prevScore	= this->GetPlayerData()->Score.Get();

	mov	eax, DWORD PTR [ebx+76]
	lea	ecx, DWORD PTR [eax+4]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR [ebx+108]

; 150  : 					this->m_afk_time		= 0.0f;

	fldz
	fstp	DWORD PTR [ebx+112]

; 151  : 				}
; 152  : 				else

	jmp	$LN97@Think
$LN10@Think:

; 153  : 				{
; 154  : 					AddFrameTime(this->m_afk_time, true);

	lea	esi, DWORD PTR [ebx+112]
	push	1
	push	esi
	call	?AddFrameTime@@YAXAAM_N@Z		; AddFrameTime
	add	esp, 8

; 155  : 
; 156  : 					// Make sure warn is sent first
; 157  : 					if (!this->m_afk_warnSent)

	cmp	BYTE PTR [ebx+116], 0
	jne	SHORT $LN8@Think

; 158  : 					{
; 159  : 						if ((gzGameMgr->m_settings->m_AllowAfkSeconds - this->m_afk_time) <= 30.0f)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	edx, DWORD PTR [ecx+72]
	fld	DWORD PTR [edx+80]
	fsub	DWORD PTR [esi]
	fcomp	DWORD PTR __real@41f00000
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	$LN97@Think

; 160  : 						{
; 161  : 							stConsole::In("pamsg %d You are being marked as AFK and will be kicked in 30 seconds. Type \"!here\" to remove yourself from AFK kick queue.", this->GetPlayerData()->PlayerId);

	mov	eax, DWORD PTR [ebx+76]
	mov	ecx, DWORD PTR [eax+1884]
	push	ecx
	push	OFFSET ??_C@_0HM@GBIAKFFH@pamsg?5?$CFd?5You?5are?5being?5marked?5as@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In

; 162  : 							this->SetAfkIsWarnSent(true);

	mov	BYTE PTR [ebx+116], 1

; 163  : 						}
; 164  : 					}

	jmp	SHORT $LN106@Think
$LN8@Think:

; 165  : 					else if (this->m_afk_time > gzGameMgr->m_settings->m_AllowAfkSeconds)

	mov	edx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [edx+72]
	fld	DWORD PTR [eax+80]
	fcomp	DWORD PTR [esi]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN97@Think

; 166  : 					{
; 167  : 						stConsole::In("kick %d", this->GetPlayerData()->PlayerId);

	mov	ecx, DWORD PTR [ebx+76]
	mov	edx, DWORD PTR [ecx+1884]
	push	edx
	push	OFFSET ??_C@_07PGNFCLHD@kick?5?$CFd?$AA@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In

; 168  : 						stConsole::In("allow %ls", this->m_name.GetString());

	mov	eax, DWORD PTR [ebx+84]
	add	esp, 8
	test	eax, eax
	je	SHORT $LN70@Think
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN71@Think
$LN70@Think:
	xor	eax, eax
$LN71@Think:
	push	eax
	push	OFFSET ??_C@_09GHGIFGIP@allow?5?$CFls?$AA@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In

; 169  : 						stConsole::In("msg %ls was kicked for AFK.", this->m_name.GetString());

	mov	eax, DWORD PTR [ebx+84]
	add	esp, 8
	test	eax, eax
	je	SHORT $LN76@Think
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN77@Think
$LN76@Think:
	xor	eax, eax
$LN77@Think:
	push	eax
	push	OFFSET ??_C@_0BM@JCPKFMDI@msg?5?$CFls?5was?5kicked?5for?5AFK?4?$AA@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In

; 170  : 						this->SetAfkTime(0.0f);

	fldz
	fstp	DWORD PTR [esi]
$LN106@Think:

; 169  : 						stConsole::In("msg %ls was kicked for AFK.", this->m_name.GetString());

	add	esp, 8
$LN97@Think:

; 171  : 					}
; 172  : 				}
; 173  : 			}
; 174  : 		}
; 175  : 
; 176  : 		if (this->m_slowLoad)

	cmp	BYTE PTR [ebx+124], 0
	je	$LN103@Think

; 177  : 		{
; 178  : 			// Player is loaded
; 179  : 			if (this->GetPlayerData()->IsInGame)

	mov	eax, DWORD PTR [ebx+76]
	cmp	BYTE PTR [eax+1980], 0
	je	$LN103@Think

; 180  : 			{
; 181  : 				// Slow loading refunds
; 182  : 				if (cGame->GameDuration_Seconds > 0 && cGame->Is_Gameplay_Permitted())

	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	ecx, DWORD PTR [ecx]
	cmp	DWORD PTR [ecx+604], 0
	jbe	SHORT $LN98@Think
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+132]
	call	eax
	test	al, al
	je	SHORT $LN98@Think

; 183  : 				{
; 184  : 					nc_BuildingGameObj *ref = nc_BaseControllerClass::Find_Base(this->GetPlayerData()->PlayerType.Get())->Find_Building(nc_REFINERY);

	mov	eax, DWORD PTR [ebx+76]
	push	3
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	push	eax
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	add	esp, 4
	mov	ecx, eax
	call	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z ; nc_BaseControllerClass::Find_Building

; 185  : 					if (ref)

	test	eax, eax
	je	SHORT $LN98@Think

; 186  : 						this->GetPlayerData()->Increment_Money(cGame->GameDuration_Seconds * floor(((nc_RefineryGameObjDef *)ref->definition)->FundsDistribedPerSec));

	mov	ecx, DWORD PTR [eax+1724]
	fld	DWORD PTR [ecx+168]
	mov	esi, DWORD PTR [ebx+76]
	mov	edi, DWORD PTR [esi]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	call	_floor
	mov	edx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	eax, DWORD PTR [edx]
	mov	ecx, DWORD PTR [eax+604]
	fild	DWORD PTR [eax+604]
	test	ecx, ecx
	jge	SHORT $LN105@Think
	fadd	DWORD PTR __real@4f800000
$LN105@Think:
	mov	edx, DWORD PTR [edi+16]
	fmulp	ST(1), ST(0)
	add	esp, 4
	mov	ecx, esi
	fstp	DWORD PTR [esp]
	call	edx
$LN98@Think:

; 187  : 				}
; 188  : 				this->m_slowLoad = false;
; 189  : 
; 190  : 				// Giving it an addition AFK check delay because most players won't get score in 30 secs after new map is loaded
; 191  : 				this->SetAfkDelay(30.0f);

	fld	DWORD PTR __real@41f00000
	mov	BYTE PTR [ebx+124], 0
	fstp	DWORD PTR [ebx+120]
$LN103@Think:
	pop	edi
	pop	esi
$LN92@Think:
	pop	ebx

; 192  : 			}
; 193  : 		}
; 194  : 	}
; 195  : }

	add	esp, 12					; 0000000cH
	ret	0
?Think@gzPlayer@@UAEXXZ ENDP				; gzPlayer::Think
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Damaged@gzPlayer@@UAEXAAVgzEventObjectDamage@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_Damaged@gzPlayer@@UAEXAAVgzEventObjectDamage@@@Z PROC ; gzPlayer::Object_Damaged, COMDAT
; _this$ = ecx

; 265  : 	if (this->m_isSpectator && evt.m_defender == this->GetSoldier())

	cmp	BYTE PTR [ecx+132], 0
	je	SHORT $LN9@Object_Dam
	mov	eax, DWORD PTR [ecx+76]
	cmp	DWORD PTR [eax+20], 0
	je	SHORT $LN4@Object_Dam
	mov	ecx, eax
	mov	edx, DWORD PTR [ecx+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	jmp	SHORT $LN5@Object_Dam
$LN4@Object_Dam:
	xor	eax, eax
$LN5@Object_Dam:
	mov	ecx, DWORD PTR _evt$[esp-4]
	cmp	DWORD PTR [ecx+28], eax
	jne	SHORT $LN9@Object_Dam

; 266  : 		evt.Skip();

	mov	BYTE PTR [ecx+40], 0
$LN9@Object_Dam:

; 267  : }

	ret	4
?Object_Damaged@gzPlayer@@UAEXAAVgzEventObjectDamage@@@Z ENDP ; gzPlayer::Object_Damaged
_TEXT	ENDS
PUBLIC	__real@38d1b717
PUBLIC	??_C@_0BF@DJMJHDPB@gzObserver_Parachute?$AA@	; `string'
;	COMDAT __real@38d1b717
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
__real@38d1b717 DD 038d1b717r			; 0.0001
CONST	ENDS
;	COMDAT ??_C@_0BF@DJMJHDPB@gzObserver_Parachute?$AA@
CONST	SEGMENT
??_C@_0BF@DJMJHDPB@gzObserver_Parachute?$AA@ DB 'gzObserver_Parachute', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Object_JumpComplete@gzPlayer@@UAEXAAVgzEventObjectJump@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_JumpComplete@gzPlayer@@UAEXAAVgzEventObjectJump@@@Z PROC ; gzPlayer::Object_JumpComplete, COMDAT
; _this$ = ecx

; 274  : {

	push	edi

; 275  : 	if (evt.m_soldier->Player == this->GetPlayerData())

	mov	edi, DWORD PTR _evt$[esp]
	mov	eax, DWORD PTR [edi+24]
	mov	edx, DWORD PTR [eax+2400]
	cmp	edx, DWORD PTR [ecx+76]
	jne	SHORT $LN2@Object_Jum
	push	esi

; 276  : 	{
; 277  : 		for (int i = 0; i < evt.m_soldier->Observers.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR [eax+1784], esi
	jle	SHORT $LN21@Object_Jum
	npad	2
$LL4@Object_Jum:

; 278  : 		{
; 279  : 			if (!stricmp(evt.m_soldier->Observers[i]->Get_Name(), "gzObserver_Parachute"))

	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@_0BF@DJMJHDPB@gzObserver_Parachute?$AA@
	call	eax
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN19@Object_Jum
	mov	eax, DWORD PTR [edi+24]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+1784]
	jl	SHORT $LL4@Object_Jum
	pop	esi
	pop	edi

; 282  : 				break;
; 283  : 			}
; 284  : 		}
; 285  : 	}
; 286  : }

	ret	4
$LN19@Object_Jum:

; 280  : 			{
; 281  : 				evt.m_soldier->Start_Observer_Timer(evt.m_soldier->Observers[i]->GetID(), 0.0001f, 2);

	mov	ecx, DWORD PTR [edi+24]
	fld	DWORD PTR __real@38d1b717
	mov	edx, DWORD PTR [ecx+1776]
	mov	eax, DWORD PTR [edx+esi*4]
	mov	edx, DWORD PTR [eax+4]
	push	2
	push	ecx
	fstp	DWORD PTR [esp]
	push	edx
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
$LN21@Object_Jum:
	pop	esi
$LN2@Object_Jum:
	pop	edi

; 282  : 				break;
; 283  : 			}
; 284  : 		}
; 285  : 	}
; 286  : }

	ret	4
?Object_JumpComplete@gzPlayer@@UAEXAAVgzEventObjectJump@@@Z ENDP ; gzPlayer::Object_JumpComplete
_TEXT	ENDS
PUBLIC	??_C@_0CE@MIMMCLDL@Your?5Proximity?5C4?5has?5been?5defus@ ; `string'
EXTRN	?Defuse@nc_C4GameObj@@QAEXXZ:PROC		; nc_C4GameObj::Defuse
;	COMDAT ??_C@_0CE@MIMMCLDL@Your?5Proximity?5C4?5has?5been?5defus@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_0CE@MIMMCLDL@Your?5Proximity?5C4?5has?5been?5defus@ DB 'Your Proxim'
	DB	'ity C4 has been defused.', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Bhs_Poke@gzPlayer@@UAEXAAVgzEventBhsPoke@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Bhs_Poke@gzPlayer@@UAEXAAVgzEventBhsPoke@@@Z PROC	; gzPlayer::Bhs_Poke, COMDAT
; _this$ = ecx

; 312  : {

	push	esi
	push	edi

; 313  : 	if (evt.GetPlayer() == this)

	mov	edi, DWORD PTR _evt$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [edi+24], esi
	jne	$LN1@Bhs_Poke

; 314  : 	{
; 315  : 		if (evt.GetPoked()->definition->Get_Class_ID() == 0x3006)

	mov	eax, DWORD PTR [edi+32]
	mov	ecx, DWORD PTR [eax+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12294				; 00003006H
	jne	$LN1@Bhs_Poke

; 316  : 		{
; 317  : 			nc_C4GameObj *c4 = gzStatic_Cast(nc_C4GameObj, evt.GetPoked());

	mov	edi, DWORD PTR [edi+32]

; 318  : 			if (c4->AmmoDef->AmmoType.Get() == 3) // Proximity C4

	mov	ecx, DWORD PTR [edi+1992]
	add	ecx, 140				; 0000008cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	eax, 3
	jne	$LN1@Bhs_Poke

; 319  : 			{
; 320  : 				if (c4->Player == this->GetPlayerData())

	mov	ecx, DWORD PTR [edi+1988]
	cmp	ecx, DWORD PTR [esi+76]
	jne	SHORT $LN1@Bhs_Poke

; 321  : 				{
; 322  : 					if (c4->NetworkID == this->m_lastPokeProxy && (cGame->GameDuration_Seconds - this->m_lastPokeTime) <= 2)

	mov	eax, DWORD PTR [edi+12]
	cmp	eax, DWORD PTR [esi+136]
	jne	SHORT $LN3@Bhs_Poke
	mov	edx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	ecx, DWORD PTR [edx]
	mov	edx, DWORD PTR [ecx+604]
	sub	edx, DWORD PTR [esi+144]
	cmp	edx, 2
	ja	SHORT $LN3@Bhs_Poke

; 323  : 					{
; 324  : 						this->m_pokeProxyCount++;

	add	DWORD PTR [esi+140], 1

; 325  : 						if (this->m_pokeProxyCount == 3)

	cmp	DWORD PTR [esi+140], 3
	jne	SHORT $LN1@Bhs_Poke

; 326  : 						{
; 327  : 							c4->Defuse();

	mov	ecx, edi
	call	?Defuse@nc_C4GameObj@@QAEXXZ		; nc_C4GameObj::Defuse

; 328  : 							PagePlayer(this->GetPlayerData()->PlayerId, "Your Proximity C4 has been defused.");

	mov	eax, DWORD PTR [esi+76]
	mov	ecx, DWORD PTR [eax+1884]
	push	OFFSET ??_C@_0CE@MIMMCLDL@Your?5Proximity?5C4?5has?5been?5defus@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	esi

; 336  : 					}
; 337  : 				}
; 338  : 			}
; 339  : 		}
; 340  : 	}
; 341  : }

	ret	4
$LN3@Bhs_Poke:

; 329  : 						}
; 330  : 					}
; 331  : 					else
; 332  : 					{
; 333  : 						this->m_lastPokeProxy  = c4->NetworkID;

	mov	DWORD PTR [esi+136], eax

; 334  : 						this->m_lastPokeTime   = cGame->GameDuration_Seconds;

	mov	edx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	eax, DWORD PTR [edx]
	mov	ecx, DWORD PTR [eax+604]
	mov	DWORD PTR [esi+144], ecx

; 335  : 						this->m_pokeProxyCount = 1;

	mov	DWORD PTR [esi+140], 1
$LN1@Bhs_Poke:
	pop	edi
	pop	esi

; 336  : 					}
; 337  : 				}
; 338  : 			}
; 339  : 		}
; 340  : 	}
; 341  : }

	ret	4
?Bhs_Poke@gzPlayer@@UAEXAAVgzEventBhsPoke@@@Z ENDP	; gzPlayer::Bhs_Poke
_TEXT	ENDS
PUBLIC	?Delete@gzPlayerManager@@UAEXXZ			; gzPlayerManager::Delete
; Function compile flags: /Ogtpy
;	COMDAT ?Delete@gzPlayerManager@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzPlayerManager@@UAEXXZ PROC			; gzPlayerManager::Delete, COMDAT
; _this$ = ecx

; 353  : 	this->m_list.RemoveAll();

	mov	ecx, OFFSET ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A ; gzPlayerManager::m_list
	jmp	?RemoveAll@?$aList@VgzPlayer@@@@UAEXXZ	; aList<gzPlayer>::RemoveAll
?Delete@gzPlayerManager@@UAEXXZ ENDP			; gzPlayerManager::Delete
_TEXT	ENDS
PUBLIC	?ChildObjCreation@gzPlayerManager@@UAEXPAVgzBase@@@Z ; gzPlayerManager::ChildObjCreation
; Function compile flags: /Ogtpy
;	COMDAT ?ChildObjCreation@gzPlayerManager@@UAEXPAVgzBase@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?ChildObjCreation@gzPlayerManager@@UAEXPAVgzBase@@@Z PROC ; gzPlayerManager::ChildObjCreation, COMDAT
; _this$ = ecx

; 357  : 	this->m_list.AddTail(gzStatic_Cast(gzPlayer, obj));

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	80					; 00000050H
	push	OFFSET ??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new
	mov	ecx, DWORD PTR _obj$[esp+12]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [eax], 0
	mov	DWORD PTR [eax+4], ecx
	cmp	DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+8, 0
	jne	SHORT $LN4@ChildObjCr
	mov	DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+8, eax
$LN4@ChildObjCr:
	mov	ecx, DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+12
	test	ecx, ecx
	je	SHORT $LN9@ChildObjCr
	mov	DWORD PTR [ecx], eax
$LN9@ChildObjCr:
	add	DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+4, 1
	mov	DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+12, eax

; 358  : }

	ret	4
?ChildObjCreation@gzPlayerManager@@UAEXPAVgzBase@@@Z ENDP ; gzPlayerManager::ChildObjCreation
_TEXT	ENDS
PUBLIC	?ChildObjDeletion@gzPlayerManager@@UAEXPAVgzBase@@@Z ; gzPlayerManager::ChildObjDeletion
; Function compile flags: /Ogtpy
;	COMDAT ?ChildObjDeletion@gzPlayerManager@@UAEXPAVgzBase@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?ChildObjDeletion@gzPlayerManager@@UAEXPAVgzBase@@@Z PROC ; gzPlayerManager::ChildObjDeletion, COMDAT
; _this$ = ecx

; 361  : 	this->m_list.Remove(gzStatic_Cast(gzPlayer, obj));

	mov	ecx, OFFSET ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A ; gzPlayerManager::m_list
	jmp	?Remove@?$aList@VgzPlayer@@@@UAEPAV?$aListNode@VgzPlayer@@@@PAVgzPlayer@@@Z ; aList<gzPlayer>::Remove
?ChildObjDeletion@gzPlayerManager@@UAEXPAVgzBase@@@Z ENDP ; gzPlayerManager::ChildObjDeletion
_TEXT	ENDS
PUBLIC	?Level_Loaded@gzPlayerManager@@UAEXXZ		; gzPlayerManager::Level_Loaded
; Function compile flags: /Ogtpy
;	COMDAT ?Level_Loaded@gzPlayerManager@@UAEXXZ
_TEXT	SEGMENT
?Level_Loaded@gzPlayerManager@@UAEXXZ PROC		; gzPlayerManager::Level_Loaded, COMDAT
; _this$ = ecx

; 373  : {

	push	esi

; 374  : 	aListNode<gzPlayer> *pList = gzPlayerManager::m_list.GetHead();

	mov	esi, DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+8

; 375  : 	while (pList)

	test	esi, esi
	je	SHORT $LN3@Level_Load
	npad	5
$LL4@Level_Load:

; 376  : 	{
; 377  : 		if (!pList->GetData()->IsActive())

	mov	ecx, DWORD PTR [esi+4]
	cmp	BYTE PTR [ecx+88], 0
	jne	SHORT $LN2@Level_Load

; 378  : 			pList->GetData()->SetDeletePending();

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

; 379  : 		else

	jmp	SHORT $LN25@Level_Load
$LN2@Level_Load:

; 380  : 		{
; 381  : 			pList->GetData()->GetWeaponPack()->m_list.Clear();

	mov	ecx, DWORD PTR [ecx+60]
	mov	eax, DWORD PTR [ecx+24]
	mov	edx, DWORD PTR [eax+4]
	add	ecx, 24					; 00000018H
	call	edx

; 382  : 			pList->GetData()->SetAfkPrevScore(0.0f);

	fldz
	mov	eax, DWORD PTR [esi+4]
	fstp	DWORD PTR [eax+108]

; 383  : 			pList->GetData()->SetIsSlowLoading(true);

	mov	BYTE PTR [eax+124], 1
$LN25@Level_Load:

; 384  : 		}
; 385  : 		pList = pList->GetNext();

	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL4@Level_Load
$LN3@Level_Load:
	pop	esi

; 386  : 	}
; 387  : }

	ret	0
?Level_Loaded@gzPlayerManager@@UAEXXZ ENDP		; gzPlayerManager::Level_Loaded
_TEXT	ENDS
PUBLIC	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z	; gzPlayerManager::Find
; Function compile flags: /Ogtpy
;	COMDAT ?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z
_TEXT	SEGMENT
_pID$ = 8						; size = 4
?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z PROC		; gzPlayerManager::Find, COMDAT

; 432  : 	if (pID >= 1 && pID <= 127 && nc_cNetwork::PServerConnection->RemoteList[pID])

	mov	edx, DWORD PTR _pID$[esp-4]
	lea	eax, DWORD PTR [edx-1]
	cmp	eax, 126				; 0000007eH
	ja	SHORT $LN2@Find
	mov	ecx, DWORD PTR ?PServerConnection@nc_cNetwork@@2AAPAVnc_cConnection@@A ; nc_cNetwork::PServerConnection
	mov	eax, DWORD PTR [ecx]
	mov	ecx, DWORD PTR [eax+1352]
	cmp	DWORD PTR [ecx+edx*4], 0
	je	SHORT $LN2@Find

; 433  : 	{
; 434  : 		for (aListNode<gzPlayer> *pList = gzPlayerManager::m_list.GetHead(); pList != NULL; pList = pList->GetNext())

	mov	eax, DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+8
	test	eax, eax
	je	SHORT $LN2@Find
	npad	7
$LL10@Find:

; 435  : 		{
; 436  : 			if (pList->GetData()->GetPlayerData()->IsActive && pList->GetData()->GetPlayerData()->PlayerId == pID)

	mov	ecx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR [ecx+76]
	cmp	BYTE PTR [ecx+1981], 0
	je	SHORT $LN3@Find
	cmp	DWORD PTR [ecx+1884], edx
	je	SHORT $LN23@Find
$LN3@Find:

; 433  : 	{
; 434  : 		for (aListNode<gzPlayer> *pList = gzPlayerManager::m_list.GetHead(); pList != NULL; pList = pList->GetNext())

	mov	eax, DWORD PTR [eax]
	test	eax, eax
	jne	SHORT $LL10@Find
$LN2@Find:

; 438  : 		}
; 439  : 	}
; 440  : 	return NULL;

	xor	eax, eax

; 441  : }

	ret	0
$LN23@Find:

; 437  : 				return pList->GetData();

	mov	eax, DWORD PTR [eax+4]

; 441  : }

	ret	0
?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ENDP		; gzPlayerManager::Find
_TEXT	ENDS
PUBLIC	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
; Function compile flags: /Ogtpy
;	COMDAT ?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z
_TEXT	SEGMENT
_pData$ = 8						; size = 4
?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z PROC ; gzPlayerManager::Find, COMDAT

; 444  : 	for (aListNode<gzPlayer> *pList = gzPlayerManager::m_list.GetHead(); pList != NULL; pList = pList->GetNext())

	mov	eax, DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+8
	test	eax, eax
	je	SHORT $LN2@Find@2
	mov	ecx, DWORD PTR _pData$[esp-4]
	npad	3
$LL9@Find@2:

; 445  : 	{
; 446  : 		if (pList->GetData()->GetPlayerData() == pData)

	mov	edx, DWORD PTR [eax+4]
	cmp	DWORD PTR [edx+76], ecx
	je	SHORT $LN18@Find@2
	mov	eax, DWORD PTR [eax]
	test	eax, eax
	jne	SHORT $LL9@Find@2
$LN2@Find@2:

; 448  : 	}
; 449  : 	return NULL;

	xor	eax, eax

; 450  : }

	ret	0
$LN18@Find@2:

; 447  : 			return pList->GetData();

	mov	eax, edx

; 450  : }

	ret	0
?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ENDP ; gzPlayerManager::Find
_TEXT	ENDS
PUBLIC	?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ; gzPlayerManager::Find
EXTRN	?Compare@aWideString@@QBE_NABV1@H_N@Z:PROC	; aWideString::Compare
;	COMDAT xdata$x
; File d:\source code\alib\include\alist.h
xdata$x	SEGMENT
__unwindtable$?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z$1
__ehfuncinfo$?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z
_TEXT	SEGMENT
$T73988 = -32						; size = 8
$T73987 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_name$ = 8						; size = 4
?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z PROC ; gzPlayerManager::Find, COMDAT

; 452  : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	ebx
	push	esi

; 453  : 	for (aListNode<gzPlayer> *pList = gzPlayerManager::m_list.GetHead(); pList != NULL; pList = pList->GetNext())

	mov	esi, DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+8
	test	esi, esi
	push	edi
	je	SHORT $LN2@Find@3
	mov	edi, DWORD PTR _name$[ebp]
$LN11@Find@3:

; 454  : 	{
; 455  : 		if (pList->GetData()->GetPlayerName().Compare(name))

	push	edi
	lea	ecx, DWORD PTR $T73988[esp+52]
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, DWORD PTR [esi+4]
	lea	eax, DWORD PTR $T73987[esp+48]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+60], 0
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	push	0
	push	-1
	lea	ecx, DWORD PTR $T73988[esp+56]
	push	ecx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+68], 1
	call	?Compare@aWideString@@QBE_NABV1@H_N@Z	; aWideString::Compare
	lea	ecx, DWORD PTR $T73987[esp+48]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+56], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T73988[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	SHORT $LN24@Find@3
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LN11@Find@3
$LN2@Find@3:

; 457  : 	}
; 458  : 	return NULL;

	xor	eax, eax

; 459  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$LN24@Find@3:

; 456  : 			return pList->GetData();

	mov	eax, DWORD PTR [esi+4]

; 459  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z$0:
	lea	ecx, DWORD PTR $T73988[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z$1:
	lea	ecx, DWORD PTR $T73987[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ENDP ; gzPlayerManager::Find
PUBLIC	?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ; gzPlayerManager::FindByPartName
EXTRN	?Contain@aWideString@@QBE_NABV1@H_N@Z:PROC	; aWideString::Contain
;	COMDAT xdata$x
; File d:\source code\alib\include\alist.h
xdata$x	SEGMENT
__unwindtable$?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z$1
__ehfuncinfo$?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z
_TEXT	SEGMENT
$T74025 = -37						; size = 1
$T74030 = -36						; size = 4
$T74027 = -32						; size = 8
$T74026 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_name$ = 8						; size = 4
?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z PROC ; gzPlayerManager::FindByPartName, COMDAT

; 461  : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 32					; 00000020H
	push	ebx
	push	esi
	xor	ebx, ebx
	push	edi

; 462  : 	for (aListNode<gzPlayer> *pList = gzPlayerManager::m_list.GetHead(); pList != NULL; pList = pList->GetNext())

	mov	DWORD PTR $T74030[esp+56], ebx
	mov	esi, DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+8

; 463  : 	{
; 464  : 		if (pList->GetData()->GetPlayerData()->IsActive && pList->GetData()->GetPlayerName().Contain(name))

	xor	edi, edi
	cmp	esi, edi
	je	$LN2@FindByPart
	npad	9

; 462  : 	for (aListNode<gzPlayer> *pList = gzPlayerManager::m_list.GetHead(); pList != NULL; pList = pList->GetNext())

$LL17@FindByPart:

; 463  : 	{
; 464  : 		if (pList->GetData()->GetPlayerData()->IsActive && pList->GetData()->GetPlayerName().Contain(name))

	mov	eax, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [eax+76]
	cmp	BYTE PTR [eax+1981], 0
	je	SHORT $LN7@FindByPart
	mov	eax, DWORD PTR _name$[ebp]
	push	eax
	lea	ecx, DWORD PTR $T74027[esp+60]
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, DWORD PTR [esi+4]
	lea	edx, DWORD PTR $T74026[esp+56]
	or	ebx, 1
	push	edx
	mov	DWORD PTR __$EHRec$[esp+68], edi
	mov	DWORD PTR $T74030[esp+60], ebx
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	push	edi
	push	-1
	lea	ecx, DWORD PTR $T74027[esp+64]
	push	ecx
	or	ebx, 2
	mov	ecx, eax
	mov	DWORD PTR __$EHRec$[esp+76], 1
	mov	DWORD PTR $T74030[esp+68], ebx
	call	?Contain@aWideString@@QBE_NABV1@H_N@Z	; aWideString::Contain
	test	al, al
	mov	BYTE PTR $T74025[esp+56], 1
	jne	SHORT $LN8@FindByPart
$LN7@FindByPart:
	mov	BYTE PTR $T74025[esp+56], 0
$LN8@FindByPart:
	test	bl, 2
	mov	DWORD PTR __$EHRec$[esp+64], edi
	je	SHORT $LN13@FindByPart
	and	ebx, -3					; fffffffdH
	lea	ecx, DWORD PTR $T74026[esp+56]
	mov	DWORD PTR $T74030[esp+56], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN13@FindByPart:
	test	bl, 1
	mov	DWORD PTR __$EHRec$[esp+64], -1
	je	SHORT $LN14@FindByPart
	lea	ecx, DWORD PTR $T74027[esp+56]
	and	ebx, -2					; fffffffeH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN14@FindByPart:
	cmp	BYTE PTR $T74025[esp+56], 0
	jne	SHORT $LN34@FindByPart
	mov	esi, DWORD PTR [esi]
	cmp	esi, edi
	jne	$LL17@FindByPart
$LN2@FindByPart:

; 466  : 	}
; 467  : 	return NULL;

	xor	eax, eax

; 468  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+56]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$LN34@FindByPart:

; 465  : 			return pList->GetData();

	mov	eax, DWORD PTR [esi+4]

; 468  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+56]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z$0:
	mov	eax, DWORD PTR $T74030[ebp]
	and	eax, 1
	je	$LN10@FindByPart
	and	DWORD PTR $T74030[ebp], -2		; fffffffeH
	lea	ecx, DWORD PTR $T74027[ebp]
	jmp	??1aWideString@@UAE@XZ
$LN10@FindByPart:
	ret	0
__unwindfunclet$?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z$1:
	mov	eax, DWORD PTR $T74030[ebp]
	and	eax, 2
	je	$LN12@FindByPart
	and	DWORD PTR $T74030[ebp], -3		; fffffffdH
	lea	ecx, DWORD PTR $T74026[ebp]
	jmp	??1aWideString@@UAE@XZ
$LN12@FindByPart:
	ret	0
__ehhandler$?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ENDP ; gzPlayerManager::FindByPartName
PUBLIC	?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z ; gzPlayerManager::FindByPartNameCount
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z$1
__ehfuncinfo$?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z
_TEXT	SEGMENT
$T74078 = -41						; size = 1
$T74083 = -40						; size = 4
_count$ = -36						; size = 4
$T74080 = -32						; size = 8
$T74079 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_name$ = 8						; size = 4
?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z PROC ; gzPlayerManager::FindByPartNameCount, COMDAT

; 470  : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 32					; 00000020H
	push	ebx
	xor	ebx, ebx
	push	esi

; 471  : 	int count = 0;

	mov	DWORD PTR $T74083[esp+52], ebx

; 472  : 	for (aListNode<gzPlayer> *pList = gzPlayerManager::m_list.GetHead(); pList != NULL; pList = pList->GetNext())

	mov	esi, DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+8
	xor	eax, eax
	test	esi, esi
	push	edi
	mov	DWORD PTR _count$[esp+56], eax
	je	$LN2@FindByPart@2
	mov	edi, DWORD PTR _name$[ebp]
	npad	2
$LL17@FindByPart@2:

; 473  : 	{
; 474  : 		if (pList->GetData()->GetPlayerData()->IsActive && pList->GetData()->GetPlayerName().Contain(name))

	mov	eax, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [eax+76]
	cmp	BYTE PTR [eax+1981], 0
	je	SHORT $LN7@FindByPart@2
	push	edi
	lea	ecx, DWORD PTR $T74080[esp+60]
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, DWORD PTR [esi+4]
	lea	eax, DWORD PTR $T74079[esp+56]
	or	ebx, 1
	push	eax
	mov	DWORD PTR __$EHRec$[esp+68], 0
	mov	DWORD PTR $T74083[esp+60], ebx
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	push	0
	push	-1
	lea	ecx, DWORD PTR $T74080[esp+64]
	push	ecx
	or	ebx, 2
	mov	ecx, eax
	mov	DWORD PTR __$EHRec$[esp+76], 1
	mov	DWORD PTR $T74083[esp+68], ebx
	call	?Contain@aWideString@@QBE_NABV1@H_N@Z	; aWideString::Contain
	test	al, al
	mov	BYTE PTR $T74078[esp+56], 1
	jne	SHORT $LN8@FindByPart@2
$LN7@FindByPart@2:
	mov	BYTE PTR $T74078[esp+56], 0
$LN8@FindByPart@2:
	test	bl, 2
	mov	DWORD PTR __$EHRec$[esp+64], 0
	je	SHORT $LN13@FindByPart@2
	and	ebx, -3					; fffffffdH
	lea	ecx, DWORD PTR $T74079[esp+56]
	mov	DWORD PTR $T74083[esp+56], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN13@FindByPart@2:
	test	bl, 1
	mov	DWORD PTR __$EHRec$[esp+64], -1
	je	SHORT $LN14@FindByPart@2
	lea	ecx, DWORD PTR $T74080[esp+56]
	and	ebx, -2					; fffffffeH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN14@FindByPart@2:
	cmp	BYTE PTR $T74078[esp+56], 0
	je	SHORT $LN3@FindByPart@2

; 475  : 			count++;

	add	DWORD PTR _count$[esp+56], 1
$LN3@FindByPart@2:

; 472  : 	for (aListNode<gzPlayer> *pList = gzPlayerManager::m_list.GetHead(); pList != NULL; pList = pList->GetNext())

	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	$LL17@FindByPart@2

; 476  : 	}
; 477  : 	return count;

	mov	eax, DWORD PTR _count$[esp+56]
$LN2@FindByPart@2:

; 478  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+56]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z$0:
	mov	eax, DWORD PTR $T74083[ebp]
	and	eax, 1
	je	$LN10@FindByPart@2
	and	DWORD PTR $T74083[ebp], -2		; fffffffeH
	lea	ecx, DWORD PTR $T74080[ebp]
	jmp	??1aWideString@@UAE@XZ
$LN10@FindByPart@2:
	ret	0
__unwindfunclet$?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z$1:
	mov	eax, DWORD PTR $T74083[ebp]
	and	eax, 2
	je	$LN12@FindByPart@2
	and	DWORD PTR $T74083[ebp], -3		; fffffffdH
	lea	ecx, DWORD PTR $T74079[ebp]
	jmp	??1aWideString@@UAE@XZ
$LN12@FindByPart@2:
	ret	0
__ehhandler$?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z ENDP ; gzPlayerManager::FindByPartNameCount
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzSerialManager@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzSerialManager@@UAEPAXI@Z PROC			; gzSerialManager::`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@7
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@7:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzSerialManager@@UAEPAXI@Z ENDP			; gzSerialManager::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_09KOKHHBLN@_PURCHASE?$AA@			; `string'
PUBLIC	??_C@_0BD@MIJIJJJM@?$CFls?5purchased?5a?5?$CFs?$AA@ ; `string'
PUBLIC	??_C@_0O@GJIAFLPK@CnC_Visceroid?$AA@		; `string'
PUBLIC	??_C@_08BBODIPD@Taunt9?08?$AA@			; `string'
PUBLIC	??_C@_08DODKEDFJ@Taunt8?07?$AA@			; `string'
PUBLIC	??_C@_08HPECGCEO@Taunt7?06?$AA@			; `string'
PUBLIC	??_C@_08OMNDFGOI@Taunt6?05?$AA@			; `string'
PUBLIC	??_C@_08OHHNMIEH@Taunt5?04?$AA@			; `string'
PUBLIC	??_C@_08BAIADJOF@Taunt4?03?$AA@			; `string'
PUBLIC	??_C@_08JEEMDABN@Taunt3?02?$AA@			; `string'
PUBLIC	??_C@_08HNNAELL@Taunt2?01?$AA@			; `string'
PUBLIC	??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@	; `string'
PUBLIC	??_C@_08MHDJKBE@Taunt1?00?$AA@			; `string'
PUBLIC	??_C@_0BH@LJBJODBN@gzKeyHook_NumpadToggle?$AA@	; `string'
PUBLIC	??_C@_0P@EHNJDAPA@ToggleNumPad?01?$AA@		; `string'
PUBLIC	??_C@_0BC@BBFEEOKM@VoteNo?0?$CBvote?5no?00?$AA@	; `string'
PUBLIC	??_C@_0BD@KBOBNBIG@gzKeyHook_WriteLog?$AA@	; `string'
PUBLIC	??_C@_0BE@LCIMCIJJ@VoteYes?0?$CBvote?5yes?00?$AA@ ; `string'
PUBLIC	??_C@_0N@MCFMPMIN@Parachute?011?$AA@		; `string'
PUBLIC	??_C@_0L@KGGNEPOO@VetInfo?010?$AA@		; `string'
PUBLIC	??_C@_0BB@PEIPGBOH@RequestRepairs?09?$AA@	; `string'
PUBLIC	??_C@_0M@LBPJBMP@Parachute?08?$AA@		; `string'
PUBLIC	??_C@_09KBJLBOIP@VetInfo?07?$AA@		; `string'
PUBLIC	??_C@_0N@HMPNLPEE@HarvUplink?06?$AA@		; `string'
PUBLIC	??_C@_0L@OOINGF@WeapDrop?05?$AA@		; `string'
PUBLIC	??_C@_09NDAEGNBA@C4Count?04?$AA@		; `string'
PUBLIC	??_C@_0M@OHOMOIKE@VehStatus?03?$AA@		; `string'
PUBLIC	??_C@_07BLGLDDPL@VehBL?02?$AA@			; `string'
PUBLIC	??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@	; `string'
PUBLIC	??_C@_09CEKGDFOP@VehBind?01?$AA@		; `string'
EXTRN	?gzLogger@@YAXPBD0ZZ:PROC			; gzLogger
EXTRN	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z:PROC ; gzTranslateManager::Get
EXTRN	?gzTranslator@@3PAVgzTranslateManager@@A:DWORD	; gzTranslator
EXTRN	?Grant@gzWeaponPackClass@@QAEXXZ:PROC		; gzWeaponPackClass::Grant
EXTRN	?gzWeaponMgr@@3PAVgzWeaponManager@@A:DWORD	; gzWeaponMgr
EXTRN	?gzCommands@@3PAUnc_ScriptCommands@@A:DWORD	; gzCommands
;	COMDAT ??_C@_09KOKHHBLN@_PURCHASE?$AA@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_09KOKHHBLN@_PURCHASE?$AA@ DB '_PURCHASE', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@MIJIJJJM@?$CFls?5purchased?5a?5?$CFs?$AA@
CONST	SEGMENT
??_C@_0BD@MIJIJJJM@?$CFls?5purchased?5a?5?$CFs?$AA@ DB '%ls purchased a %'
	DB	's', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@GJIAFLPK@CnC_Visceroid?$AA@
CONST	SEGMENT
??_C@_0O@GJIAFLPK@CnC_Visceroid?$AA@ DB 'CnC_Visceroid', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_08BBODIPD@Taunt9?08?$AA@
CONST	SEGMENT
??_C@_08BBODIPD@Taunt9?08?$AA@ DB 'Taunt9,8', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_08DODKEDFJ@Taunt8?07?$AA@
CONST	SEGMENT
??_C@_08DODKEDFJ@Taunt8?07?$AA@ DB 'Taunt8,7', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_08HPECGCEO@Taunt7?06?$AA@
CONST	SEGMENT
??_C@_08HPECGCEO@Taunt7?06?$AA@ DB 'Taunt7,6', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_08OMNDFGOI@Taunt6?05?$AA@
CONST	SEGMENT
??_C@_08OMNDFGOI@Taunt6?05?$AA@ DB 'Taunt6,5', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_08OHHNMIEH@Taunt5?04?$AA@
CONST	SEGMENT
??_C@_08OHHNMIEH@Taunt5?04?$AA@ DB 'Taunt5,4', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_08BAIADJOF@Taunt4?03?$AA@
CONST	SEGMENT
??_C@_08BAIADJOF@Taunt4?03?$AA@ DB 'Taunt4,3', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_08JEEMDABN@Taunt3?02?$AA@
CONST	SEGMENT
??_C@_08JEEMDABN@Taunt3?02?$AA@ DB 'Taunt3,2', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_08HNNAELL@Taunt2?01?$AA@
CONST	SEGMENT
??_C@_08HNNAELL@Taunt2?01?$AA@ DB 'Taunt2,1', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@
CONST	SEGMENT
??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@ DB 'gzKeyHook_Numpad', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_08MHDJKBE@Taunt1?00?$AA@
CONST	SEGMENT
??_C@_08MHDJKBE@Taunt1?00?$AA@ DB 'Taunt1,0', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@LJBJODBN@gzKeyHook_NumpadToggle?$AA@
CONST	SEGMENT
??_C@_0BH@LJBJODBN@gzKeyHook_NumpadToggle?$AA@ DB 'gzKeyHook_NumpadToggle'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@EHNJDAPA@ToggleNumPad?01?$AA@
CONST	SEGMENT
??_C@_0P@EHNJDAPA@ToggleNumPad?01?$AA@ DB 'ToggleNumPad,1', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@BBFEEOKM@VoteNo?0?$CBvote?5no?00?$AA@
CONST	SEGMENT
??_C@_0BC@BBFEEOKM@VoteNo?0?$CBvote?5no?00?$AA@ DB 'VoteNo,!vote no,0', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@KBOBNBIG@gzKeyHook_WriteLog?$AA@
CONST	SEGMENT
??_C@_0BD@KBOBNBIG@gzKeyHook_WriteLog?$AA@ DB 'gzKeyHook_WriteLog', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@LCIMCIJJ@VoteYes?0?$CBvote?5yes?00?$AA@
CONST	SEGMENT
??_C@_0BE@LCIMCIJJ@VoteYes?0?$CBvote?5yes?00?$AA@ DB 'VoteYes,!vote yes,0'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@MCFMPMIN@Parachute?011?$AA@
CONST	SEGMENT
??_C@_0N@MCFMPMIN@Parachute?011?$AA@ DB 'Parachute,11', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@KGGNEPOO@VetInfo?010?$AA@
CONST	SEGMENT
??_C@_0L@KGGNEPOO@VetInfo?010?$AA@ DB 'VetInfo,10', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@PEIPGBOH@RequestRepairs?09?$AA@
CONST	SEGMENT
??_C@_0BB@PEIPGBOH@RequestRepairs?09?$AA@ DB 'RequestRepairs,9', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@LBPJBMP@Parachute?08?$AA@
CONST	SEGMENT
??_C@_0M@LBPJBMP@Parachute?08?$AA@ DB 'Parachute,8', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09KBJLBOIP@VetInfo?07?$AA@
CONST	SEGMENT
??_C@_09KBJLBOIP@VetInfo?07?$AA@ DB 'VetInfo,7', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@HMPNLPEE@HarvUplink?06?$AA@
CONST	SEGMENT
??_C@_0N@HMPNLPEE@HarvUplink?06?$AA@ DB 'HarvUplink,6', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@OOINGF@WeapDrop?05?$AA@
CONST	SEGMENT
??_C@_0L@OOINGF@WeapDrop?05?$AA@ DB 'WeapDrop,5', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09NDAEGNBA@C4Count?04?$AA@
CONST	SEGMENT
??_C@_09NDAEGNBA@C4Count?04?$AA@ DB 'C4Count,4', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@OHOMOIKE@VehStatus?03?$AA@
CONST	SEGMENT
??_C@_0M@OHOMOIKE@VehStatus?03?$AA@ DB 'VehStatus,3', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_07BLGLDDPL@VehBL?02?$AA@
CONST	SEGMENT
??_C@_07BLGLDDPL@VehBL?02?$AA@ DB 'VehBL,2', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
CONST	SEGMENT
??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@ DB 'gzKeyHook_ProcCmd', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09CEKGDFOP@VehBind?01?$AA@
CONST	SEGMENT
??_C@_09CEKGDFOP@VehBind?01?$AA@ DB 'VehBind,1', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Created@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
$T74142 = 8						; size = 4
_obj$ = 8						; size = 4
?Created@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverSoldier::Created, COMDAT
; _this$ = ecx

; 702  : {

	push	ebx
	push	esi

; 703  : 	this->m_Soldier = obj->As_SoldierGameObj();

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

; 704  : 
; 705  : 	// Bot
; 706  : 	if (!this->m_Soldier->Player)

	xor	ebx, ebx
	mov	DWORD PTR [edi+28], eax
	cmp	DWORD PTR [eax+2400], ebx
	jne	SHORT $LN7@Created

; 707  : 	{
; 708  : 		this->Destroy_Script();

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

; 769  : }

	ret	4
$LN7@Created:

; 709  : 		return;
; 710  : 	}
; 711  : 
; 712  : 	// Force team
; 713  : 	if (gzGameMgr->m_settings->m_ForceTeam > -1)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	edx, DWORD PTR [ecx+72]
	cmp	DWORD PTR [edx+28], -1
	jle	SHORT $LN6@Created

; 714  : 	{
; 715  : 		this->m_Soldier->Player->PlayerType = gzGameMgr->m_settings->m_ForceTeam;

	mov	ecx, edx
	mov	edx, DWORD PTR [ecx+28]
	mov	DWORD PTR $T74142[esp+8], edx
	mov	edx, DWORD PTR [eax+2400]
	lea	ecx, DWORD PTR $T74142[esp+8]
	push	ecx
	add	edx, 1900				; 0000076cH
	push	edx
	call	?Set@nc_IntDataSafeClass@@QAG_NAAH@Z	; nc_IntDataSafeClass::Set

; 716  : 		this->m_Soldier->Set_Delete_Pending();

	mov	edi, DWORD PTR [edi+28]
	mov	eax, DWORD PTR [edi+8]
	mov	edx, DWORD PTR [eax+44]
	lea	ecx, DWORD PTR [edi+8]
	call	edx
	pop	edi
	pop	esi
	pop	ebx

; 769  : }

	ret	4
$LN6@Created:

; 717  : 		return;
; 718  : 	}
; 719  : 
; 720  : 	// Game type check
; 721  : 	if (gzGameMgr->m_settings->m_GameMode != GAMEMODE_AOW)

	cmp	DWORD PTR [edx+24], 1
	je	SHORT $LN5@Created

; 722  : 		this->m_Soldier->IsVisible = false;

	mov	BYTE PTR [eax+3365], bl
$LN5@Created:

; 723  : 
; 724  : 	this->m_tibDamage = false;

	mov	BYTE PTR [edi+32], bl

; 725  : 	this->m_fallDeath = false;

	mov	BYTE PTR [edi+33], bl

; 726  : 	this->m_squishDeath = false;

	mov	BYTE PTR [edi+34], bl

; 727  : 	this->m_killed = false;

	mov	BYTE PTR [edi+35], bl

; 728  : 	this->m_killer = NULL;

	mov	DWORD PTR [edi+52], ebx

; 729  : 
; 730  : 	gzCommands->Attach_Script(obj, "gzKeyHook_ProcCmd", "VehBind,1");

	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+120]
	push	OFFSET ??_C@_09CEKGDFOP@VehBind?01?$AA@
	push	OFFSET ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
	push	esi
	call	ecx

; 731  : 	gzCommands->Attach_Script(obj, "gzKeyHook_ProcCmd", "VehBL,2");

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+120]
	push	OFFSET ??_C@_07BLGLDDPL@VehBL?02?$AA@
	push	OFFSET ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
	push	esi
	call	eax

; 732  : 	gzCommands->Attach_Script(obj, "gzKeyHook_ProcCmd", "VehStatus,3");

	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+120]
	push	OFFSET ??_C@_0M@OHOMOIKE@VehStatus?03?$AA@
	push	OFFSET ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
	push	esi
	call	edx

; 733  : 	gzCommands->Attach_Script(obj, "gzKeyHook_ProcCmd", "C4Count,4");

	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+120]
	push	OFFSET ??_C@_09NDAEGNBA@C4Count?04?$AA@
	push	OFFSET ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
	push	esi
	call	ecx

; 734  : 	gzCommands->Attach_Script(obj, "gzKeyHook_ProcCmd", "WeapDrop,5");

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+120]
	push	OFFSET ??_C@_0L@OOINGF@WeapDrop?05?$AA@
	push	OFFSET ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
	push	esi
	call	eax

; 735  : 	gzCommands->Attach_Script(obj, "gzKeyHook_ProcCmd", "HarvUplink,6");

	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+120]
	push	OFFSET ??_C@_0N@HMPNLPEE@HarvUplink?06?$AA@
	push	OFFSET ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
	push	esi
	call	edx

; 736  : 	gzCommands->Attach_Script(obj, "gzKeyHook_ProcCmd", "VetInfo,7");

	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+120]
	add	esp, 72					; 00000048H
	push	OFFSET ??_C@_09KBJLBOIP@VetInfo?07?$AA@
	push	OFFSET ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
	push	esi
	call	ecx

; 737  : 	gzCommands->Attach_Script(obj, "gzKeyHook_ProcCmd", "Parachute,8");

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+120]
	push	OFFSET ??_C@_0M@LBPJBMP@Parachute?08?$AA@
	push	OFFSET ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
	push	esi
	call	eax

; 738  : 	gzCommands->Attach_Script(obj, "gzKeyHook_ProcCmd", "RequestRepairs,9");

	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+120]
	push	OFFSET ??_C@_0BB@PEIPGBOH@RequestRepairs?09?$AA@
	push	OFFSET ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
	push	esi
	call	edx

; 739  : 	gzCommands->Attach_Script(obj, "gzKeyHook_ProcCmd", "VetInfo,10");

	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+120]
	push	OFFSET ??_C@_0L@KGGNEPOO@VetInfo?010?$AA@
	push	OFFSET ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
	push	esi
	call	ecx

; 740  : 	gzCommands->Attach_Script(obj, "gzKeyHook_ProcCmd", "Parachute,11");

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+120]
	push	OFFSET ??_C@_0N@MCFMPMIN@Parachute?011?$AA@
	push	OFFSET ??_C@_0BC@LCOKKIDC@gzKeyHook_ProcCmd?$AA@
	push	esi
	call	eax

; 741  : 	gzCommands->Attach_Script(obj, "gzKeyHook_WriteLog", "VoteYes,!vote yes,0");

	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+120]
	push	OFFSET ??_C@_0BE@LCIMCIJJ@VoteYes?0?$CBvote?5yes?00?$AA@
	push	OFFSET ??_C@_0BD@KBOBNBIG@gzKeyHook_WriteLog?$AA@
	push	esi
	call	edx
	add	esp, 72					; 00000048H

; 742  : 	gzCommands->Attach_Script(obj, "gzKeyHook_WriteLog", "VoteNo,!vote no,0");

	push	OFFSET ??_C@_0BC@BBFEEOKM@VoteNo?0?$CBvote?5no?00?$AA@
	push	OFFSET ??_C@_0BD@KBOBNBIG@gzKeyHook_WriteLog?$AA@
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+120]
	push	esi
	call	ecx

; 743  : 	gzCommands->Attach_Script(obj, "gzKeyHook_NumpadToggle", "ToggleNumPad,1");

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+120]
	push	OFFSET ??_C@_0P@EHNJDAPA@ToggleNumPad?01?$AA@
	push	OFFSET ??_C@_0BH@LJBJODBN@gzKeyHook_NumpadToggle?$AA@
	push	esi
	call	eax

; 744  : 	gzCommands->Attach_Script(obj, "gzKeyHook_Numpad","Taunt1,0");

	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+120]
	push	OFFSET ??_C@_08MHDJKBE@Taunt1?00?$AA@
	push	OFFSET ??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@
	push	esi
	call	edx

; 745  : 	gzCommands->Attach_Script(obj, "gzKeyHook_Numpad","Taunt2,1");

	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+120]
	push	OFFSET ??_C@_08HNNAELL@Taunt2?01?$AA@
	push	OFFSET ??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@
	push	esi
	call	ecx

; 746  : 	gzCommands->Attach_Script(obj, "gzKeyHook_Numpad","Taunt3,2");

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+120]
	push	OFFSET ??_C@_08JEEMDABN@Taunt3?02?$AA@
	push	OFFSET ??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@
	push	esi
	call	eax

; 747  : 	gzCommands->Attach_Script(obj, "gzKeyHook_Numpad","Taunt4,3");

	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+120]
	push	OFFSET ??_C@_08BAIADJOF@Taunt4?03?$AA@
	push	OFFSET ??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@
	push	esi
	call	edx

; 748  : 	gzCommands->Attach_Script(obj, "gzKeyHook_Numpad","Taunt5,4");

	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+120]
	add	esp, 72					; 00000048H
	push	OFFSET ??_C@_08OHHNMIEH@Taunt5?04?$AA@
	push	OFFSET ??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@
	push	esi
	call	ecx

; 749  : 	gzCommands->Attach_Script(obj, "gzKeyHook_Numpad","Taunt6,5");

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+120]
	push	OFFSET ??_C@_08OMNDFGOI@Taunt6?05?$AA@
	push	OFFSET ??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@
	push	esi
	call	eax

; 750  : 	gzCommands->Attach_Script(obj, "gzKeyHook_Numpad","Taunt7,6");

	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+120]
	push	OFFSET ??_C@_08HPECGCEO@Taunt7?06?$AA@
	push	OFFSET ??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@
	push	esi
	call	edx

; 751  : 	gzCommands->Attach_Script(obj, "gzKeyHook_Numpad","Taunt8,7");

	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+120]
	push	OFFSET ??_C@_08DODKEDFJ@Taunt8?07?$AA@
	push	OFFSET ??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@
	push	esi
	call	ecx

; 752  : 	gzCommands->Attach_Script(obj, "gzKeyHook_Numpad","Taunt9,8");

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+120]
	push	OFFSET ??_C@_08BBODIPD@Taunt9?08?$AA@
	push	OFFSET ??_C@_0BB@OFPPOKAF@gzKeyHook_Numpad?$AA@
	push	esi
	call	eax

; 753  : 
; 754  : 	if (!strstr(obj->definition->Get_Name(), "CnC_Visceroid"))

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	add	esp, 60					; 0000003cH
	call	eax
	push	OFFSET ??_C@_0O@GJIAFLPK@CnC_Visceroid?$AA@
	push	eax
	call	_strstr
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN2@Created

; 755  : 	{
; 756  : 		if (gzWeaponMgr->m_settings->Weapons.CarryOverOnCharacterPurchase)

	mov	ecx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	edx, DWORD PTR [ecx+40]
	cmp	BYTE PTR [edx+136], bl
	je	SHORT $LN2@Created

; 757  : 		{
; 758  : 			gzPlayer *pData = gzPlayerManager::Find(this->m_Soldier->Player);

	mov	eax, DWORD PTR [edi+28]
	mov	ecx, DWORD PTR [eax+2400]
	push	ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	add	esp, 4

; 759  : 			if (pData)

	cmp	eax, ebx
	je	SHORT $LN2@Created

; 760  : 				pData->GetWeaponPack()->Grant();

	mov	ecx, DWORD PTR [eax+60]
	call	?Grant@gzWeaponPackClass@@QAEXXZ	; gzWeaponPackClass::Grant
$LN2@Created:

; 761  : 		}
; 762  : 	}
; 763  : 
; 764  : 	if (gzGameMgr->m_settings->m_LogSoldierPurchase)

	mov	edx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [edx+72]
	cmp	BYTE PTR [eax+113], bl
	je	SHORT $LN1@Created

; 765  : 		gzLogger("_PURCHASE", "%ls purchased a %s",
; 766  : 		this->m_Soldier->Player->PlayerName.m_Buffer,
; 767  : 		gzTranslator->Get(this->m_Soldier)
; 768  : 	);

	mov	ecx, DWORD PTR [edi+28]
	push	ecx
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	mov	edx, DWORD PTR [edi+28]
	push	eax
	mov	eax, DWORD PTR [edx+2400]
	mov	ecx, DWORD PTR [eax+1880]
	push	ecx
	push	OFFSET ??_C@_0BD@MIJIJJJM@?$CFls?5purchased?5a?5?$CFs?$AA@
	push	OFFSET ??_C@_09KOKHHBLN@_PURCHASE?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 16					; 00000010H
$LN1@Created:
	pop	edi
	pop	esi
	pop	ebx

; 769  : }

	ret	4
?Created@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverSoldier::Created
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Custom@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
_TEXT	SEGMENT
_timerExist$ = -1					; size = 1
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@HH0@Z PROC ; gzObserverSoldier::Custom, COMDAT
; _this$ = ecx

; 771  : {

	push	ecx

; 772  : 	bool timerExist = false;
; 773  : 	switch (message)

	mov	eax, DWORD PTR _message$[esp]
	push	ebx
	mov	ebx, ecx
	xor	cl, cl
	cmp	eax, 306494				; 0004ad3eH
	push	esi
	mov	BYTE PTR _timerExist$[esp+12], cl
	jg	$LN15@Custom@3
	je	SHORT $LN8@Custom@3
	sub	eax, 306491				; 0004ad3bH
	je	SHORT $LN10@Custom@3
	sub	eax, 1
	jne	$LN1@Custom@3

; 777  : 			break;
; 778  : 		case 306492:
; 779  : 			this->m_squishDeath = param;

	cmp	DWORD PTR _param$[esp+8], eax
	pop	esi
	setne	al
	mov	BYTE PTR [ebx+34], al
	pop	ebx

; 801  : 			}
; 802  : 			break;
; 803  : 	}
; 804  : }

	pop	ecx
	ret	16					; 00000010H
$LN10@Custom@3:

; 774  : 	{
; 775  : 		case 306491:
; 776  : 			obj->Get_Position(&this->m_fallPos);

	mov	ecx, DWORD PTR _obj$[esp+8]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+56]
	add	ebx, 40					; 00000028H
	push	ebx
	call	eax
	pop	esi
	pop	ebx

; 801  : 			}
; 802  : 			break;
; 803  : 	}
; 804  : }

	pop	ecx
	ret	16					; 00000010H
$LN8@Custom@3:

; 780  : 			break;
; 781  : 		case 306494:
; 782  : 			for (int i = 0; i < obj->ObserverTimers.Count(); i++)

	fld	DWORD PTR __real@40400000
	push	ebp
	mov	ebp, DWORD PTR _obj$[esp+12]
	mov	esi, DWORD PTR [ebp+1804]
	xor	eax, eax
	test	esi, esi
	jle	SHORT $LN5@Custom@3
	push	edi
	mov	edi, DWORD PTR [ebp+1792]
	mov	edx, edi
$LN7@Custom@3:

; 783  : 			{
; 784  : 				if (obj->ObserverTimers[i]->TimerNum == 11)

	mov	ecx, DWORD PTR [edx]
	cmp	DWORD PTR [ecx+8], 11			; 0000000bH
	je	SHORT $LN27@Custom@3
	add	eax, 1
	add	edx, 4
	cmp	eax, esi
	jl	SHORT $LN7@Custom@3
	mov	cl, BYTE PTR _timerExist$[esp+20]
	jmp	SHORT $LN30@Custom@3
$LN27@Custom@3:

; 785  : 				{
; 786  : 					obj->ObserverTimers[i]->Time = 3.0f;

	mov	edx, DWORD PTR [edi+eax*4]
	fst	DWORD PTR [edx+4]

; 787  : 					timerExist = true;

	mov	cl, 1
$LN30@Custom@3:
	pop	edi
$LN5@Custom@3:

; 788  : 					break;
; 789  : 				}
; 790  : 			}
; 791  : 			this->m_tibDamage = param;

	cmp	DWORD PTR _param$[esp+12], 0
	setne	al

; 792  : 			if (!timerExist)

	test	cl, cl
	mov	BYTE PTR [ebx+32], al
	jne	SHORT $LN42@Custom@3

; 793  : 				obj->Start_Observer_Timer(this->GetID(), 3.0f, 11);

	push	11					; 0000000bH
	push	ecx
	mov	ecx, DWORD PTR [ebx+4]
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, ebp
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	ebp
	pop	esi
	pop	ebx

; 801  : 			}
; 802  : 			break;
; 803  : 	}
; 804  : }

	pop	ecx
	ret	16					; 00000010H
$LN15@Custom@3:

; 772  : 	bool timerExist = false;
; 773  : 	switch (message)

	cmp	eax, 1000000035				; 3b9aca23H
	jne	SHORT $LN1@Custom@3

; 794  : 			break;
; 795  : 
; 796  : 		case 1000000035:
; 797  : 			if ((obj->As_DamageableGameObj()->Defense.Health.Get() - (float)param) < 1.0f)

	mov	esi, DWORD PTR _obj$[esp+8]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1840				; 00000730H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fisub	DWORD PTR _param$[esp+8]
	fcomp	DWORD PTR __real@3f800000
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@Custom@3

; 798  : 			{
; 799  : 				this->m_fallDeath = true;
; 800  : 				obj->Start_Observer_Timer(this->GetID(), 0.0f, 10);

	fldz
	push	10					; 0000000aH
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR [ebx+4]
	push	ecx
	mov	ecx, esi
	mov	BYTE PTR [ebx+33], 1
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	esi
	pop	ebx

; 801  : 			}
; 802  : 			break;
; 803  : 	}
; 804  : }

	pop	ecx
	ret	16					; 00000010H
$LN42@Custom@3:

; 792  : 			if (!timerExist)

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

; 801  : 			}
; 802  : 			break;
; 803  : 	}
; 804  : }

	pop	ecx
	ret	16					; 00000010H
?Custom@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ENDP ; gzObserverSoldier::Custom
_TEXT	ENDS
PUBLIC	__real@bf800000
EXTRN	?Create@gzBackpackClass@@QAEXXZ:PROC		; gzBackpackClass::Create
EXTRN	?SetOwner@gzBackpackClass@@QAEXPAVnc_cPlayer@@@Z:PROC ; gzBackpackClass::SetOwner
EXTRN	?SetLive@gzBackpackClass@@QAEXM@Z:PROC		; gzBackpackClass::SetLive
EXTRN	?SetCanExpire@gzBackpackClass@@QAEX_N@Z:PROC	; gzBackpackClass::SetCanExpire
EXTRN	?GetPosition@gzBackpackClass@@QAEAAUnc_Vector3@@XZ:PROC ; gzBackpackClass::GetPosition
EXTRN	?SetWeaponPack@gzBackpackClass@@QAEXPAVgzWeaponPackClass@@@Z:PROC ; gzBackpackClass::SetWeaponPack
EXTRN	??0gzBackpackClass@@QAE@XZ:PROC			; gzBackpackClass::gzBackpackClass
EXTRN	?Append@gzWeaponPackClass@@QAEXPAV1@_N@Z:PROC	; gzWeaponPackClass::Append
EXTRN	?Add_Weapon@gzWeaponPackClass@@QAEXPBD@Z:PROC	; gzWeaponPackClass::Add_Weapon
EXTRN	?stRandom@@3VaRandom@@A:QWORD			; stRandom
EXTRN	??0gzWeaponPackClass@@QAE@_N@Z:PROC		; gzWeaponPackClass::gzWeaponPackClass
EXTRN	?GetWeaponsCount@gzWeaponPackClass@@QAEHXZ:PROC	; gzWeaponPackClass::GetWeaponsCount
EXTRN	??8aString@@QAE_NPBD@Z:PROC			; aString::operator==
;	COMDAT __real@bf800000
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
__real@bf800000 DD 0bf800000r			; -1
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z$1
__ehfuncinfo$?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
$T74196 = -28						; size = 4
$T74195 = -28						; size = 4
_pData$ = -24						; size = 4
$T74202 = -20						; size = 4
_bpDataIndex$60953 = -20				; size = 4
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverSoldier::Destroyed, COMDAT
; _this$ = ecx

; 810  : {

	push	-1
	push	__ehhandler$?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H

; 811  : 	gzPlayer *pData = gzPlayerManager::Find(this->m_Soldier->Player);

	mov	eax, DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+8
	test	eax, eax
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+32], esi
	je	$LN13@Destroyed@2
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR [ecx+2400]
$LL38@Destroyed@2:
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+76], edx
	je	SHORT $LN85@Destroyed@2
	mov	eax, DWORD PTR [eax]
	test	eax, eax
	jne	SHORT $LL38@Destroyed@2
	pop	esi

; 856  : 	}
; 857  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	4
$LN85@Destroyed@2:

; 811  : 	gzPlayer *pData = gzPlayerManager::Find(this->m_Soldier->Player);

	mov	eax, ecx

; 812  : 	if (pData && this->m_killed)

	test	eax, eax
	mov	DWORD PTR _pData$[esp+32], eax
	je	$LN13@Destroyed@2
	cmp	BYTE PTR [esi+35], 0
	je	$LN13@Destroyed@2

; 813  : 	{
; 814  : 		if (gzWeaponMgr->m_settings->Weapons.DropOnDeath)

	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [edx+40]
	cmp	BYTE PTR [eax+137], 0
	je	$LN7@Destroyed@2

; 815  : 		{
; 816  : 			int bpDataIndex = -1;
; 817  : 			for (unsigned int i = 0; i < gzWeaponMgr->m_settings->Backpack.DropData.Count(); i++)

	mov	ecx, DWORD PTR [eax+100]
	push	ebx
	push	ebp
	push	edi
	or	ebp, -1
	xor	edi, edi
	test	ecx, ecx
	mov	DWORD PTR _bpDataIndex$60953[esp+44], ebp
	jbe	SHORT $LN9@Destroyed@2
	npad	10
$LL11@Destroyed@2:
	mov	esi, DWORD PTR [eax+92]

; 818  : 			{
; 819  : 				if (gzWeaponMgr->m_settings->Backpack.DropData[i]->preset == obj->definition->Get_Name() &&
; 820  : 					gzWeaponMgr->m_settings->Backpack.DropData[i]->totalpercent > 0)

	mov	eax, DWORD PTR _obj$[esp+40]
	mov	ecx, DWORD PTR [eax+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	lea	ebx, DWORD PTR [edi*4]
	add	esi, ebx
	call	eax
	mov	ecx, DWORD PTR [esi]
	push	eax
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	je	SHORT $LN10@Destroyed@2
	mov	ecx, DWORD PTR [eax+40]
	mov	edx, DWORD PTR [ecx+92]
	mov	ecx, DWORD PTR [edx+ebx]
	cmp	DWORD PTR [ecx+24], 0
	jg	SHORT $LN86@Destroyed@2
$LN10@Destroyed@2:

; 815  : 		{
; 816  : 			int bpDataIndex = -1;
; 817  : 			for (unsigned int i = 0; i < gzWeaponMgr->m_settings->Backpack.DropData.Count(); i++)

	mov	eax, DWORD PTR [eax+40]
	add	edi, 1
	cmp	edi, DWORD PTR [eax+100]
	jb	SHORT $LL11@Destroyed@2

; 836  : 						if (percent >= randomPercent)

	jmp	SHORT $LN9@Destroyed@2
$LN86@Destroyed@2:

; 821  : 				{
; 822  : 					bpDataIndex = i;

	mov	ebp, edi
	mov	DWORD PTR _bpDataIndex$60953[esp+44], edi
$LN9@Destroyed@2:

; 823  : 					break;
; 824  : 				}
; 825  : 			}
; 826  : 			if (pData->GetWeaponPack()->GetWeaponsCount() > 0 || bpDataIndex != -1)

	mov	edx, DWORD PTR _pData$[esp+44]
	mov	ecx, DWORD PTR [edx+60]
	call	?GetWeaponsCount@gzWeaponPackClass@@QAEHXZ ; gzWeaponPackClass::GetWeaponsCount
	test	eax, eax
	jg	SHORT $LN93@Destroyed@2
	cmp	ebp, -1
	je	$LN95@Destroyed@2
$LN93@Destroyed@2:

; 827  : 			{
; 828  : 				gzWeaponPackClass *newPack = new gzWeaponPackClass(false);

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	828					; 0000033cH
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?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 $T74196[esp+44], eax
	xor	esi, esi
	cmp	eax, esi
	mov	DWORD PTR __$EHRec$[esp+52], esi
	je	SHORT $LN16@Destroyed@2
	push	esi
	mov	ecx, eax
	call	??0gzWeaponPackClass@@QAE@_N@Z		; gzWeaponPackClass::gzWeaponPackClass
	mov	ebx, eax
	mov	DWORD PTR $T74195[esp+44], eax
	jmp	SHORT $LN17@Destroyed@2
$LN16@Destroyed@2:
	xor	ebx, ebx
	mov	DWORD PTR $T74195[esp+44], ebx
$LN17@Destroyed@2:

; 829  : 				if (bpDataIndex != -1)

	cmp	ebp, -1
	mov	DWORD PTR __$EHRec$[esp+52], -1
	je	SHORT $LN91@Destroyed@2

; 830  : 				{
; 831  : 					int randomPercent = stRandom.Get_Int(1, 100);

	push	100					; 00000064H
	push	1
	mov	ecx, OFFSET ?stRandom@@3VaRandom@@A	; stRandom
	call	?Get_Int@aRandom@@QAEJJJ@Z		; aRandom::Get_Int

; 832  : 					int percent = 0;
; 833  : 					for (unsigned int i = 0; i < gzWeaponMgr->m_settings->Backpack.DropData[bpDataIndex]->m_weapons.Count(); i++)

	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	edx, DWORD PTR [edx+40]
	mov	edx, DWORD PTR [edx+92]
	mov	edi, DWORD PTR [edx+ebp*4]
	mov	edx, DWORD PTR [edi+20]
	xor	ecx, ecx
	test	edx, edx
	jbe	SHORT $LN91@Destroyed@2
	mov	edi, DWORD PTR [edi+12]
	mov	ebx, edi
$LL4@Destroyed@2:

; 834  : 					{
; 835  : 						percent += gzWeaponMgr->m_settings->Backpack.DropData[bpDataIndex]->m_weapons[i]->percent;

	mov	ebp, DWORD PTR [ebx]
	add	esi, DWORD PTR [ebp+8]

; 836  : 						if (percent >= randomPercent)

	cmp	esi, eax
	jge	SHORT $LN87@Destroyed@2
	add	ecx, 1
	add	ebx, 4
	cmp	ecx, edx
	jb	SHORT $LL4@Destroyed@2
	mov	ebx, DWORD PTR $T74195[esp+44]
	jmp	SHORT $LN91@Destroyed@2
$LN87@Destroyed@2:

; 837  : 						{
; 838  : 							newPack->m_backpackData = gzWeaponMgr->m_settings->Backpack.DropData[bpDataIndex]->m_weapons[i];

	mov	eax, DWORD PTR [edi+ecx*4]
	mov	ebx, DWORD PTR $T74195[esp+44]
	mov	DWORD PTR [ebx+44], eax

; 839  : 							newPack->Add_Weapon(gzWeaponMgr->m_settings->Backpack.DropData[bpDataIndex]->m_weapons[i]->powerup);

	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [edx+40]
	mov	edx, DWORD PTR [eax+92]
	mov	eax, DWORD PTR _bpDataIndex$60953[esp+44]
	mov	edx, DWORD PTR [edx+eax*4]
	mov	eax, DWORD PTR [edx+12]
	mov	ecx, DWORD PTR [eax+ecx*4]
	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	je	SHORT $LN74@Destroyed@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN75@Destroyed@2
$LN74@Destroyed@2:
	xor	eax, eax
$LN75@Destroyed@2:
	push	eax
	mov	ecx, ebx
	call	?Add_Weapon@gzWeaponPackClass@@QAEXPBD@Z ; gzWeaponPackClass::Add_Weapon
$LN91@Destroyed@2:

; 840  : 							break;
; 841  : 						}
; 842  : 					}
; 843  : 				}
; 844  : 				newPack->Append(pData->GetWeaponPack());

	mov	ecx, DWORD PTR _pData$[esp+44]
	mov	eax, DWORD PTR [ecx+60]
	push	0
	push	eax
	mov	ecx, ebx
	call	?Append@gzWeaponPackClass@@QAEXPAV1@_N@Z ; gzWeaponPackClass::Append

; 845  : 				gzBackpackClass *backpack = new gzBackpackClass;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	845					; 0000034dH
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	80					; 00000050H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74202[esp+44], eax
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+52], 1
	je	SHORT $LN20@Destroyed@2
	mov	ecx, eax
	call	??0gzBackpackClass@@QAE@XZ		; gzBackpackClass::gzBackpackClass
	mov	esi, eax
	jmp	SHORT $LN21@Destroyed@2
$LN20@Destroyed@2:
	xor	esi, esi
$LN21@Destroyed@2:

; 846  : 				backpack->SetWeaponPack(newPack);

	push	ebx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	?SetWeaponPack@gzBackpackClass@@QAEXPAVgzWeaponPackClass@@@Z ; gzBackpackClass::SetWeaponPack

; 847  : 				obj->Get_Position(&backpack->GetPosition());

	mov	ebp, DWORD PTR _obj$[esp+40]
	mov	edi, DWORD PTR [ebp]
	mov	ecx, esi
	add	edi, 56					; 00000038H
	call	?GetPosition@gzBackpackClass@@QAEAAUnc_Vector3@@XZ ; gzBackpackClass::GetPosition
	mov	edx, DWORD PTR [edi]
	push	eax
	mov	ecx, ebp
	call	edx

; 848  : 				backpack->SetCanExpire(gzWeaponMgr->m_settings->Backpack.Live != -1.0f);

	fld	DWORD PTR __real@bf800000
	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	ecx, DWORD PTR [eax+40]
	fcomp	DWORD PTR [ecx+84]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN24@Destroyed@2
	mov	al, 1
	jmp	SHORT $LN25@Destroyed@2
$LN24@Destroyed@2:
	xor	al, al
$LN25@Destroyed@2:
	push	eax
	mov	ecx, esi
	call	?SetCanExpire@gzBackpackClass@@QAEX_N@Z	; gzBackpackClass::SetCanExpire

; 849  : 				backpack->SetLive(gzWeaponMgr->m_settings->Backpack.Live);

	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [edx+40]
	fld	DWORD PTR [eax+84]
	push	ecx
	mov	ecx, esi
	fstp	DWORD PTR [esp]
	call	?SetLive@gzBackpackClass@@QAEXM@Z	; gzBackpackClass::SetLive

; 850  : 				backpack->SetOwner(this->m_killer);

	mov	ecx, DWORD PTR _this$[esp+44]
	mov	edx, DWORD PTR [ecx+52]
	push	edx
	mov	ecx, esi
	call	?SetOwner@gzBackpackClass@@QAEXPAVnc_cPlayer@@@Z ; gzBackpackClass::SetOwner

; 851  : 				backpack->Create();

	mov	ecx, esi
	call	?Create@gzBackpackClass@@QAEXXZ		; gzBackpackClass::Create

; 852  : 				newPack->SetChildOwner(backpack);

	test	esi, esi
	je	SHORT $LN26@Destroyed@2
	lea	eax, DWORD PTR [esi+36]
	jmp	SHORT $LN27@Destroyed@2
$LN26@Destroyed@2:
	xor	eax, eax
$LN27@Destroyed@2:
	push	eax
	mov	ecx, ebx
	call	?SetChildOwner@gzBase@@QAEXPAVgzManagerEvent@@@Z ; gzBase::SetChildOwner
$LN95@Destroyed@2:
	pop	edi
	pop	ebp
	pop	ebx
$LN7@Destroyed@2:

; 853  : 			}
; 854  : 		}
; 855  : 		pData->GetWeaponPack()->m_list.Clear();

	mov	eax, DWORD PTR _pData$[esp+32]
	mov	eax, DWORD PTR [eax+60]
	mov	edx, DWORD PTR [eax+24]
	lea	ecx, DWORD PTR [eax+24]
	mov	eax, DWORD PTR [edx+4]
	call	eax
$LN13@Destroyed@2:

; 856  : 	}
; 857  : }

	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$?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z$0:
	mov	eax, DWORD PTR $T74196[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z$1:
	mov	eax, DWORD PTR $T74202[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Destroyed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverSoldier::Destroyed
PUBLIC	??_C@_0BL@FGDEJLMI@?$CFls?5killed?5?$CFls?5?$CI?$CFs?5Vs?4?5?$CFs?$CJ?$AA@ ; `string'
PUBLIC	??_C@_0DH@MLOOJBPN@?$CFls?5killed?5?$CFls?5?$CI?$CFs?5Vs?4?5?$CFs?$CJ?$DL?5LP?3?5@ ; `string'
PUBLIC	??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@ ; `string'
PUBLIC	??_C@_0BC@DFIPNPKB@The?5?$CFs?5killed?5?$CFls?$AA@ ; `string'
PUBLIC	??_C@_0BH@ICIPGPP@The?5?$CFs?5killed?5?$CFls?5?$CI?$CFs?$CJ?$AA@ ; `string'
PUBLIC	??_C@_0BD@PDFOJCJC@?$CFls?5killed?5himself?$AA@	; `string'
PUBLIC	??_C@_0BI@JGDMJLIG@?$CFls?5killed?5himself?5?$CI?$CFs?$CJ?$AA@ ; `string'
PUBLIC	??_C@_0P@DHNICPNB@?$CFls?5was?5killed?$AA@	; `string'
PUBLIC	??_C@_0BE@CMFJFKCA@?$CFls?5was?5killed?5?$CI?$CFs?$CJ?$AA@ ; `string'
PUBLIC	??_C@_0CJ@JKGNEOBL@?$CFls?5has?5fallen?5down?$DL?5Fall?5distan@ ; `string'
PUBLIC	??_C@_0CO@GKEFPEBB@?$CFls?5has?5fallen?5down?5?$CI?$CFs?$CJ?$DL?5Fall?5d@ ; `string'
PUBLIC	??_C@_0CC@MGFFKJMJ@?$CFls?5was?5killed?5by?5Tiberium?5Poiso@ ; `string'
PUBLIC	??_C@_0CH@ENADLFFE@?$CFls?5?$CI?$CFs?$CJ?5was?5killed?5by?5Tiberium?5@ ; `string'
PUBLIC	??_C@_0BH@JBNAPPEM@?$CFls?5was?5squished?5by?5?$CFs?$AA@ ; `string'
PUBLIC	??_C@_0M@OHLMACO@_PLAYERKILL?$AA@		; `string'
PUBLIC	??_C@_0BM@GLPFKOEF@?$CFls?5?$CI?$CFs?$CJ?5was?5squished?5by?5?$CFs?$AA@ ; `string'
PUBLIC	??_C@_0CC@GOKDOGFA@?$CFls?5?$CI?$CFs?$CJ?5was?5squished?5by?5?$CFls?5?$CI?$CFs@ ; `string'
PUBLIC	__real@437f0000
EXTRN	??_M@YGXPAXIHP6EX0@Z@Z:PROC			; `eh vector destructor iterator'
EXTRN	?GetLast@gzAntiCheatHitLog@@QAEPAUgzHitLogStruct@@I@Z:PROC ; gzAntiCheatHitLog::GetLast
EXTRN	?GetHitCount@gzAntiCheatHitLog@@QAEHIK@Z:PROC	; gzAntiCheatHitLog::GetHitCount
EXTRN	?Get_Team_Color@nc_DamageableGameObj@@QAE?AUnc_Vector3@@XZ:PROC ; nc_DamageableGameObj::Get_Team_Color
EXTRN	??0aWideString@@QAE@PBD@Z:PROC			; aWideString::aWideString
EXTRN	?GetPresetInfo@@YA?AVaString@@PAVnc_PhysicalGameObj@@_N@Z:PROC ; GetPresetInfo
;	COMDAT ??_C@_0BL@FGDEJLMI@?$CFls?5killed?5?$CFls?5?$CI?$CFs?5Vs?4?5?$CFs?$CJ?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BL@FGDEJLMI@?$CFls?5killed?5?$CFls?5?$CI?$CFs?5Vs?4?5?$CFs?$CJ?$AA@ DB '%'
	DB	'ls killed %ls (%s Vs. %s)', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0DH@MLOOJBPN@?$CFls?5killed?5?$CFls?5?$CI?$CFs?5Vs?4?5?$CFs?$CJ?$DL?5LP?3?5@
CONST	SEGMENT
??_C@_0DH@MLOOJBPN@?$CFls?5killed?5?$CFls?5?$CI?$CFs?5Vs?4?5?$CFs?$CJ?$DL?5LP?3?5@ DB '%'
	DB	'ls killed %ls (%s Vs. %s); LP: %c; RD: %.2f; Hits: %d', 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 ??_C@_0BC@DFIPNPKB@The?5?$CFs?5killed?5?$CFls?$AA@
CONST	SEGMENT
??_C@_0BC@DFIPNPKB@The?5?$CFs?5killed?5?$CFls?$AA@ DB 'The %s killed %ls', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@ICIPGPP@The?5?$CFs?5killed?5?$CFls?5?$CI?$CFs?$CJ?$AA@
CONST	SEGMENT
??_C@_0BH@ICIPGPP@The?5?$CFs?5killed?5?$CFls?5?$CI?$CFs?$CJ?$AA@ DB 'The '
	DB	'%s killed %ls (%s)', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@PDFOJCJC@?$CFls?5killed?5himself?$AA@
CONST	SEGMENT
??_C@_0BD@PDFOJCJC@?$CFls?5killed?5himself?$AA@ DB '%ls killed himself', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@JGDMJLIG@?$CFls?5killed?5himself?5?$CI?$CFs?$CJ?$AA@
CONST	SEGMENT
??_C@_0BI@JGDMJLIG@?$CFls?5killed?5himself?5?$CI?$CFs?$CJ?$AA@ DB '%ls ki'
	DB	'lled himself (%s)', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@DHNICPNB@?$CFls?5was?5killed?$AA@
CONST	SEGMENT
??_C@_0P@DHNICPNB@?$CFls?5was?5killed?$AA@ DB '%ls was killed', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@CMFJFKCA@?$CFls?5was?5killed?5?$CI?$CFs?$CJ?$AA@
CONST	SEGMENT
??_C@_0BE@CMFJFKCA@?$CFls?5was?5killed?5?$CI?$CFs?$CJ?$AA@ DB '%ls was ki'
	DB	'lled (%s)', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CJ@JKGNEOBL@?$CFls?5has?5fallen?5down?$DL?5Fall?5distan@
CONST	SEGMENT
??_C@_0CJ@JKGNEOBL@?$CFls?5has?5fallen?5down?$DL?5Fall?5distan@ DB '%ls h'
	DB	'as fallen down; Fall distance: %.2f', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CO@GKEFPEBB@?$CFls?5has?5fallen?5down?5?$CI?$CFs?$CJ?$DL?5Fall?5d@
CONST	SEGMENT
??_C@_0CO@GKEFPEBB@?$CFls?5has?5fallen?5down?5?$CI?$CFs?$CJ?$DL?5Fall?5d@ DB '%'
	DB	'ls has fallen down (%s); Fall distance: %.2f', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CC@MGFFKJMJ@?$CFls?5was?5killed?5by?5Tiberium?5Poiso@
CONST	SEGMENT
??_C@_0CC@MGFFKJMJ@?$CFls?5was?5killed?5by?5Tiberium?5Poiso@ DB '%ls was '
	DB	'killed by Tiberium Poison', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CH@ENADLFFE@?$CFls?5?$CI?$CFs?$CJ?5was?5killed?5by?5Tiberium?5@
CONST	SEGMENT
??_C@_0CH@ENADLFFE@?$CFls?5?$CI?$CFs?$CJ?5was?5killed?5by?5Tiberium?5@ DB '%'
	DB	'ls (%s) was killed by Tiberium Poison', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@JBNAPPEM@?$CFls?5was?5squished?5by?5?$CFs?$AA@
CONST	SEGMENT
??_C@_0BH@JBNAPPEM@?$CFls?5was?5squished?5by?5?$CFs?$AA@ DB '%ls was squi'
	DB	'shed by %s', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@OHLMACO@_PLAYERKILL?$AA@
CONST	SEGMENT
??_C@_0M@OHLMACO@_PLAYERKILL?$AA@ DB '_PLAYERKILL', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@GLPFKOEF@?$CFls?5?$CI?$CFs?$CJ?5was?5squished?5by?5?$CFs?$AA@
CONST	SEGMENT
??_C@_0BM@GLPFKOEF@?$CFls?5?$CI?$CFs?$CJ?5was?5squished?5by?5?$CFs?$AA@ DB '%'
	DB	'ls (%s) was squished by %s', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CC@GOKDOGFA@?$CFls?5?$CI?$CFs?$CJ?5was?5squished?5by?5?$CFls?5?$CI?$CFs@
CONST	SEGMENT
??_C@_0CC@GOKDOGFA@?$CFls?5?$CI?$CFs?$CJ?5was?5squished?5by?5?$CFls?5?$CI?$CFs@ DB '%'
	DB	'ls (%s) was squished by %ls (%s)', 00H	; `string'
CONST	ENDS
;	COMDAT __real@437f0000
CONST	SEGMENT
__real@437f0000 DD 0437f0000r			; 255
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z$2
	DD	01H
	DD	FLAT:__unwindfunclet$?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z$4
__ehfuncinfo$?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?Killed@gzObserverSoldier@@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\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
tv573 = -136						; size = 4
tv439 = -132						; size = 4
_hitData$61034 = -128					; size = 4
_objColor$ = -128					; size = 12
$T74349 = -128						; size = 8
_pName$ = -116						; size = 8
$T74358 = -108						; size = 12
$T74356 = -108						; size = 12
$T74355 = -108						; size = 12
$T74354 = -108						; size = 12
$T74353 = -108						; size = 12
$T74352 = -108						; size = 12
$T74351 = -108						; size = 12
$T74350 = -108						; size = 12
$T74359 = -96						; size = 12
$T74357 = -96						; size = 12
_preset$ = -80						; size = 16
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzObserverSoldier::Killed, COMDAT
; _this$ = ecx

; 859  : {

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 168				; 000000a8H
	push	ebx
	push	esi

; 860  : 	this->m_killed = true;
; 861  : 	if (shooter && shooter->As_SoldierGameObj() && shooter->As_SoldierGameObj()->Player)

	mov	esi, DWORD PTR _shooter$[ebp]
	test	esi, esi
	mov	ebx, ecx
	push	edi
	mov	BYTE PTR [ebx+35], 1
	je	SHORT $LN21@Killed
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	SHORT $LN21@Killed
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN21@Killed

; 862  : 		this->m_killer = shooter->As_SoldierGameObj()->Player;

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	DWORD PTR [ebx+52], eax
$LN21@Killed:

; 863  : 
; 864  : 	aString preset[] = {
; 865  : 		GetPresetInfo(obj->As_PhysicalGameObj(), false),

	mov	edi, DWORD PTR _obj$[ebp]
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+36]
	push	0
	mov	ecx, edi
	call	eax
	push	eax
	lea	ecx, DWORD PTR _preset$[esp+200]
	push	ecx
	call	?GetPresetInfo@@YA?AVaString@@PAVnc_PhysicalGameObj@@_N@Z ; GetPresetInfo
	add	esp, 12					; 0000000cH
	xor	eax, eax

; 866  : 		GetPresetInfo(shooter ? shooter->As_PhysicalGameObj() : NULL, true)
; 867  : 	};

	cmp	esi, eax
	mov	DWORD PTR __$EHRec$[esp+200], eax
	je	SHORT $LN24@Killed
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+36]
	mov	ecx, esi
	call	eax
$LN24@Killed:
	push	1
	push	eax
	lea	ecx, DWORD PTR _preset$[esp+208]
	push	ecx
	call	?GetPresetInfo@@YA?AVaString@@PAVnc_PhysicalGameObj@@_N@Z ; GetPresetInfo
	add	esp, 12					; 0000000cH

; 868  : 
; 869  : 	aWideString pName = gzTranslator->Get(shooter);

	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	esi
	mov	DWORD PTR __$EHRec$[esp+204], 1
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	lea	ecx, DWORD PTR _pName$[esp+196]
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString

; 870  : 	if (this->m_Soldier->Player)

	mov	eax, DWORD PTR [ebx+28]
	cmp	DWORD PTR [eax+2400], 0
	mov	BYTE PTR __$EHRec$[esp+200], 2
	je	SHORT $LN20@Killed

; 871  : 		pName = this->m_Soldier->Player->PlayerName.m_Buffer;

	mov	edx, DWORD PTR [eax+2400]
	mov	eax, DWORD PTR [edx+1880]
	push	eax
	lea	ecx, DWORD PTR $T74349[esp+196]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T74349[esp+192]
	push	ecx
	lea	ecx, DWORD PTR _pName$[esp+196]
	mov	BYTE PTR __$EHRec$[esp+204], 3
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T74349[esp+192]
	mov	BYTE PTR __$EHRec$[esp+200], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN20@Killed:

; 872  : 
; 873  : 	nc_Vector3 objColor;
; 874  : 	if (shooter && shooter->As_DamageableGameObj())

	test	esi, esi
	je	SHORT $LN19@Killed
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	test	eax, eax
	je	SHORT $LN19@Killed

; 875  : 	{
; 876  : 		objColor.X = shooter->As_DamageableGameObj()->Get_Team_Color().X * 255.0f;

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	lea	ecx, DWORD PTR $T74350[esp+192]
	push	ecx
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	call	?Get_Team_Color@nc_DamageableGameObj@@QAE?AUnc_Vector3@@XZ ; nc_DamageableGameObj::Get_Team_Color
	fld	DWORD PTR [eax]
	fmul	DWORD PTR __real@437f0000

; 877  : 		objColor.Y = shooter->As_DamageableGameObj()->Get_Team_Color().Y * 255.0f;

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	lea	ecx, DWORD PTR $T74351[esp+192]
	push	ecx
	fstp	DWORD PTR _objColor$[esp+196]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	call	?Get_Team_Color@nc_DamageableGameObj@@QAE?AUnc_Vector3@@XZ ; nc_DamageableGameObj::Get_Team_Color
	fld	DWORD PTR [eax+4]
	fmul	DWORD PTR __real@437f0000

; 878  : 		objColor.Z = shooter->As_DamageableGameObj()->Get_Team_Color().Z * 255.0f;

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	lea	ecx, DWORD PTR $T74352[esp+192]
	push	ecx
	fstp	DWORD PTR _objColor$[esp+200]
	mov	ecx, esi
	call	eax
	mov	ecx, eax

; 879  : 	}
; 880  : 	else

	jmp	SHORT $LN216@Killed
$LN19@Killed:

; 881  : 	{
; 882  : 		objColor.X = this->m_Soldier->Get_Team_Color().X * 255.0f;

	lea	ecx, DWORD PTR $T74353[esp+192]
	push	ecx
	mov	ecx, DWORD PTR [ebx+28]
	call	?Get_Team_Color@nc_DamageableGameObj@@QAE?AUnc_Vector3@@XZ ; nc_DamageableGameObj::Get_Team_Color
	fld	DWORD PTR [eax]
	fmul	DWORD PTR __real@437f0000

; 883  : 		objColor.Y = this->m_Soldier->Get_Team_Color().Y * 255.0f;

	mov	ecx, DWORD PTR [ebx+28]
	lea	edx, DWORD PTR $T74354[esp+192]
	push	edx
	fstp	DWORD PTR _objColor$[esp+196]
	call	?Get_Team_Color@nc_DamageableGameObj@@QAE?AUnc_Vector3@@XZ ; nc_DamageableGameObj::Get_Team_Color
	fld	DWORD PTR [eax+4]

; 884  : 		objColor.Z = this->m_Soldier->Get_Team_Color().Z * 255.0f;

	mov	ecx, DWORD PTR [ebx+28]
	fmul	DWORD PTR __real@437f0000
	lea	eax, DWORD PTR $T74355[esp+192]
	push	eax
	fstp	DWORD PTR _objColor$[esp+200]
$LN216@Killed:
	call	?Get_Team_Color@nc_DamageableGameObj@@QAE?AUnc_Vector3@@XZ ; nc_DamageableGameObj::Get_Team_Color
	fld	DWORD PTR [eax+8]

; 885  : 	}
; 886  : 
; 887  : 	if (gzGameMgr->m_settings->m_LogSoldierDeath)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	fmul	DWORD PTR __real@437f0000
	mov	edx, DWORD PTR [ecx+72]
	cmp	BYTE PTR [edx+114], 0
	fstp	DWORD PTR _objColor$[esp+200]
	je	$LN1@Killed

; 888  : 	{
; 889  : 		if (this->m_squishDeath)

	cmp	BYTE PTR [ebx+34], 0
	je	$LN16@Killed

; 890  : 		{
; 891  : 			if (shooter->As_SoldierGameObj() && shooter->As_SoldierGameObj()->Player)

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

; 892  : 			{
; 893  : 				gzLogger("_PLAYERKILL", "%ls (%s) was squished by %ls (%s)",
; 894  : 					pName.GetString(),
; 895  : 					preset[0].GetString(),
; 896  : 					shooter->As_SoldierGameObj()->Player->PlayerName.m_Buffer,
; 897  : 					preset[1].GetString()
; 898  : 				);

	mov	eax, DWORD PTR _preset$[esp+204]
	test	eax, eax
	je	SHORT $LN40@Killed
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN41@Killed
$LN40@Killed:
	xor	ecx, ecx
$LN41@Killed:
	mov	eax, DWORD PTR _preset$[esp+196]
	test	eax, eax
	je	SHORT $LN46@Killed
	mov	ebx, DWORD PTR [eax]
	jmp	SHORT $LN47@Killed
$LN46@Killed:
	xor	ebx, ebx
$LN47@Killed:
	mov	eax, DWORD PTR _pName$[esp+196]
	test	eax, eax
	je	SHORT $LN52@Killed
	mov	edi, DWORD PTR [eax]
	jmp	SHORT $LN53@Killed
$LN52@Killed:
	xor	edi, edi
$LN53@Killed:
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	push	ecx
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1880]
	push	ecx
	push	ebx
	push	edi
	push	OFFSET ??_C@_0CC@GOKDOGFA@?$CFls?5?$CI?$CFs?$CJ?5was?5squished?5by?5?$CFls?5?$CI?$CFs@

; 899  : 			}
; 900  : 			else

	jmp	$LN217@Killed
$LN15@Killed:

; 901  : 			{
; 902  : 				gzLogger("_PLAYERKILL", "%ls (%s) was squished by %s",
; 903  : 					pName.GetString(),
; 904  : 					preset[0].GetString(),
; 905  : 					gzTranslator->Get(shooter)
; 906  : 				);

	mov	eax, DWORD PTR _preset$[esp+196]
	test	eax, eax
	je	SHORT $LN58@Killed
	mov	edi, DWORD PTR [eax]
	jmp	SHORT $LN59@Killed
$LN58@Killed:
	xor	edi, edi
$LN59@Killed:
	mov	eax, DWORD PTR _pName$[esp+196]
	test	eax, eax
	je	SHORT $LN64@Killed
	mov	ebx, DWORD PTR [eax]
	jmp	SHORT $LN65@Killed
$LN64@Killed:
	xor	ebx, ebx
$LN65@Killed:
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	push	edi
	push	ebx
	push	OFFSET ??_C@_0BM@GLPFKOEF@?$CFls?5?$CI?$CFs?$CJ?5was?5squished?5by?5?$CFs?$AA@
	push	OFFSET ??_C@_0M@OHLMACO@_PLAYERKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger

; 907  : 				SendBhsColorMsg(objColor, "%ls was squished by %s",
; 908  : 					pName.GetString(),
; 909  : 					gzTranslator->Get(shooter)
; 910  : 				);

	mov	eax, DWORD PTR _pName$[esp+216]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $LN70@Killed
	mov	edi, DWORD PTR [eax]
	jmp	SHORT $LN71@Killed
$LN70@Killed:
	xor	edi, edi
$LN71@Killed:
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	mov	edx, DWORD PTR _objColor$[esp+192]
	mov	ecx, DWORD PTR _objColor$[esp+196]
	push	eax
	push	edi
	push	OFFSET ??_C@_0BH@JBNAPPEM@?$CFls?5was?5squished?5by?5?$CFs?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], edx
	mov	edx, DWORD PTR _objColor$[esp+224]
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], edx
	call	?SendBhsColorMsg@@YAXUnc_Vector3@@PBDZZ	; SendBhsColorMsg

; 911  : 			}

	jmp	$LN218@Killed
$LN16@Killed:

; 912  : 		}
; 913  : 		else if (!shooter)

	test	esi, esi
	jne	$LN12@Killed

; 914  : 		{
; 915  : 			if (this->m_tibDamage && this->m_lastDamage <= 0.5f)

	cmp	BYTE PTR [ebx+32], 0
	je	SHORT $LN11@Killed
	fld	DWORD PTR __real@3f000000
	fcomp	DWORD PTR [ebx+36]
	fnstsw	ax
	test	ah, 1
	jne	SHORT $LN11@Killed

; 916  : 			{
; 917  : 				gzLogger("_PLAYERKILL", "%ls (%s) was killed by Tiberium Poison", pName.GetString(), preset[0].GetString());

	mov	eax, DWORD PTR _preset$[esp+196]
	test	eax, eax
	je	SHORT $LN76@Killed
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN77@Killed
$LN76@Killed:
	xor	ecx, ecx
$LN77@Killed:
	mov	eax, DWORD PTR _pName$[esp+196]
	test	eax, eax
	je	SHORT $LN82@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN83@Killed
$LN82@Killed:
	xor	eax, eax
$LN83@Killed:
	push	ecx
	push	eax
	push	OFFSET ??_C@_0CH@ENADLFFE@?$CFls?5?$CI?$CFs?$CJ?5was?5killed?5by?5Tiberium?5@
	push	OFFSET ??_C@_0M@OHLMACO@_PLAYERKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger

; 918  : 				SendBhsColorMsg(objColor, "%ls was killed by Tiberium Poison", pName.GetString());

	mov	eax, DWORD PTR _pName$[esp+212]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN88@Killed
	mov	eax, DWORD PTR [eax]
	push	eax
	push	OFFSET ??_C@_0CC@MGFFKJMJ@?$CFls?5was?5killed?5by?5Tiberium?5Poiso@
	jmp	$LN219@Killed
$LN88@Killed:
	xor	eax, eax
	push	eax
	push	OFFSET ??_C@_0CC@MGFFKJMJ@?$CFls?5was?5killed?5by?5Tiberium?5Poiso@
	jmp	$LN219@Killed
$LN11@Killed:

; 919  : 			}
; 920  : 
; 921  : 			else if (this->m_fallDeath)

	cmp	BYTE PTR [ebx+33], 0
	je	$LN9@Killed

; 922  : 			{
; 923  : 				gzLogger("_PLAYERKILL", "%ls has fallen down (%s); Fall distance: %.2f", pName.GetString(), preset[0].GetString(), this->m_fallPos.Z - gzCommands->Get_Position(obj).Z);

	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T74357[esp+192]
	push	edi
	push	edx
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR $T74356[esp+200], edx
	mov	edx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR _preset$[esp+204]
	add	esp, 8
	test	eax, eax
	mov	DWORD PTR $T74356[esp+196], ecx
	mov	DWORD PTR $T74356[esp+200], edx
	je	SHORT $LN94@Killed
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN95@Killed
$LN94@Killed:
	xor	ecx, ecx
$LN95@Killed:
	mov	eax, DWORD PTR _pName$[esp+196]
	test	eax, eax
	je	SHORT $LN100@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN101@Killed
$LN100@Killed:
	xor	eax, eax
$LN101@Killed:
	fld	DWORD PTR [ebx+48]
	sub	esp, 8
	fsub	DWORD PTR $T74356[esp+208]
	fstp	QWORD PTR [esp]
	push	ecx
	push	eax
	push	OFFSET ??_C@_0CO@GKEFPEBB@?$CFls?5has?5fallen?5down?5?$CI?$CFs?$CJ?$DL?5Fall?5d@
	push	OFFSET ??_C@_0M@OHLMACO@_PLAYERKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger

; 924  : 				SendBhsColorMsg(objColor, "%ls has fallen down; Fall distance: %.2f",
; 925  : 					pName.GetString(),
; 926  : 					this->m_fallPos.Z - gzCommands->Get_Position(obj).Z
; 927  : 				);

	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+64]
	lea	eax, DWORD PTR $T74359[esp+216]
	push	edi
	push	eax
	call	edx
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR $T74358[esp+232], eax
	mov	eax, DWORD PTR _pName$[esp+228]
	add	esp, 32					; 00000020H
	test	eax, eax
	mov	DWORD PTR $T74358[esp+192], ecx
	mov	DWORD PTR $T74358[esp+196], edx
	je	SHORT $LN106@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN107@Killed
$LN106@Killed:
	xor	eax, eax
$LN107@Killed:
	fld	DWORD PTR [ebx+48]
	mov	ecx, DWORD PTR _objColor$[esp+192]
	fsub	DWORD PTR $T74358[esp+200]
	mov	edx, DWORD PTR _objColor$[esp+196]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	eax
	push	OFFSET ??_C@_0CJ@JKGNEOBL@?$CFls?5has?5fallen?5down?$DL?5Fall?5distan@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _objColor$[esp+228]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?SendBhsColorMsg@@YAXUnc_Vector3@@PBDZZ	; SendBhsColorMsg
	add	esp, 28					; 0000001cH

; 928  : 			}
; 929  : 			else

	jmp	$LN1@Killed
$LN9@Killed:

; 930  : 			{
; 931  : 				gzLogger("_PLAYERKILL", "%ls was killed (%s)", pName.GetString(), preset[0].GetString());

	mov	eax, DWORD PTR _preset$[esp+196]
	test	eax, eax
	je	SHORT $LN112@Killed
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN113@Killed
$LN112@Killed:
	xor	ecx, ecx
$LN113@Killed:
	mov	eax, DWORD PTR _pName$[esp+196]
	test	eax, eax
	je	SHORT $LN118@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN119@Killed
$LN118@Killed:
	xor	eax, eax
$LN119@Killed:
	push	ecx
	push	eax
	push	OFFSET ??_C@_0BE@CMFJFKCA@?$CFls?5was?5killed?5?$CI?$CFs?$CJ?$AA@
	push	OFFSET ??_C@_0M@OHLMACO@_PLAYERKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger

; 932  : 				SendBhsColorMsg(objColor, "%ls was killed", pName.GetString());

	mov	eax, DWORD PTR _pName$[esp+212]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN124@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN125@Killed
$LN124@Killed:
	xor	eax, eax
$LN125@Killed:
	mov	edx, DWORD PTR _objColor$[esp+192]
	mov	ecx, DWORD PTR _objColor$[esp+196]
	push	eax
	push	OFFSET ??_C@_0P@DHNICPNB@?$CFls?5was?5killed?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], edx
	mov	edx, DWORD PTR _objColor$[esp+220]
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], edx
	call	?SendBhsColorMsg@@YAXUnc_Vector3@@PBDZZ	; SendBhsColorMsg
	add	esp, 20					; 00000014H

; 933  : 			}

	jmp	$LN1@Killed
$LN12@Killed:

; 934  : 		}
; 935  : 
; 936  : 		else if (obj == shooter)

	cmp	edi, esi
	jne	SHORT $LN6@Killed

; 937  : 		{
; 938  : 			gzLogger("_PLAYERKILL", "%ls killed himself (%s)", pName.GetString(), preset[1].GetString());

	mov	eax, DWORD PTR _preset$[esp+204]
	test	eax, eax
	je	SHORT $LN130@Killed
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN131@Killed
$LN130@Killed:
	xor	ecx, ecx
$LN131@Killed:
	mov	eax, DWORD PTR _pName$[esp+196]
	test	eax, eax
	je	SHORT $LN136@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN137@Killed
$LN136@Killed:
	xor	eax, eax
$LN137@Killed:
	push	ecx
	push	eax
	push	OFFSET ??_C@_0BI@JGDMJLIG@?$CFls?5killed?5himself?5?$CI?$CFs?$CJ?$AA@
	push	OFFSET ??_C@_0M@OHLMACO@_PLAYERKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger

; 939  : 			SendBhsColorMsg(objColor, "%ls killed himself", pName.GetString());

	mov	eax, DWORD PTR _pName$[esp+212]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN142@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN143@Killed
$LN142@Killed:
	xor	eax, eax
$LN143@Killed:
	push	eax
	push	OFFSET ??_C@_0BD@PDFOJCJC@?$CFls?5killed?5himself?$AA@
$LN219@Killed:
	mov	ecx, DWORD PTR _objColor$[esp+200]
	mov	edx, DWORD PTR _objColor$[esp+204]
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _objColor$[esp+220]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?SendBhsColorMsg@@YAXUnc_Vector3@@PBDZZ	; SendBhsColorMsg
	add	esp, 20					; 00000014H
	jmp	$LN1@Killed
$LN6@Killed:

; 940  : 		}
; 941  : 
; 942  : 		else if (!shooter->As_SoldierGameObj())

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	test	eax, eax
	jne	$LN4@Killed

; 943  : 		{
; 944  : 			gzLogger("_PLAYERKILL", "The %s killed %ls (%s)", gzTranslator->Get(shooter), pName.GetString(), preset[0].GetString());

	mov	eax, DWORD PTR _preset$[esp+196]
	test	eax, eax
	je	SHORT $LN148@Killed
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN149@Killed
$LN148@Killed:
	xor	ecx, ecx
$LN149@Killed:
	mov	eax, DWORD PTR _pName$[esp+196]
	test	eax, eax
	je	SHORT $LN154@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN155@Killed
$LN154@Killed:
	xor	eax, eax
$LN155@Killed:
	push	ecx
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0BH@ICIPGPP@The?5?$CFs?5killed?5?$CFls?5?$CI?$CFs?$CJ?$AA@
	push	OFFSET ??_C@_0M@OHLMACO@_PLAYERKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger

; 945  : 			SendBhsColorMsg(objColor, "The %s killed %ls",
; 946  : 				gzTranslator->Get(shooter),
; 947  : 				pName.GetString()
; 948  : 			);

	mov	eax, DWORD PTR _pName$[esp+216]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $LN160@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN161@Killed
$LN160@Killed:
	xor	eax, eax
$LN161@Killed:
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	mov	ecx, DWORD PTR _objColor$[esp+196]
	mov	edx, DWORD PTR _objColor$[esp+200]
	push	eax
	push	OFFSET ??_C@_0BC@DFIPNPKB@The?5?$CFs?5killed?5?$CFls?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _objColor$[esp+224]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?SendBhsColorMsg@@YAXUnc_Vector3@@PBDZZ	; SendBhsColorMsg

; 949  : 		}
; 950  : 
; 951  : 		else

	jmp	$LN218@Killed
$LN4@Killed:

; 952  : 		{
; 953  : 			gzPlayer *gzData = gzPlayerManager::Find(shooter->As_SoldierGameObj()->Player);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	push	ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	mov	esi, eax
	add	esp, 4

; 954  : 			if (gzData && gzData->GetHitLog() && gzData->GetHitLog()->GetHitCount(obj->NetworkID, 1) > 0)

	test	esi, esi
	je	$LN2@Killed
	mov	ecx, DWORD PTR [esi+52]
	test	ecx, ecx
	je	$LN2@Killed
	mov	edx, DWORD PTR [edi+12]
	push	1
	push	edx
	call	?GetHitCount@gzAntiCheatHitLog@@QAEHIK@Z ; gzAntiCheatHitLog::GetHitCount
	test	eax, eax
	jle	$LN2@Killed

; 955  : 			{
; 956  : 				gzHitLogStruct *hitData = gzData->GetHitLog()->GetLast(obj->NetworkID);

	mov	eax, DWORD PTR [edi+12]
	mov	ecx, DWORD PTR [esi+52]
	push	eax
	call	?GetLast@gzAntiCheatHitLog@@QAEPAUgzHitLogStruct@@I@Z ; gzAntiCheatHitLog::GetLast

; 957  : 				gzLogger(
; 958  : 					"_PLAYERKILL",
; 959  : 					"%ls killed %ls (%s Vs. %s); LP: %c; RD: %.2f; Hits: %d",
; 960  : 					this->m_killer ? this->m_killer->PlayerName.m_Buffer : L"NotPlayer",
; 961  : 					pName.GetString(),
; 962  : 					preset[1].GetString(),
; 963  : 					preset[0].GetString(),
; 964  : 					gzData->IsLastPrimaryFire() ? 'P' : 'S',
; 965  : 					hitData->m_damage,
; 966  : 					gzData->GetHitLog()->GetHitCount(obj->NetworkID, 1)
; 967  : 				);

	mov	ebx, DWORD PTR [ebx+52]
	test	ebx, ebx
	mov	DWORD PTR _hitData$61034[esp+192], eax
	je	SHORT $LN26@Killed
	mov	ecx, DWORD PTR [ebx+1880]
	mov	DWORD PTR tv439[esp+192], ecx
	jmp	SHORT $LN27@Killed
$LN26@Killed:
	mov	DWORD PTR tv439[esp+192], OFFSET ??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@
$LN27@Killed:
	mov	eax, DWORD PTR _preset$[esp+196]
	test	eax, eax
	mov	ecx, DWORD PTR [esi+52]
	mov	bl, BYTE PTR [esi+100]
	je	SHORT $LN176@Killed
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR tv573[esp+192], edx
	jmp	SHORT $LN177@Killed
$LN176@Killed:
	mov	DWORD PTR tv573[esp+192], 0
$LN177@Killed:
	mov	eax, DWORD PTR _preset$[esp+204]
	test	eax, eax
	je	SHORT $LN182@Killed
	mov	edi, DWORD PTR [eax]
	jmp	SHORT $LN183@Killed
$LN182@Killed:
	xor	edi, edi
$LN183@Killed:
	mov	eax, DWORD PTR _pName$[esp+196]
	test	eax, eax
	je	SHORT $LN188@Killed
	mov	esi, DWORD PTR [eax]
	jmp	SHORT $LN189@Killed
$LN188@Killed:
	xor	esi, esi
$LN189@Killed:
	mov	eax, DWORD PTR _obj$[ebp]
	mov	edx, DWORD PTR [eax+12]
	push	1
	push	edx
	call	?GetHitCount@gzAntiCheatHitLog@@QAEHIK@Z ; gzAntiCheatHitLog::GetHitCount
	mov	ecx, DWORD PTR tv573[esp+192]
	mov	edx, DWORD PTR tv439[esp+192]
	push	eax
	mov	eax, DWORD PTR _hitData$61034[esp+196]
	fld	DWORD PTR [eax]
	sub	esp, 8
	neg	bl
	fstp	QWORD PTR [esp]
	sbb	ebx, ebx
	and	ebx, -3					; fffffffdH
	add	ebx, 83					; 00000053H
	push	ebx
	push	ecx
	push	edi
	push	esi
	push	edx
	push	OFFSET ??_C@_0DH@MLOOJBPN@?$CFls?5killed?5?$CFls?5?$CI?$CFs?5Vs?4?5?$CFs?$CJ?$DL?5LP?3?5@
	push	OFFSET ??_C@_0M@OHLMACO@_PLAYERKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 40					; 00000028H

; 968  : 			}
; 969  : 			else

	jmp	SHORT $LN1@Killed
$LN2@Killed:

; 970  : 			{
; 971  : 				gzLogger(
; 972  : 					"_PLAYERKILL",
; 973  : 					"%ls killed %ls (%s Vs. %s)",
; 974  : 					this->m_killer ? this->m_killer->PlayerName.m_Buffer : L"NotPlayer",
; 975  : 					pName.GetString(),
; 976  : 					preset[1].GetString(),
; 977  : 					preset[0].GetString()
; 978  : 				);

	mov	ebx, DWORD PTR [ebx+52]
	test	ebx, ebx
	je	SHORT $LN28@Killed
	mov	ebx, DWORD PTR [ebx+1880]
	jmp	SHORT $LN29@Killed
$LN28@Killed:
	mov	ebx, OFFSET ??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@
$LN29@Killed:
	mov	eax, DWORD PTR _preset$[esp+196]
	test	eax, eax
	je	SHORT $LN194@Killed
	mov	edx, DWORD PTR [eax]
	jmp	SHORT $LN195@Killed
$LN194@Killed:
	xor	edx, edx
$LN195@Killed:
	mov	eax, DWORD PTR _preset$[esp+204]
	test	eax, eax
	je	SHORT $LN200@Killed
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN201@Killed
$LN200@Killed:
	xor	ecx, ecx
$LN201@Killed:
	mov	eax, DWORD PTR _pName$[esp+196]
	test	eax, eax
	je	SHORT $LN206@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN207@Killed
$LN206@Killed:
	xor	eax, eax
$LN207@Killed:
	push	edx
	push	ecx
	push	eax
	push	ebx
	push	OFFSET ??_C@_0BL@FGDEJLMI@?$CFls?5killed?5?$CFls?5?$CI?$CFs?5Vs?4?5?$CFs?$CJ?$AA@
$LN217@Killed:
	push	OFFSET ??_C@_0M@OHLMACO@_PLAYERKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
$LN218@Killed:
	add	esp, 24					; 00000018H
$LN1@Killed:

; 979  : 			}
; 980  : 		}
; 981  : 	}
; 982  : }

	lea	ecx, DWORD PTR _pName$[esp+192]
	mov	BYTE PTR __$EHRec$[esp+200], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	OFFSET ??1aString@@UAE@XZ
	push	2
	push	8
	lea	eax, DWORD PTR _preset$[esp+204]
	push	eax
	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@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z$0:
	lea	ecx, DWORD PTR _preset$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Killed@gzObserverSoldier@@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
__unwindfunclet$?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z$3:
	lea	ecx, DWORD PTR _pName$[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z$4:
	lea	ecx, DWORD PTR $T74349[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Killed@gzObserverSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzObserverSoldier::Killed
PUBLIC	??_C@_0FL@ODEALCLL@You?5are?5now?5in?5Spectator?5Mode?4?5Y@ ; `string'
PUBLIC	??_C@_04MLLLIHIP@null?$AA@			; `string'
PUBLIC	__real@44fa0000
PUBLIC	??_C@_0CA@CKCHDEIG@Please?5exit?5your?5vehicle?5first?$CB?$AA@ ; `string'
EXTRN	?Toggle_Fly_Mode@nc_SoldierGameObj@@QAEXXZ:PROC	; nc_SoldierGameObj::Toggle_Fly_Mode
EXTRN	?Set_Model_By_Name@nc_PhysClass@@QAEXPBD@Z:PROC	; nc_PhysClass::Set_Model_By_Name
;	COMDAT ??_C@_0FL@ODEALCLL@You?5are?5now?5in?5Spectator?5Mode?4?5Y@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_0FL@ODEALCLL@You?5are?5now?5in?5Spectator?5Mode?4?5Y@ DB 'You are n'
	DB	'ow in Spectator Mode. You may use "!setspeed [1-50]" to chang'
	DB	'e your moving speed.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_04MLLLIHIP@null?$AA@
CONST	SEGMENT
??_C@_04MLLLIHIP@null?$AA@ DB 'null', 00H		; `string'
CONST	ENDS
;	COMDAT __real@44fa0000
CONST	SEGMENT
__real@44fa0000 DD 044fa0000r			; 2000
CONST	ENDS
;	COMDAT ??_C@_0CA@CKCHDEIG@Please?5exit?5your?5vehicle?5first?$CB?$AA@
CONST	SEGMENT
??_C@_0CA@CKCHDEIG@Please?5exit?5your?5vehicle?5first?$CB?$AA@ DB 'Please'
	DB	' exit your vehicle first!', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Created@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
$T74866 = 8						; size = 4
$T74856 = 8						; size = 4
_obj$ = 8						; size = 4
?Created@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverSpectator::Created, COMDAT
; _this$ = ecx

; 998  : void gzObserverSpectator::Created(nc_ScriptableGameObj *obj) {

	push	ebx

; 999  : 	if (!obj->As_SoldierGameObj())

	mov	ebx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+68]
	push	edi
	mov	edi, ecx
	mov	ecx, ebx
	call	edx
	test	eax, eax

; 1000 : 	{
; 1001 : 		this->Destroy_Script();
; 1002 : 		return;

	je	SHORT $LN71@Created@2

; 1003 : 	}
; 1004 : 	this->m_owner = gzPlayerManager::Find(obj->As_SoldierGameObj()->Player);

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, ebx
	call	edx
	mov	ecx, DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+8
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+2400]
	je	SHORT $LN13@Created@2
	npad	2
$LL20@Created@2:
	mov	edx, DWORD PTR [ecx+4]
	cmp	DWORD PTR [edx+76], eax
	je	SHORT $LN67@Created@2
	mov	ecx, DWORD PTR [ecx]
	test	ecx, ecx
	jne	SHORT $LL20@Created@2
$LN13@Created@2:
	xor	ecx, ecx
$LN16@Created@2:

; 1005 : 	if (this->m_owner == NULL)

	test	ecx, ecx
	mov	DWORD PTR [edi+28], ecx

; 1006 : 	{
; 1007 : 		this->Destroy_Script();
; 1008 : 		return;

	je	SHORT $LN71@Created@2

; 1009 : 	}
; 1010 : 	if (this->m_owner->GetSoldier()->Vehicle)

	mov	eax, DWORD PTR [ecx+76]
	cmp	DWORD PTR [eax+20], 0
	je	SHORT $LN28@Created@2
	mov	ecx, eax
	mov	edx, DWORD PTR [ecx+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	jmp	SHORT $LN29@Created@2
$LN67@Created@2:

; 1003 : 	}
; 1004 : 	this->m_owner = gzPlayerManager::Find(obj->As_SoldierGameObj()->Player);

	mov	ecx, edx
	jmp	SHORT $LN16@Created@2

; 1009 : 	}
; 1010 : 	if (this->m_owner->GetSoldier()->Vehicle)

$LN28@Created@2:
	xor	eax, eax
$LN29@Created@2:
	cmp	DWORD PTR [eax+2444], 0

; 1011 : 	{
; 1012 : 		PagePlayer(this->m_owner->GetPlayerData()->PlayerId, "Please exit your vehicle first!");

	mov	eax, DWORD PTR [edi+28]
	je	SHORT $LN7@Created@2
	mov	ecx, DWORD PTR [eax+76]
	mov	edx, DWORD PTR [ecx+1884]
	push	OFFSET ??_C@_0CA@CKCHDEIG@Please?5exit?5your?5vehicle?5first?$CB?$AA@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN71@Created@2:

; 1013 : 		this->Destroy_Script();

	mov	ecx, edi
	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
	pop	edi
	pop	ebx

; 1046 : }

	ret	4
$LN7@Created@2:

; 1014 : 		return;
; 1015 : 	}
; 1016 : 	this->m_owner->SetIsSpectator(true);
; 1017 : 	this->Custom(obj, 2095, 0, 0);

	push	0
	push	0
	mov	BYTE PTR [eax+132], 1
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+32]
	push	2095					; 0000082fH
	push	ebx
	mov	ecx, edi
	call	eax

; 1018 : 	this->m_owner->GetSoldier()->Defense.HealthMax = 2000.0f;

	mov	eax, DWORD PTR [edi+28]
	mov	ecx, DWORD PTR [eax+76]
	cmp	DWORD PTR [ecx+20], 0
	je	SHORT $LN35@Created@2
	mov	edx, ecx
	mov	eax, DWORD PTR [edx+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	jmp	SHORT $LN36@Created@2
$LN35@Created@2:
	xor	eax, eax
$LN36@Created@2:
	fld	DWORD PTR __real@44fa0000
	lea	ecx, DWORD PTR $T74856[esp+4]
	push	ecx
	fstp	DWORD PTR $T74856[esp+8]
	add	eax, 1844				; 00000734H
	push	eax
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 1019 : 	this->m_owner->GetSoldier()->Defense.ShieldStrengthMax = 2000.0f;

	mov	eax, DWORD PTR [edi+28]
	mov	edx, DWORD PTR [eax+76]
	cmp	DWORD PTR [edx+20], 0
	je	SHORT $LN40@Created@2
	mov	eax, edx
	mov	ecx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	jmp	SHORT $LN41@Created@2
$LN40@Created@2:
	xor	eax, eax
$LN41@Created@2:
	fld	DWORD PTR __real@44fa0000
	lea	ecx, DWORD PTR $T74866[esp+4]
	push	ecx
	fstp	DWORD PTR $T74866[esp+8]
	add	eax, 1856				; 00000740H
	push	eax
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 1020 : 	this->m_owner->GetSoldier()->WeaponBag->Clear_Weapons();

	mov	eax, DWORD PTR [edi+28]
	mov	edx, DWORD PTR [eax+76]
	cmp	DWORD PTR [edx+20], 0
	je	SHORT $LN45@Created@2
	mov	eax, edx
	mov	ecx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	jmp	SHORT $LN46@Created@2
$LN45@Created@2:
	xor	eax, eax
$LN46@Created@2:
	mov	ecx, DWORD PTR [eax+1968]
	call	?Clear_Weapons@nc_WeaponBagClass@@QAEXXZ ; nc_WeaponBagClass::Clear_Weapons

; 1021 : 	this->m_owner->GetSoldier()->Physics->Set_Model_By_Name("null");

	mov	eax, DWORD PTR [edi+28]
	mov	ecx, DWORD PTR [eax+76]
	cmp	DWORD PTR [ecx+20], 0
	je	SHORT $LN48@Created@2
	mov	edx, ecx
	mov	eax, DWORD PTR [edx+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	jmp	SHORT $LN49@Created@2
$LN48@Created@2:
	xor	eax, eax
$LN49@Created@2:
	mov	ecx, DWORD PTR [eax+1908]
	push	OFFSET ??_C@_04MLLLIHIP@null?$AA@
	call	?Set_Model_By_Name@nc_PhysClass@@QAEXPBD@Z ; nc_PhysClass::Set_Model_By_Name

; 1022 : 	this->m_owner->GetSoldier()->IsVisible = false;

	mov	eax, DWORD PTR [edi+28]
	mov	ecx, DWORD PTR [eax+76]
	cmp	DWORD PTR [ecx+20], 0
	je	SHORT $LN51@Created@2
	mov	edx, ecx
	mov	eax, DWORD PTR [edx+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	jmp	SHORT $LN52@Created@2
$LN51@Created@2:
	xor	eax, eax
$LN52@Created@2:
	mov	BYTE PTR [eax+3365], 0

; 1023 : 	this->m_owner->GetSoldier()->Toggle_Fly_Mode();

	mov	eax, DWORD PTR [edi+28]
	mov	ecx, DWORD PTR [eax+76]
	cmp	DWORD PTR [ecx+20], 0
	je	SHORT $LN54@Created@2
	mov	edx, ecx
	mov	eax, DWORD PTR [edx+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	jmp	SHORT $LN55@Created@2
$LN54@Created@2:
	xor	eax, eax
$LN55@Created@2:
	push	esi
	mov	ecx, eax
	call	?Toggle_Fly_Mode@nc_SoldierGameObj@@QAEXXZ ; nc_SoldierGameObj::Toggle_Fly_Mode

; 1024 : 	gzCommands->Disable_All_Collisions(obj);

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

; 1025 : 	this->Timer_Expired(obj, 1);

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+48]
	add	esp, 4
	push	1
	push	ebx
	mov	ecx, edi
	call	edx

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

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+48]
	push	2
	push	ebx
	mov	ecx, edi
	call	edx

; 1027 : 	for (nc_GenericSLNode<nc_BaseGameObj> *objList = nc_GameObjManager::GameObjList->HeadNode; objList != NULL; objList = objList->NodeNext)

	mov	eax, DWORD PTR ?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A ; nc_GameObjManager::GameObjList
	mov	esi, DWORD PTR [eax+4]
	test	esi, esi
	je	SHORT $LN4@Created@2
	npad	5
$LL6@Created@2:

; 1028 : 	{
; 1029 : 		nc_OffenseObjectClass *offense = 0;
; 1030 : 		if (objList->NodeData->definition->Get_Class_ID() == 0x3006 &&
; 1031 : 			((nc_C4GameObj *)objList->NodeData)->Owner.Reference &&
; 1032 : 			((nc_C4GameObj *)objList->NodeData)->Owner.Reference->obj->NetworkID == obj->NetworkID)

	mov	ecx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12294				; 00003006H
	jne	SHORT $LN3@Created@2
	mov	ecx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [ecx+1980]
	test	eax, eax
	je	SHORT $LN3@Created@2
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [edx+12]
	cmp	eax, DWORD PTR [ebx+12]

; 1033 : 		{
; 1034 : 			objList->NodeData->As_PhysicalGameObj()->Completely_Damaged(*offense);
; 1035 : 		}
; 1036 : 		else if (objList->NodeData->definition->Get_Class_ID() == 0x3016 &&

	je	SHORT $LN70@Created@2
$LN3@Created@2:

; 1037 : 			((nc_BeaconGameObj *)objList->NodeData)->Owner.Reference &&
; 1038 : 			((nc_BeaconGameObj *)objList->NodeData)->Owner.Reference->obj->NetworkID == obj->NetworkID)

	mov	ecx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12310				; 00003016H
	jne	SHORT $LN5@Created@2
	mov	ecx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [ecx+1976]
	test	eax, eax
	je	SHORT $LN5@Created@2
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [edx+12]
	cmp	eax, DWORD PTR [ebx+12]
	jne	SHORT $LN5@Created@2
$LN70@Created@2:

; 1039 : 		{
; 1040 : 			objList->NodeData->As_PhysicalGameObj()->Completely_Damaged(*offense);

	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+36]
	call	eax
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+88]
	push	0
	call	eax
$LN5@Created@2:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL6@Created@2
$LN4@Created@2:

; 1041 : 		}
; 1042 : 	}
; 1043 : 	this->m_owner->GetSoldier()->Set_Object_Dirty_Bit(nc_DB_RARE, true);

	mov	eax, DWORD PTR [edi+28]
	mov	ecx, DWORD PTR [eax+76]
	cmp	DWORD PTR [ecx+20], 0
	pop	esi
	je	SHORT $LN57@Created@2
	mov	edx, ecx
	mov	eax, DWORD PTR [edx+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	jmp	SHORT $LN58@Created@2
$LN57@Created@2:
	xor	eax, eax
$LN58@Created@2:
	mov	edx, DWORD PTR [eax+8]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+56]
	push	1
	push	7
	call	eax

; 1044 : 	this->m_owner->GetSoldier()->Set_Object_Dirty_Bit(nc_DB_OCCASIONAL, true);

	mov	eax, DWORD PTR [edi+28]
	mov	ecx, DWORD PTR [eax+76]
	cmp	DWORD PTR [ecx+20], 0
	je	SHORT $LN60@Created@2
	mov	edx, ecx
	mov	eax, DWORD PTR [edx+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	jmp	SHORT $LN61@Created@2
$LN60@Created@2:
	xor	eax, eax
$LN61@Created@2:
	mov	edx, DWORD PTR [eax+8]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+56]
	push	1
	push	3
	call	eax

; 1045 : 	PagePlayer(this->m_owner->GetPlayerData()->PlayerId, "You are now in Spectator Mode. You may use \"!setspeed [1-50]\" to change your moving speed.");

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR [ecx+76]
	mov	eax, DWORD PTR [edx+1884]
	push	OFFSET ??_C@_0FL@ODEALCLL@You?5are?5now?5in?5Spectator?5Mode?4?5Y@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	ebx

; 1046 : }

	ret	4
?Created@gzObserverSpectator@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverSpectator::Created
_TEXT	ENDS
PUBLIC	??_C@_01GBGANLPD@0?$AA@				; `string'
PUBLIC	??_C@_0M@MKIGABNB@gzSpectator?$AA@		; `string'
PUBLIC	??_C@_0CF@ICEPJIOO@You?5are?5no?5longer?5in?5Spectator?5M@ ; `string'
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
;	COMDAT ??_C@_01GBGANLPD@0?$AA@
; File d:\source code\fds lib\new\fds_def.h
CONST	SEGMENT
??_C@_01GBGANLPD@0?$AA@ DB '0', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@MKIGABNB@gzSpectator?$AA@
CONST	SEGMENT
??_C@_0M@MKIGABNB@gzSpectator?$AA@ DB 'gzSpectator', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CF@ICEPJIOO@You?5are?5no?5longer?5in?5Spectator?5M@
CONST	SEGMENT
??_C@_0CF@ICEPJIOO@You?5are?5no?5longer?5in?5Spectator?5M@ DB 'You are no'
	DB	' longer in Spectator Mode.', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Activate@SpectateConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
$T74940 = 8						; size = 4
_text$ = 8						; size = 4
?Activate@SpectateConsoleFunction@@UAEXPAD@Z PROC	; SpectateConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1133 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp-4]
	cmp	BYTE PTR [eax], 0
	je	$LN3@Activate@16
	push	esi

; 1134 : 			return;
; 1135 : 
; 1136 : 		gzPlayer *gzData = gzPlayerManager::Find(atoi(text));

	push	eax
	call	_atoi
	push	eax
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	esi, eax
	add	esp, 8

; 1137 : 		if (gzData == NULL || gzData->GetSoldier() == NULL)

	test	esi, esi
	je	$LN19@Activate@16
	mov	eax, DWORD PTR [esi+76]
	cmp	DWORD PTR [eax+20], 0
	je	$LN19@Activate@16
	mov	ecx, eax
	mov	edx, DWORD PTR [ecx+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	test	eax, eax
	je	$LN19@Activate@16

; 1138 : 			return;
; 1139 : 
; 1140 : 		if (gzData->IsSpectator())

	cmp	BYTE PTR [esi+132], 0
	push	edi
	je	SHORT $LN2@Activate@16

; 1141 : 		{
; 1142 : 			PagePlayer(gzData->GetPlayerData()->PlayerId, "You are no longer in Spectator Mode.");

	mov	eax, DWORD PTR [esi+76]
	mov	ecx, DWORD PTR [eax+1884]
	push	OFFSET ??_C@_0CF@ICEPJIOO@You?5are?5no?5longer?5in?5Spectator?5M@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 1143 : 			gzData->GetPlayerData()->Deaths -= 1;

	mov	edi, DWORD PTR [esi+76]
	add	edi, 1896				; 00000768H
	add	esp, 8
	mov	ecx, edi
	mov	DWORD PTR $T74940[esp+4], 1
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	sub	eax, DWORD PTR $T74940[esp+4]
	lea	edx, DWORD PTR $T74940[esp+4]
	push	edx
	push	edi
	mov	DWORD PTR $T74940[esp+12], eax
	call	?Set@nc_IntDataSafeClass@@QAG_NAAH@Z	; nc_IntDataSafeClass::Set

; 1144 : 			gzData->GetSoldier()->Set_Delete_Pending();

	mov	ecx, esi
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+44]
	call	edx
	pop	edi
	pop	esi

; 1151 : 		}
; 1152 : 	}

	ret	4
$LN2@Activate@16:

; 1145 : 		}
; 1146 : 		else
; 1147 : 		{
; 1148 : 			nc_ScriptImpClass *observer = nc_ScriptManager::Create_Script("gzSpectator");

	push	OFFSET ??_C@_0M@MKIGABNB@gzSpectator?$AA@
	call	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z ; nc_ScriptManager::Create_Script
	mov	edi, eax

; 1149 : 			observer->Set_Parameters_String("0");

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+76]
	add	esp, 4
	push	OFFSET ??_C@_01GBGANLPD@0?$AA@
	mov	ecx, edi
	call	edx

; 1150 : 			gzData->GetSoldier()->Add_Observer(observer);

	push	edi
	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
	pop	edi
$LN19@Activate@16:
	pop	esi
$LN3@Activate@16:

; 1151 : 		}
; 1152 : 	}

	ret	4
?Activate@SpectateConsoleFunction@@UAEXPAD@Z ENDP	; SpectateConsoleFunction::Activate
_TEXT	ENDS
PUBLIC	??_C@_01HIHLOKLC@1?$AA@				; `string'
;	COMDAT ??_C@_01HIHLOKLC@1?$AA@
; File d:\source code\fds lib\new\fds_def.h
CONST	SEGMENT
??_C@_01HIHLOKLC@1?$AA@ DB '1', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Activate@NewSpectateConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
$T74967 = 8						; size = 4
_text$ = 8						; size = 4
?Activate@NewSpectateConsoleFunction@@UAEXPAD@Z PROC	; NewSpectateConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1168 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp-4]
	cmp	BYTE PTR [eax], 0
	je	$LN3@Activate@17
	push	esi

; 1169 : 			return;
; 1170 : 
; 1171 : 		gzPlayer *gzData = gzPlayerManager::Find(atoi(text));

	push	eax
	call	_atoi
	push	eax
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	esi, eax
	add	esp, 8

; 1172 : 		if (gzData == NULL || gzData->GetSoldier() == NULL)

	test	esi, esi
	je	$LN19@Activate@17
	mov	eax, DWORD PTR [esi+76]
	cmp	DWORD PTR [eax+20], 0
	je	$LN19@Activate@17
	mov	ecx, eax
	mov	edx, DWORD PTR [ecx+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	test	eax, eax
	je	$LN19@Activate@17

; 1173 : 			return;
; 1174 : 
; 1175 : 		if (gzData->IsSpectator())

	cmp	BYTE PTR [esi+132], 0
	push	edi
	je	SHORT $LN2@Activate@17

; 1176 : 		{
; 1177 : 			PagePlayer(gzData->GetPlayerData()->PlayerId, "You are no longer in Spectator Mode.");

	mov	eax, DWORD PTR [esi+76]
	mov	ecx, DWORD PTR [eax+1884]
	push	OFFSET ??_C@_0CF@ICEPJIOO@You?5are?5no?5longer?5in?5Spectator?5M@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 1178 : 			gzData->GetPlayerData()->Deaths -= 1;

	mov	edi, DWORD PTR [esi+76]
	add	edi, 1896				; 00000768H
	add	esp, 8
	mov	ecx, edi
	mov	DWORD PTR $T74967[esp+4], 1
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	sub	eax, DWORD PTR $T74967[esp+4]
	lea	edx, DWORD PTR $T74967[esp+4]
	push	edx
	push	edi
	mov	DWORD PTR $T74967[esp+12], eax
	call	?Set@nc_IntDataSafeClass@@QAG_NAAH@Z	; nc_IntDataSafeClass::Set

; 1179 : 			gzData->GetSoldier()->Set_Delete_Pending();

	mov	ecx, esi
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+44]
	call	edx
	pop	edi
	pop	esi

; 1186 : 		}
; 1187 : 	}

	ret	4
$LN2@Activate@17:

; 1180 : 		}
; 1181 : 		else
; 1182 : 		{
; 1183 : 			nc_ScriptImpClass *observer = nc_ScriptManager::Create_Script("gzSpectator");

	push	OFFSET ??_C@_0M@MKIGABNB@gzSpectator?$AA@
	call	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z ; nc_ScriptManager::Create_Script
	mov	edi, eax

; 1184 : 			observer->Set_Parameters_String("1");

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+76]
	add	esp, 4
	push	OFFSET ??_C@_01HIHLOKLC@1?$AA@
	mov	ecx, edi
	call	edx

; 1185 : 			gzData->GetSoldier()->Add_Observer(observer);

	push	edi
	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
	pop	edi
$LN19@Activate@17:
	pop	esi
$LN3@Activate@17:

; 1186 : 		}
; 1187 : 	}

	ret	4
?Activate@NewSpectateConsoleFunction@@UAEXPAD@Z ENDP	; NewSpectateConsoleFunction::Activate
_TEXT	ENDS
PUBLIC	??_C@_05PGGAFPFO@Death?$AA@			; `string'
PUBLIC	__real@461c3c00
EXTRN	?Check@nc_TransitionManager@@SAXPAVnc_SoldierGameObj@@_N@Z:PROC ; nc_TransitionManager::Check
;	COMDAT ??_C@_05PGGAFPFO@Death?$AA@
; File d:\source code\fds lib\new\fds_vector.h
CONST	SEGMENT
??_C@_05PGGAFPFO@Death?$AA@ DB 'Death', 00H		; `string'
CONST	ENDS
;	COMDAT __real@461c3c00
CONST	SEGMENT
__real@461c3c00 DD 0461c3c00r			; 9999
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@KillConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?Activate@KillConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@KillConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@KillConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@KillConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@KillConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@KillConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@KillConsoleFunction@@UAEXPAD@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@KillConsoleFunction@@UAEXPAD@Z$4
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@KillConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_str$ = -44						; size = 8
$T74973 = -36						; size = 8
$T74974 = -28						; size = 8
$T74977 = -20						; size = 8
$T74976 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@KillConsoleFunction@@UAEXPAD@Z PROC		; KillConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1350 : 	void Activate(char *text) {

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

; 1351 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 32					; 00000020H
	cmp	BYTE PTR [eax], 0
	je	$LN8@Activate@18
	push	esi

; 1352 : 			return;
; 1353 : 		aToken str(text);

	push	eax
	lea	ecx, DWORD PTR $T74973[esp+52]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T74973[esp+48]
	push	eax
	lea	ecx, DWORD PTR _str$[esp+52]
	mov	DWORD PTR __$EHRec$[esp+60], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T74973[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1354 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(str.gettok(1,' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T74974[esp+56]
	push	ecx
	lea	ecx, DWORD PTR _str$[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
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T74974[esp+48]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+56], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1355 : 		if (pData && pData->Owner.Reference)

	test	esi, esi
	je	$LN6@Activate@18
	cmp	DWORD PTR [esi+20], 0
	je	$LN6@Activate@18

; 1356 : 		{
; 1357 : 			if (pData->Owner.Reference->obj->As_SoldierGameObj()->Vehicle)

	mov	edx, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	push	ebx
	push	edi
	call	edx
	cmp	DWORD PTR [eax+2444], 0
	je	SHORT $LN3@Activate@18

; 1358 : 			{
; 1359 : 				nc_VehicleGameObj *veh = pData->Owner.Reference->obj->As_SoldierGameObj()->Vehicle;

	mov	eax, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	mov	edi, DWORD PTR [eax+2444]

; 1360 : 
; 1361 : 				// Driver check
; 1362 : 				bool isDriver = false;
; 1363 : 				if (veh->SeatsList[0] == pData->Owner.Reference->obj)

	mov	ecx, DWORD PTR [edi+2480]
	mov	edx, DWORD PTR [esi+20]
	mov	eax, DWORD PTR [ecx]
	xor	bl, bl
	cmp	eax, DWORD PTR [edx+4]
	jne	SHORT $LN4@Activate@18

; 1364 : 					isDriver = true;

	mov	bl, 1
$LN4@Activate@18:

; 1365 : 
; 1366 : 				nc_TransitionManager::Check(pData->Owner.Reference->obj->As_SoldierGameObj(), true);

	mov	ecx, edx
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	push	1
	call	eax
	push	eax
	call	?Check@nc_TransitionManager@@SAXPAVnc_SoldierGameObj@@_N@Z ; nc_TransitionManager::Check
	add	esp, 8

; 1367 : 				if (isDriver)

	test	bl, bl
	je	SHORT $LN3@Activate@18

; 1368 : 					veh->Set_Delete_Pending();

	mov	edx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [edx+44]
	lea	ecx, DWORD PTR [edi+8]
	call	eax
$LN3@Activate@18:

; 1369 : 			}
; 1370 : 			nc_ScriptableGameObj *killer = NULL;
; 1371 : 			if (str.gettok(2,' ').ToLong())

	push	32					; 00000020H
	push	2
	lea	ecx, DWORD PTR $T74976[esp+64]
	push	ecx
	lea	ecx, DWORD PTR _str$[esp+68]
	xor	ebx, ebx
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+64], 4
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	lea	ecx, DWORD PTR $T74976[esp+56]
	mov	edi, eax
	mov	BYTE PTR __$EHRec$[esp+64], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	test	edi, edi
	je	SHORT $LN1@Activate@18

; 1372 : 			{
; 1373 : 				nc_cPlayer *kData = nc_cPlayerManager::Find_Player(str.gettok(2, ' ').ToLong());

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T74977[esp+64]
	push	edx
	lea	ecx, DWORD PTR _str$[esp+68]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+64], 5
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T74977[esp+56]
	mov	edi, eax
	mov	BYTE PTR __$EHRec$[esp+64], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1374 : 				if (kData && kData->Owner.Reference)

	test	edi, edi
	je	SHORT $LN1@Activate@18
	mov	edi, DWORD PTR [edi+20]
	test	edi, edi
	je	SHORT $LN1@Activate@18

; 1375 : 					killer = kData->Owner.Reference->obj;

	mov	ebx, DWORD PTR [edi+4]
$LN1@Activate@18:

; 1376 : 			}
; 1377 : 			gzCommands->Apply_Damage(pData->Owner.Reference->obj, 9999.0f, "Death", killer);

	mov	eax, DWORD PTR [esi+20]
	fld	DWORD PTR __real@461c3c00
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	push	ebx
	push	OFFSET ??_C@_05PGGAFPFO@Death?$AA@
	push	ecx
	mov	ecx, DWORD PTR [eax+4]
	fstp	DWORD PTR [esp]
	mov	eax, DWORD PTR [edx+616]
	push	ecx
	call	eax
	add	esp, 16					; 00000010H
	pop	edi
	pop	ebx
$LN6@Activate@18:

; 1378 : 		}
; 1379 : 	}

	lea	ecx, DWORD PTR _str$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	esi
$LN8@Activate@18:
	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@KillConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T74973[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@KillConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _str$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@KillConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T74974[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@KillConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T74976[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@KillConsoleFunction@@UAEXPAD@Z$4:
	lea	ecx, DWORD PTR $T74977[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@KillConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@KillConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@KillConsoleFunction@@UAEXPAD@Z ENDP		; KillConsoleFunction::Activate
PUBLIC	??_C@_0BA@ICAEIHBK@gzFreeze_Player?$AA@		; `string'
EXTRN	?Find_Soldier_Of_Client_ID@nc_GameObjManager@@SAPAVnc_SoldierGameObj@@H@Z:PROC ; nc_GameObjManager::Find_Soldier_Of_Client_ID
;	COMDAT ??_C@_0BA@ICAEIHBK@gzFreeze_Player?$AA@
; File d:\source code\fds lib\new\fds_vector.h
CONST	SEGMENT
??_C@_0BA@ICAEIHBK@gzFreeze_Player?$AA@ DB 'gzFreeze_Player', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Activate@FreezeConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_text$ = 8						; size = 4
?Activate@FreezeConsoleFunction@@UAEXPAD@Z PROC		; FreezeConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1395 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp-4]
	cmp	BYTE PTR [eax], 0
	je	$LN1@Activate@19

; 1396 : 			return;
; 1397 : 		int id = atoi(text);

	push	eax
	call	_atoi
	add	esp, 4

; 1398 : 		if (id == 0)

	test	eax, eax
	je	$LN1@Activate@19
	push	edi

; 1399 : 			return;
; 1400 : 		nc_SoldierGameObj *Soldier = nc_GameObjManager::Find_Soldier_Of_Client_ID(id);

	push	eax
	call	?Find_Soldier_Of_Client_ID@nc_GameObjManager@@SAPAVnc_SoldierGameObj@@H@Z ; nc_GameObjManager::Find_Soldier_Of_Client_ID
	mov	edi, eax
	add	esp, 4

; 1401 : 		if (Soldier)

	test	edi, edi
	je	$LN23@Activate@19
	push	esi

; 1402 : 		{
; 1403 : 			int observerID = -1;
; 1404 : 			for (int i = 0; i < Soldier->Observers.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR [edi+1784], esi
	jle	SHORT $LN22@Activate@19
	npad	3
$LL7@Activate@19:

; 1405 : 			{
; 1406 : 				if (!stricmp(Soldier->Observers[i]->Get_Name(),"gzFreeze_Player"))

	mov	eax, DWORD PTR [edi+1776]
	mov	ecx, DWORD PTR [eax+esi*4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+4]
	push	OFFSET ??_C@_0BA@ICAEIHBK@gzFreeze_Player?$AA@
	call	eax
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN20@Activate@19
	add	esi, 1
	cmp	esi, DWORD PTR [edi+1784]
	jl	SHORT $LL7@Activate@19
	jmp	SHORT $LN22@Activate@19
$LN20@Activate@19:

; 1407 : 				{
; 1408 : 					observerID = i;
; 1409 : 					break;
; 1410 : 				}
; 1411 : 			}
; 1412 : 			if (observerID == -1)

	cmp	esi, -1
	jne	SHORT $LN3@Activate@19
$LN22@Activate@19:

; 1413 : 			{
; 1414 : 				nc_ScriptImpClass *observer = nc_ScriptManager::Create_Script("gzFreeze_Player");

	push	OFFSET ??_C@_0BA@ICAEIHBK@gzFreeze_Player?$AA@
	call	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z ; nc_ScriptManager::Create_Script
	add	esp, 4

; 1415 : 				if (observer)

	test	eax, eax
	je	SHORT $LN24@Activate@19

; 1416 : 					Soldier->Add_Observer(observer);

	push	eax
	mov	ecx, edi
	call	?Add_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z ; nc_ScriptableGameObj::Add_Observer
	pop	esi
	pop	edi

; 1420 : 		}
; 1421 : 	}

	ret	4
$LN3@Activate@19:

; 1417 : 			}
; 1418 : 			else
; 1419 : 				Soldier->Observers[observerID]->Custom(NULL, 703165, 0, NULL);

	mov	ecx, DWORD PTR [edi+1776]
	mov	ecx, DWORD PTR [ecx+esi*4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	push	0
	push	0
	push	703165					; 000ababdH
	push	0
	call	eax
$LN24@Activate@19:
	pop	esi
$LN23@Activate@19:
	pop	edi
$LN1@Activate@19:

; 1420 : 		}
; 1421 : 	}

	ret	4
?Activate@FreezeConsoleFunction@@UAEXPAD@Z ENDP		; FreezeConsoleFunction::Activate
_TEXT	ENDS
;	COMDAT xdata$x
; File d:\source code\fds lib\new\fds_vector.h
xdata$x	SEGMENT
__ehfuncinfo$?Activate@SetPosConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$?Activate@SetPosConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@SetPosConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$4
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$5
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@SetPosConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_Token$ = -60						; size = 8
$T75020 = -52						; size = 8
$T75021 = -44						; size = 8
$T75024 = -36						; size = 8
$T75023 = -36						; size = 8
$T75022 = -36						; size = 8
_newPos$61930 = -28					; size = 12
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@SetPosConsoleFunction@@UAEXPAD@Z PROC		; SetPosConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1648 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@SetPosConsoleFunction@@UAEXPAD@Z
	push	eax

; 1649 : 		if (!*text)

	mov	eax, DWORD PTR _text$[ebp]
	mov	DWORD PTR fs:0, esp
	sub	esp, 52					; 00000034H
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	je	$LN11@Activate@20

; 1650 : 			return;
; 1651 : 		aToken Token = text;

	push	eax
	lea	ecx, DWORD PTR $T75020[esp+76]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T75020[esp+72]
	push	eax
	lea	ecx, DWORD PTR _Token$[esp+76]
	mov	DWORD PTR __$EHRec$[esp+84], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	mov	ebx, 2
	lea	ecx, DWORD PTR $T75020[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1652 : 		if (Token.numtok(' ') == 1)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _Token$[esp+76]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 1

; 1653 : 			return;

	je	$LN1@Activate@20

; 1654 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(Token.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T75021[esp+80]
	push	ecx
	lea	ecx, DWORD PTR _Token$[esp+84]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T75021[esp+72]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+80], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1655 : 		if (pData && pData->Owner.Reference)

	test	esi, esi
	je	$LN1@Activate@20
	cmp	DWORD PTR [esi+20], 0
	je	$LN1@Activate@20

; 1656 : 		{
; 1657 : 			nc_Vector3 newPos;
; 1658 : 			pData->Owner.Reference->obj->Get_Position(&newPos);

	mov	edx, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+56]
	lea	edx, DWORD PTR _newPos$61930[esp+72]
	push	edx
	call	eax

; 1659 : 			if (Token.numtok(' ') >= 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _Token$[esp+76]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, ebx
	jl	SHORT $LN7@Activate@20

; 1660 : 				newPos.X = (float)Token.gettok(2, ' ').ToDouble();

	push	32					; 00000020H
	push	ebx
	lea	ecx, DWORD PTR $T75022[esp+80]
	push	ecx
	lea	ecx, DWORD PTR _Token$[esp+84]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 4
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	fstp	DWORD PTR _newPos$61930[esp+72]
	lea	ecx, DWORD PTR $T75022[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN7@Activate@20:

; 1661 : 			if (Token.numtok(' ') >= 3)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _Token$[esp+76]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 3
	jl	SHORT $LN6@Activate@20

; 1662 : 				newPos.Y = (float)Token.gettok(3, ' ').ToDouble();

	push	32					; 00000020H
	push	3
	lea	edx, DWORD PTR $T75023[esp+80]
	push	edx
	lea	ecx, DWORD PTR _Token$[esp+84]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 5
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	fstp	DWORD PTR _newPos$61930[esp+76]
	lea	ecx, DWORD PTR $T75023[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN6@Activate@20:

; 1663 : 			if (Token.numtok(' ') == 4)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _Token$[esp+76]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 4
	jne	SHORT $LN5@Activate@20

; 1664 : 				newPos.Z = (float)Token.gettok(4, ' ').ToDouble();

	push	32					; 00000020H
	push	eax
	lea	eax, DWORD PTR $T75024[esp+80]
	push	eax
	lea	ecx, DWORD PTR _Token$[esp+84]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 6
	call	?ToDouble@aToken@@QAENXZ		; aToken::ToDouble
	fstp	DWORD PTR _newPos$61930[esp+80]
	lea	ecx, DWORD PTR $T75024[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN5@Activate@20:

; 1665 : 			
; 1666 : 			if (pData->Owner.Reference->obj->As_SoldierGameObj()->Vehicle)

	mov	ecx, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2444], 0

; 1667 : 			{
; 1668 : 				nc_VehicleGameObj *Vehicle = pData->Owner.Reference->obj->As_SoldierGameObj()->Vehicle;

	mov	ecx, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [ecx+4]
	je	SHORT $LN4@Activate@20
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	mov	eax, DWORD PTR [eax+2444]

; 1669 : 				if (Vehicle->SeatsList.Length() > 0 && Vehicle->SeatsList[0] && Vehicle->SeatsList[0]->NetworkID == pData->Owner.Reference->obj->NetworkID)

	cmp	DWORD PTR [eax+2484], 0
	jle	SHORT $LN3@Activate@20
	mov	ecx, DWORD PTR [eax+2480]
	cmp	DWORD PTR [ecx], 0
	je	SHORT $LN3@Activate@20
	mov	edx, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+4]
	mov	ecx, DWORD PTR [ecx+12]
	cmp	ecx, DWORD PTR [edx+12]
	jne	SHORT $LN3@Activate@20

; 1670 : 					Vehicle->Set_Position(newPos);

	lea	edx, DWORD PTR _newPos$61930[esp+72]
	push	edx

; 1671 : 				else

	jmp	SHORT $LN31@Activate@20
$LN3@Activate@20:

; 1672 : 				{
; 1673 : 					nc_TransitionManager::Check(Vehicle->SeatsList[0], true);

	mov	eax, DWORD PTR [eax+2480]
	mov	ecx, DWORD PTR [eax]
	push	1
	push	ecx
	call	?Check@nc_TransitionManager@@SAXPAVnc_SoldierGameObj@@_N@Z ; nc_TransitionManager::Check

; 1674 : 					pData->Owner.Reference->obj->As_PhysicalGameObj()->Set_Position(newPos);

	mov	edx, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [ecx]
	add	esp, 8
	lea	eax, DWORD PTR _newPos$61930[esp+72]
	push	eax
	mov	eax, DWORD PTR [edx+36]
	call	eax

; 1675 : 				}
; 1676 : 			}
; 1677 : 			else

	jmp	SHORT $LN31@Activate@20
$LN4@Activate@20:

; 1678 : 				pData->Owner.Reference->obj->As_PhysicalGameObj()->Set_Position(newPos);

	mov	eax, DWORD PTR [ecx]
	lea	edx, DWORD PTR _newPos$61930[esp+72]
	push	edx
	mov	edx, DWORD PTR [eax+36]
	call	edx
$LN31@Activate@20:
	mov	ecx, eax
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position
$LN1@Activate@20:

; 1679 : 		}
; 1680 : 	}

	lea	ecx, DWORD PTR _Token$[esp+72]
	mov	DWORD PTR __$EHRec$[esp+80], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN11@Activate@20:
	mov	ecx, DWORD PTR __$EHRec$[esp+72]
	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$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T75020[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _Token$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T75021[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T75022[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$4:
	lea	ecx, DWORD PTR $T75023[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SetPosConsoleFunction@@UAEXPAD@Z$5:
	lea	ecx, DWORD PTR $T75024[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@SetPosConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@SetPosConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@SetPosConsoleFunction@@UAEXPAD@Z ENDP		; SetPosConsoleFunction::Activate
PUBLIC	??_GgzSerialBanStruct@@QAEPAXI@Z		; gzSerialBanStruct::`scalar deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??_GgzSerialBanStruct@@QAEPAXI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??_GgzSerialBanStruct@@QAEPAXI@Z$0
__ehfuncinfo$??_GgzSerialBanStruct@@QAEPAXI@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??_GgzSerialBanStruct@@QAEPAXI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??_GgzSerialBanStruct@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___flags$ = 8						; size = 4
??_GgzSerialBanStruct@@QAEPAXI@Z PROC			; gzSerialBanStruct::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??_GgzSerialBanStruct@@QAEPAXI@Z
	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+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp+16], 1
	je	SHORT $LN14@scalar@8
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN14@scalar@8:
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??_GgzSerialBanStruct@@QAEPAXI@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??_GgzSerialBanStruct@@QAEPAXI@Z:
	mov	eax, OFFSET __ehfuncinfo$??_GgzSerialBanStruct@@QAEPAXI@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??_GgzSerialBanStruct@@QAEPAXI@Z ENDP			; gzSerialBanStruct::`scalar deleting destructor'
;	COMDAT xdata$x
; File d:\source code\fds lib\new\fds_vector.h
xdata$x	SEGMENT
__unwindtable$?Activate@DestroyConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@DestroyConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@DestroyConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@DestroyConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@DestroyConsoleFunction@@UAEXPAD@Z$2
__ehfuncinfo$?Activate@DestroyConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?Activate@DestroyConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@DestroyConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
$T75085 = -36						; size = 8
_str$ = -28						; size = 8
$T75086 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@DestroyConsoleFunction@@UAEXPAD@Z PROC	; DestroyConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1945 : 	void Activate(char *text) {

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

; 1946 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	cmp	BYTE PTR [eax], 0
	je	$LN6@Activate@21
	push	esi

; 1947 : 			return;
; 1948 : 		aToken str(text);

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

; 1949 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(str.gettok(1,' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T75086[esp+48]
	push	ecx
	lea	ecx, DWORD PTR _str$[esp+52]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+48], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T75086[esp+40]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+48], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1950 : 		if (pData && pData->Owner.Reference)

	test	esi, esi
	je	$LN4@Activate@21
	cmp	DWORD PTR [esi+20], 0
	je	SHORT $LN4@Activate@21

; 1951 : 		{
; 1952 : 			if (pData->Owner.Reference->obj->As_SoldierGameObj()->Vehicle)

	mov	edx, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	cmp	DWORD PTR [eax+2444], 0
	je	SHORT $LN1@Activate@21

; 1953 : 			{
; 1954 : 				if (pData->Owner.Reference->obj->As_SoldierGameObj()->Vehicle->SeatsList[0] == pData->Owner.Reference->obj)

	mov	eax, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	mov	eax, DWORD PTR [eax+2444]
	mov	ecx, DWORD PTR [eax+2480]
	mov	edx, DWORD PTR [esi+20]
	add	eax, 2476				; 000009acH
	mov	eax, DWORD PTR [ecx]
	cmp	eax, DWORD PTR [edx+4]

; 1955 : 					pData->Owner.Reference->obj->As_SoldierGameObj()->Vehicle->Set_Delete_Pending();

	mov	ecx, edx
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	jne	SHORT $LN2@Activate@21
	call	eax
	mov	eax, DWORD PTR [eax+2444]
	mov	edx, DWORD PTR [eax+8]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+44]
	call	eax

; 1956 : 				else

	jmp	SHORT $LN1@Activate@21
$LN2@Activate@21:

; 1957 : 					nc_TransitionManager::Check(pData->Owner.Reference->obj->As_SoldierGameObj(), true);

	push	1
	call	eax
	push	eax
	call	?Check@nc_TransitionManager@@SAXPAVnc_SoldierGameObj@@_N@Z ; nc_TransitionManager::Check
	add	esp, 8
$LN1@Activate@21:

; 1958 : 			}
; 1959 : 			pData->Owner.Reference->obj->Set_Delete_Pending();

	mov	ecx, DWORD PTR [esi+20]
	mov	eax, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [eax+8]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+44]
	call	eax
$LN4@Activate@21:

; 1960 : 		}
; 1961 : 	}

	lea	ecx, DWORD PTR _str$[esp+40]
	mov	DWORD PTR __$EHRec$[esp+48], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	esi
$LN6@Activate@21:
	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@DestroyConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T75085[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@DestroyConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _str$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@DestroyConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T75086[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@DestroyConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@DestroyConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@DestroyConsoleFunction@@UAEXPAD@Z ENDP	; DestroyConsoleFunction::Activate
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@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
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
	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@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@4

; 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@4:
	pop	edi
	pop	esi

; 115  : 	};

	ret	4
?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z ENDP	; aStringArrayBase<aWideString>::Delete
_TEXT	ENDS
PUBLIC	??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z ; aMap<aString>::operator[]
EXTRN	??8aWideString@@QAE_NABV0@@Z:PROC		; aWideString::operator==
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\amap.h
;	COMDAT ??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z
_TEXT	SEGMENT
_name$ = 8						; size = 4
??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z PROC ; aMap<aString>::operator[], COMDAT
; _this$ = ecx

; 25   : 	{

	push	ebx
	push	esi
	mov	ebx, ecx

; 26   : 		for (aListNode<aMapStruct<T>> *list = this->m_Head; list != NULL; list = list->GetNext())

	mov	esi, DWORD PTR [ebx+8]
	test	esi, esi
	push	edi
	je	SHORT $LN2@operator@3
	mov	edi, DWORD PTR _name$[esp+8]
$LL7@operator@3:

; 27   : 		{
; 28   : 			if (list->GetData()->name == name)

	mov	eax, DWORD PTR [esi+4]
	push	edi
	lea	ecx, DWORD PTR [eax+8]
	call	??8aWideString@@QAE_NABV0@@Z		; aWideString::operator==
	test	al, al
	jne	SHORT $LN14@operator@3
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL7@operator@3
$LN2@operator@3:
	pop	edi
	pop	esi

; 30   : 		}
; 31   : 		return this->m_returnDefault;

	lea	eax, DWORD PTR [ebx+16]
	pop	ebx

; 32   : 	};

	ret	4
$LN14@operator@3:

; 29   : 				return list->GetData()->data;

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

; 32   : 	};

	ret	4
??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z ENDP ; aMap<aString>::operator[]
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUaSQLite3ResultData@@@@UAE@XZ	; aVector<aSQLite3ResultData *>::~aVector<aSQLite3ResultData *>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??1?$aVector@PAUaSQLite3ResultData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUaSQLite3ResultData@@@@UAE@XZ PROC	; aVector<aSQLite3ResultData *>::~aVector<aSQLite3ResultData *>, 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@PAUaSQLite3ResultData@@@@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@PAUaSQLite3ResultData@@@@UAE@XZ ENDP	; aVector<aSQLite3ResultData *>::~aVector<aSQLite3ResultData *>
_TEXT	ENDS
PUBLIC	??1?$aList@VgzPlayer@@@@UAE@XZ			; aList<gzPlayer>::~aList<gzPlayer>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\alist.h
;	COMDAT ??1?$aList@VgzPlayer@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aList@VgzPlayer@@@@UAE@XZ PROC			; aList<gzPlayer>::~aList<gzPlayer>, COMDAT
; _this$ = ecx

; 39   : 	{

	mov	DWORD PTR [ecx], OFFSET ??_7?$aList@VgzPlayer@@@@6B@

; 40   : 		this->RemoveAll();

	jmp	?RemoveAll@?$aList@VgzPlayer@@@@UAEXXZ	; aList<gzPlayer>::RemoveAll
??1?$aList@VgzPlayer@@@@UAE@XZ ENDP			; aList<gzPlayer>::~aList<gzPlayer>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertAfter@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@0@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_afterData$ = 12					; size = 4
?InsertAfter@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@0@Z PROC ; aList<gzPlayer>::InsertAfter, COMDAT
; _this$ = ecx

; 122  : 	{

	push	ebx

; 123  : 		if (afterData != NULL)

	mov	ebx, DWORD PTR _afterData$[esp]
	test	ebx, ebx
	push	edi
	mov	edi, ecx
	je	SHORT $LN17@InsertAfte
	push	esi

; 124  : 		{
; 125  : 			for (aListNode<T>* list = this->m_Head; list != NULL; list = list->m_nextNode)

	mov	esi, DWORD PTR [edi+8]
	test	esi, esi
	je	SHORT $LN16@InsertAfte
$LL5@InsertAfte:

; 126  : 			{
; 127  : 				if (list->data == afterData)

	cmp	DWORD PTR [esi+4], ebx
	je	SHORT $LN14@InsertAfte
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL5@InsertAfte
	pop	esi
	pop	edi

; 136  : 					break;
; 137  : 				}
; 138  : 			}
; 139  : 		}
; 140  : 		return false;

	xor	al, al
	pop	ebx

; 141  : 	};

	ret	8
$LN14@InsertAfte:

; 128  : 				{
; 129  : 					aListNode<T>* newNode = new aListNode<T>;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	129					; 00000081H
	push	OFFSET ??_C@_0CE@NNGLCFLD@D?3?2Source?5Code?2aLib?2include?2aLis@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new

; 130  : 					newNode->m_nextNode = list->m_nextNode;

	mov	ecx, DWORD PTR [esi]

; 131  : 					newNode->data = data;

	mov	edx, DWORD PTR _data$[esp+24]
	mov	DWORD PTR [eax], ecx
	mov	DWORD PTR [eax+4], edx

; 132  : 					list->m_nextNode = newNode;

	mov	DWORD PTR [esi], eax

; 133  : 					if (this->m_Tail && afterData == this->m_Tail->GetData())

	mov	ecx, DWORD PTR [edi+12]
	add	esp, 16					; 00000010H
	test	ecx, ecx
	je	SHORT $LN1@InsertAfte
	cmp	ebx, DWORD PTR [ecx+4]
	jne	SHORT $LN1@InsertAfte

; 134  : 						this->m_Tail = newNode;

	mov	DWORD PTR [edi+12], eax
$LN1@InsertAfte:

; 135  : 					this->m_count++;

	add	DWORD PTR [edi+4], 1
$LN16@InsertAfte:
	pop	esi
$LN17@InsertAfte:
	pop	edi

; 136  : 					break;
; 137  : 				}
; 138  : 			}
; 139  : 		}
; 140  : 		return false;

	xor	al, al
	pop	ebx

; 141  : 	};

	ret	8
?InsertAfter@?$aList@VgzPlayer@@@@UAE_NPAVgzPlayer@@0@Z ENDP ; aList<gzPlayer>::InsertAfter
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUgzSerialBanStruct@@@@UAE@XZ	; aVector<gzSerialBanStruct *>::~aVector<gzSerialBanStruct *>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??1?$aVector@PAUgzSerialBanStruct@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUgzSerialBanStruct@@@@UAE@XZ PROC	; aVector<gzSerialBanStruct *>::~aVector<gzSerialBanStruct *>, 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@PAUgzSerialBanStruct@@@@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@PAUgzSerialBanStruct@@@@UAE@XZ ENDP	; aVector<gzSerialBanStruct *>::~aVector<gzSerialBanStruct *>
_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@9
	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@9:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@9
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@9:
	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@10
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@10:
	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@PAUaSQLite3ResultData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUaSQLite3ResultData@@@@UAEPAXI@Z PROC	; aVector<aSQLite3ResultData *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
	je	SHORT $LN6@scalar@11
	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@11:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@11
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@11:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAUaSQLite3ResultData@@@@UAEPAXI@Z ENDP	; aVector<aSQLite3ResultData *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aList@VgzPlayer@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aList@VgzPlayer@@@@UAEPAXI@Z PROC			; aList<gzPlayer>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$aList@VgzPlayer@@@@6B@
	call	?RemoveAll@?$aList@VgzPlayer@@@@UAEXXZ	; aList<gzPlayer>::RemoveAll
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN6@scalar@12
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN6@scalar@12:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aList@VgzPlayer@@@@UAEPAXI@Z ENDP			; aList<gzPlayer>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAUgzSerialBanStruct@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUgzSerialBanStruct@@@@UAEPAXI@Z PROC	; aVector<gzSerialBanStruct *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzSerialBanStruct@@@@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@PAUgzSerialBanStruct@@@@UAEPAXI@Z ENDP	; aVector<gzSerialBanStruct *>::`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@VgzObserverSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@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@VgzObserverSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T75331 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverSoldier>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@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	56					; 00000038H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T75331[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], OFFSET ??_7gzObserverSoldier@@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], 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@VgzObserverSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T75331[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverSoldier>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverSpectator@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverSpectator@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverSpectator@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverSpectator@@@@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@VgzObserverSpectator@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T75354 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverSpectator@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverSpectator>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverSpectator@@@@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 $T75354[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 ??_7gzObserverSpectator@@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@VgzObserverSpectator@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T75354[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverSpectator@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverSpectator@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverSpectator@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverSpectator>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzFreeze_Player@@@@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@VgzFreeze_Player@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T75377 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzFreeze_Player>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzFreeze_Player@@@@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	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T75377[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 ??_7gzFreeze_Player@@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@VgzFreeze_Player@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T75377[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzFreeze_Player@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzFreeze_Player>::Create
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzObserverSoldier@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverSoldier@@UAEPAXI@Z PROC			; gzObserverSoldier::`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@14
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@14:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserverSoldier@@UAEPAXI@Z ENDP			; gzObserverSoldier::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzObserverSpectator@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverSpectator@@UAEPAXI@Z PROC			; gzObserverSpectator::`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@15
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@15:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserverSpectator@@UAEPAXI@Z ENDP			; gzObserverSpectator::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzFreeze_Player@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzFreeze_Player@@UAEPAXI@Z PROC			; gzFreeze_Player::`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@16
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@16:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzFreeze_Player@@UAEPAXI@Z ENDP			; gzFreeze_Player::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0aSQLite3Result@@QAE@XZ			; aSQLite3Result::aSQLite3Result
; Function compile flags: /Ogtpy
;	COMDAT ??0aSQLite3Result@@QAE@XZ
_TEXT	SEGMENT
??0aSQLite3Result@@QAE@XZ PROC				; aSQLite3Result::aSQLite3Result, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	ret	0
??0aSQLite3Result@@QAE@XZ ENDP				; aSQLite3Result::aSQLite3Result
_TEXT	ENDS
PUBLIC	??_C@_0DE@ILALCJCF@?$FLST?$FN?5?$CFls?5is?5using?5serial?5?$CF?432s?5a@ ; `string'
PUBLIC	??_C@_0CO@MLFKKHAF@SELECT?5?$CK?5FROM?5serial_ban?5WHERE?5h@ ; `string'
EXTRN	??1aSQLite3Result@@QAE@XZ:PROC			; aSQLite3Result::~aSQLite3Result
EXTRN	?Count@aSQLite3Result@@QAEHXZ:PROC		; aSQLite3Result::Count
;	COMDAT ??_C@_0DE@ILALCJCF@?$FLST?$FN?5?$CFls?5is?5using?5serial?5?$CF?432s?5a@
; File d:\source code\stgm\steventbase.h
CONST	SEGMENT
??_C@_0DE@ILALCJCF@?$FLST?$FN?5?$CFls?5is?5using?5serial?5?$CF?432s?5a@ DB '['
	DB	'ST] %ls is using serial %.32s and is in ban list.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CO@MLFKKHAF@SELECT?5?$CK?5FROM?5serial_ban?5WHERE?5h@
CONST	SEGMENT
??_C@_0CO@MLFKKHAF@SELECT?5?$CK?5FROM?5serial_ban?5WHERE?5h@ DB 'SELECT *'
	DB	' FROM serial_ban WHERE hash = ''%.32s''', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z$1
__ehfuncinfo$?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z
_TEXT	SEGMENT
$T75431 = -40						; size = 8
_res$ = -32						; size = 20
__$EHRec$ = -12						; size = 12
_evt$ = 8						; size = 4
?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z PROC ; gzSerialManager::Player_SerialHash, COMDAT
; _this$ = ecx

; 523  : {

	push	-1
	push	__ehhandler$?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 28					; 0000001cH
	push	esi
	push	edi

; 524  : #if VERC(1, 1, 0)
; 525  : 	aSQLite3Result res;

	xor	edi, edi
	mov	DWORD PTR _res$[esp+48], OFFSET ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
	mov	DWORD PTR _res$[esp+52], edi
	mov	DWORD PTR _res$[esp+56], edi
	mov	DWORD PTR _res$[esp+60], edi

; 526  : 	if (stDb->Exec(aString::Format("SELECT * FROM serial_ban WHERE hash = '%.32s'", evt.m_hash.GetString()), &res) > -1)

	mov	esi, DWORD PTR _evt$[esp+44]
	mov	eax, DWORD PTR [esi+36]
	cmp	eax, edi
	mov	DWORD PTR __$EHRec$[esp+56], edi
	je	SHORT $LN14@Player_Ser@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN15@Player_Ser@2
$LN14@Player_Ser@2:
	xor	eax, eax
$LN15@Player_Ser@2:
	push	ebx
	push	eax
	lea	eax, DWORD PTR $T75431[esp+56]
	push	OFFSET ??_C@_0CO@MLFKKHAF@SELECT?5?$CK?5FROM?5serial_ban?5WHERE?5h@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR _res$[esp+52]
	push	ecx
	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	push	eax
	mov	BYTE PTR __$EHRec$[esp+68], 1
	call	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z ; aSQLite3::Exec
	cmp	eax, -1
	lea	ecx, DWORD PTR $T75431[esp+52]
	setg	bl
	mov	BYTE PTR __$EHRec$[esp+60], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	pop	ebx
	je	SHORT $LN3@Player_Ser@2

; 527  : 	{
; 528  : 		if (res.Count() > 0)

	lea	ecx, DWORD PTR _res$[esp+48]
	call	?Count@aSQLite3Result@@QAEHXZ		; aSQLite3Result::Count
	test	eax, eax
	jle	SHORT $LN1@Player_Ser@2

; 529  : 		{
; 530  : 			stConsole::Out("[ST] %ls is using serial %.32s and is in ban list.\n", evt.GetPlayer()->PlayerName.m_Buffer, evt.m_hash.GetString());

	mov	eax, DWORD PTR [esi+36]
	cmp	eax, edi
	je	SHORT $LN23@Player_Ser@2
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN24@Player_Ser@2
$LN23@Player_Ser@2:
	xor	ecx, ecx
$LN24@Player_Ser@2:
	mov	eax, DWORD PTR [esi+24]
	mov	edx, DWORD PTR [eax+1880]
	push	ecx
	push	edx
	push	OFFSET ??_C@_0DE@ILALCJCF@?$FLST?$FN?5?$CFls?5is?5using?5serial?5?$CF?432s?5a@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out

; 531  : 			stConsole::In("kick %d", evt.GetPlayer()->PlayerId);

	mov	eax, DWORD PTR [esi+24]
	mov	eax, DWORD PTR [eax+1884]
	push	eax
	push	OFFSET ??_C@_07PGNFCLHD@kick?5?$CFd?$AA@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In
	add	esp, 20					; 00000014H

; 532  : 			return;

	jmp	SHORT $LN1@Player_Ser@2
$LN3@Player_Ser@2:

; 533  : 		}
; 534  : 	}
; 535  : 	else
; 536  : 		stDb->PrintError();

	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	call	?PrintError@stDbManager@@QAEXXZ		; stDbManager::PrintError
$LN1@Player_Ser@2:

; 537  : #else
; 538  : 	char hash32[33];
; 539  : 	strncpy(hash32, evt.m_hash.GetString(), 32);
; 540  : 	hash32[32] = '\0';
; 541  : 
; 542  : 	for (unsigned int i = 0; i < this->m_banned.Count(); i++)
; 543  : 	{
; 544  : 		if (this->m_banned[i]->hash == hash32)
; 545  : 		{
; 546  : 			stConsole::Out("[ST] %ls is using serial %.32s and is in ban list.\n", evt.GetPlayer()->PlayerName.m_Buffer, evt.m_hash.GetString());
; 547  : 			stConsole::In("kick %d", evt.GetPlayer()->PlayerId);
; 548  : 			return;
; 549  : 		}
; 550  : 	}
; 551  : #endif
; 552  : }

	lea	ecx, DWORD PTR _res$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result
	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 40					; 00000028H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z$0:
	lea	ecx, DWORD PTR _res$[ebp]
	jmp	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result
__unwindfunclet$?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z$1:
	lea	ecx, DWORD PTR $T75431[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Player_SerialHash@gzSerialManager@@UAEXAAVgzEventPlayerSerialHash@@@Z ENDP ; gzSerialManager::Player_SerialHash
PUBLIC	??_C@_0CO@ODLGGLKP@INSERT?5INTO?5serial_ban?5VALUES?5?$CI?8@ ; `string'
PUBLIC	??_C@_0CP@LLLIDHF@?$FLST?$FN?5Serial?5?$CF?432s?5is?5already?5in?5@ ; `string'
PUBLIC	??_C@_09KAEJEIOJ@No?5reason?$AA@		; `string'
PUBLIC	?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z		; gzSerialManager::Hash_Ban
;	COMDAT ??_C@_0CO@ODLGGLKP@INSERT?5INTO?5serial_ban?5VALUES?5?$CI?8@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0CO@ODLGGLKP@INSERT?5INTO?5serial_ban?5VALUES?5?$CI?8@ DB 'INSERT I'
	DB	'NTO serial_ban VALUES (''%.32s'', ''%s'')', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CP@LLLIDHF@?$FLST?$FN?5Serial?5?$CF?432s?5is?5already?5in?5@
CONST	SEGMENT
??_C@_0CP@LLLIDHF@?$FLST?$FN?5Serial?5?$CF?432s?5is?5already?5in?5@ DB '['
	DB	'ST] Serial %.32s is already in the ban list.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09KAEJEIOJ@No?5reason?$AA@
CONST	SEGMENT
??_C@_09KAEJEIOJ@No?5reason?$AA@ DB 'No reason', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z$2
__ehfuncinfo$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z
_TEXT	SEGMENT
$T75497 = -40						; size = 8
$T75494 = -40						; size = 8
_res$ = -32						; size = 20
__$EHRec$ = -12						; size = 12
_hash$ = 8						; size = 4
$T75496 = 12						; size = 1
$T75493 = 12						; size = 1
_reason$ = 12						; size = 4
?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z PROC		; gzSerialManager::Hash_Ban, COMDAT
; _this$ = ecx

; 569  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 28					; 0000001cH
	push	ebx
	push	esi
	push	edi

; 570  : 	if (!reason || !*reason)

	mov	edi, DWORD PTR _reason$[esp+48]
	xor	ebx, ebx
	cmp	edi, ebx
	je	SHORT $LN5@Hash_Ban
	cmp	BYTE PTR [edi], bl
	jne	SHORT $LN6@Hash_Ban
$LN5@Hash_Ban:

; 571  : 		reason = "No reason";

	mov	edi, OFFSET ??_C@_09KAEJEIOJ@No?5reason?$AA@
$LN6@Hash_Ban:

; 572  : #if VERC(1, 1, 0)
; 573  : 	aSQLite3Result res;

	mov	DWORD PTR _res$[esp+52], OFFSET ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
	mov	DWORD PTR _res$[esp+56], ebx
	mov	DWORD PTR _res$[esp+60], ebx
	mov	DWORD PTR _res$[esp+64], ebx

; 574  : 	if (stDb->Exec(aString::Format("SELECT * FROM serial_ban WHERE hash = '%.32s'", hash), &res) > -1)

	mov	esi, DWORD PTR _hash$[esp+48]
	push	esi
	lea	eax, DWORD PTR $T75494[esp+56]
	push	OFFSET ??_C@_0CO@MLFKKHAF@SELECT?5?$CK?5FROM?5serial_ban?5WHERE?5h@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+72], ebx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR _res$[esp+52]
	push	ecx
	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	push	eax
	mov	BYTE PTR __$EHRec$[esp+68], 1
	call	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z ; aSQLite3::Exec
	cmp	eax, -1
	lea	ecx, DWORD PTR $T75494[esp+52]
	setg	BYTE PTR $T75493[esp+48]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T75493[esp+48], bl
	je	$LN4@Hash_Ban

; 575  : 	{
; 576  : 		if (res.Count() > 0)

	lea	ecx, DWORD PTR _res$[esp+52]
	call	?Count@aSQLite3Result@@QAEHXZ		; aSQLite3Result::Count
	test	eax, eax
	jle	SHORT $LN3@Hash_Ban

; 577  : 		{
; 578  : 			stConsole::Out("[ST] Serial %.32s is already in the ban list.\n", hash);

	push	esi
	push	OFFSET ??_C@_0CP@LLLIDHF@?$FLST?$FN?5Serial?5?$CF?432s?5is?5already?5in?5@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
$LN23@Hash_Ban:

; 579  : 			return false;

	lea	ecx, DWORD PTR _res$[esp+52]
	mov	DWORD PTR __$EHRec$[esp+60], -1
	call	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result
	pop	edi
	pop	esi
	xor	al, al
	pop	ebx

; 604  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	mov	DWORD PTR fs:0, ecx
	add	esp, 40					; 00000028H
	ret	8
$LN3@Hash_Ban:

; 580  : 		}
; 581  : 		if (stDb->Exec(aString::Format("INSERT INTO serial_ban VALUES ('%.32s', '%s')", hash, reason), NULL) == -1)

	push	edi
	push	esi
	lea	edx, DWORD PTR $T75497[esp+60]
	push	OFFSET ??_C@_0CO@ODLGGLKP@INSERT?5INTO?5serial_ban?5VALUES?5?$CI?8@
	push	edx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	push	ebx
	push	eax
	mov	BYTE PTR __$EHRec$[esp+68], 2
	call	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z ; aSQLite3::Exec
	cmp	eax, -1
	lea	ecx, DWORD PTR $T75497[esp+52]
	sete	BYTE PTR $T75496[esp+48]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T75496[esp+48], bl
	je	SHORT $LN1@Hash_Ban

; 582  : 		{
; 583  : 			stDb->PrintError();

	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	call	?PrintError@stDbManager@@QAEXXZ		; stDbManager::PrintError

; 584  : 			return false;

	jmp	SHORT $LN23@Hash_Ban
$LN4@Hash_Ban:

; 585  : 		}
; 586  : 	}
; 587  : 	else
; 588  : 		stDb->PrintError();

	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	call	?PrintError@stDbManager@@QAEXXZ		; stDbManager::PrintError
$LN1@Hash_Ban:

; 589  : #else
; 590  : 	for (unsigned int i = 0; i < this->m_banned.Count(); i++)
; 591  : 	{
; 592  : 		if (this->m_banned[i]->hash == hash)
; 593  : 		{
; 594  : 			stConsole::Out("[ST] Serial %s is already in the ban list.\n", hash);
; 595  : 			return false;
; 596  : 		}
; 597  : 	}
; 598  : 	gzSerialBanStruct *sban = new gzSerialBanStruct;
; 599  : 	sban->hash = hash;
; 600  : 	sban->reason = (reason == NULL || *reason == '\0') ? "No reason" : reason;
; 601  : 	this->m_banned.Add(sban);
; 602  : #endif
; 603  : 	return true;

	lea	ecx, DWORD PTR _res$[esp+52]
	mov	DWORD PTR __$EHRec$[esp+60], -1
	call	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result

; 604  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+52]
	pop	edi
	pop	esi
	mov	al, 1
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 40					; 00000028H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z$0:
	lea	ecx, DWORD PTR _res$[ebp]
	jmp	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result
__unwindfunclet$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z$1:
	lea	ecx, DWORD PTR $T75494[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z$2:
	lea	ecx, DWORD PTR $T75497[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z ENDP		; gzSerialManager::Hash_Ban
PUBLIC	??_C@_06CEHAOENB@reason?$AA@			; `string'
PUBLIC	??_C@_04OIJGJDKO@hash?$AA@			; `string'
PUBLIC	??_C@_0DC@HNAKLFAC@SELECT?5?$CK?5FROM?5serial_ban?5WHERE?5h@ ; `string'
PUBLIC	?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z ; gzSerialManager::Hash_Search
EXTRN	?GetNext@aSQLite3Result@@QAEPAV?$aMap@VaString@@@@XZ:PROC ; aSQLite3Result::GetNext
EXTRN	??4aString@@QAEAAV0@ABV0@@Z:PROC		; aString::operator=
EXTRN	?GetFirst@aSQLite3Result@@QAEPAV?$aMap@VaString@@@@XZ:PROC ; aSQLite3Result::GetFirst
;	COMDAT ??_C@_06CEHAOENB@reason?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_06CEHAOENB@reason?$AA@ DB 'reason', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_04OIJGJDKO@hash?$AA@
CONST	SEGMENT
??_C@_04OIJGJDKO@hash?$AA@ DB 'hash', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0DC@HNAKLFAC@SELECT?5?$CK?5FROM?5serial_ban?5WHERE?5h@
CONST	SEGMENT
??_C@_0DC@HNAKLFAC@SELECT?5?$CK?5FROM?5serial_ban?5WHERE?5h@ DB 'SELECT *'
	DB	' FROM serial_ban WHERE hash LIKE ''%%%s%%''', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$6
	DD	00H
	DD	FLAT:__unwindfunclet$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$3
	DD	00H
	DD	FLAT:__unwindfunclet$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$4
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z
_TEXT	SEGMENT
_sbs$60771 = -60					; size = 4
$T75532 = -56						; size = 4
$T75537 = -52						; size = 8
$T75538 = -44						; size = 8
$T75530 = -44						; size = 8
_res$ = -36						; size = 20
__$EHRec$ = -12						; size = 12
_string$ = 8						; size = 4
_buffer$ = 12						; size = 4
?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z PROC ; gzSerialManager::Hash_Search, COMDAT
; _this$ = ecx

; 630  : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 48					; 00000030H
	push	ebx
	push	esi

; 631  : #if VERC(1, 1, 0)
; 632  : 	aSQLite3Result res;

	xor	esi, esi
	push	edi
	mov	DWORD PTR _res$[esp+72], OFFSET ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
	mov	DWORD PTR _res$[esp+76], esi
	mov	DWORD PTR _res$[esp+80], esi
	mov	DWORD PTR _res$[esp+84], esi

; 633  : 	if (stDb->Exec(aString::Format("SELECT * FROM serial_ban WHERE hash LIKE '%%%s%%'", string.GetString()), &res) > -1)

	mov	eax, DWORD PTR _string$[ebp]
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, esi
	mov	DWORD PTR __$EHRec$[esp+80], esi
	je	SHORT $LN23@Hash_Searc
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN24@Hash_Searc
$LN23@Hash_Searc:
	xor	eax, eax
$LN24@Hash_Searc:
	push	eax
	lea	ecx, DWORD PTR $T75530[esp+76]
	push	OFFSET ??_C@_0DC@HNAKLFAC@SELECT?5?$CK?5FROM?5serial_ban?5WHERE?5h@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	lea	edx, DWORD PTR _res$[esp+72]
	push	edx
	push	eax
	mov	BYTE PTR __$EHRec$[esp+88], 1
	call	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z ; aSQLite3::Exec
	cmp	eax, -1
	lea	ecx, DWORD PTR $T75530[esp+72]
	setg	bl
	mov	BYTE PTR __$EHRec$[esp+80], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN5@Hash_Searc

; 634  : 	{
; 635  : 		for (aMap<aString>* row = res.GetFirst(); row != NULL; row = res.GetNext())

	lea	ecx, DWORD PTR _res$[esp+72]
	call	?GetFirst@aSQLite3Result@@QAEPAV?$aMap@VaString@@@@XZ ; aSQLite3Result::GetFirst
	mov	edi, eax
	cmp	edi, esi
	je	$LN1@Hash_Searc
	mov	ebx, DWORD PTR _buffer$[ebp]
	npad	10
$LL4@Hash_Searc:

; 636  : 		{
; 637  : 			gzSerialBanStruct *sbs = new gzSerialBanStruct;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	637					; 0000027dH
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T75532[esp+72], esi
	test	esi, esi
	mov	BYTE PTR __$EHRec$[esp+80], 2
	je	SHORT $LN8@Hash_Searc
	mov	ecx, esi
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [esi+8]
	mov	BYTE PTR __$EHRec$[esp+80], 3
	call	??0aString@@QAE@XZ			; aString::aString
	jmp	SHORT $LN9@Hash_Searc
$LN8@Hash_Searc:
	xor	esi, esi
$LN9@Hash_Searc:

; 638  : 			sbs->hash = (*row)["hash"];

	push	OFFSET ??_C@_04OIJGJDKO@hash?$AA@
	lea	ecx, DWORD PTR $T75537[esp+76]
	mov	BYTE PTR __$EHRec$[esp+84], 0
	mov	DWORD PTR _sbs$60771[esp+76], esi
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	mov	esi, DWORD PTR [edi+8]
	test	esi, esi
	mov	BYTE PTR __$EHRec$[esp+80], 4
	je	SHORT $LN35@Hash_Searc
$LL40@Hash_Searc:
	mov	eax, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR $T75537[esp+72]
	push	ecx
	lea	ecx, DWORD PTR [eax+8]
	call	??8aWideString@@QAE_NABV0@@Z		; aWideString::operator==
	test	al, al
	jne	$LN67@Hash_Searc
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL40@Hash_Searc
$LN35@Hash_Searc:
	lea	esi, DWORD PTR [edi+16]
$LN38@Hash_Searc:
	mov	ecx, DWORD PTR _sbs$60771[esp+72]
	push	esi
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T75537[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 639  : 			sbs->reason = (*row)["reason"];

	push	OFFSET ??_C@_06CEHAOENB@reason?$AA@
	lea	ecx, DWORD PTR $T75538[esp+76]
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	mov	esi, DWORD PTR [edi+8]
	test	esi, esi
	mov	BYTE PTR __$EHRec$[esp+80], 5
	je	SHORT $LN50@Hash_Searc
	npad	5
$LL55@Hash_Searc:
	mov	eax, DWORD PTR [esi+4]
	lea	edx, DWORD PTR $T75538[esp+72]
	push	edx
	lea	ecx, DWORD PTR [eax+8]
	call	??8aWideString@@QAE_NABV0@@Z		; aWideString::operator==
	test	al, al
	jne	SHORT $LN68@Hash_Searc
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL55@Hash_Searc
$LN50@Hash_Searc:
	lea	esi, DWORD PTR [edi+16]
$LN53@Hash_Searc:
	mov	ecx, DWORD PTR _sbs$60771[esp+72]
	push	esi
	add	ecx, 8
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T75538[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 640  : 			buffer.Add(sbs);

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR _sbs$60771[esp+72]
	push	ecx
	mov	ecx, ebx
	call	edx
	lea	ecx, DWORD PTR _res$[esp+72]
	call	?GetNext@aSQLite3Result@@QAEPAV?$aMap@VaString@@@@XZ ; aSQLite3Result::GetNext
	mov	edi, eax
	test	edi, edi
	jne	$LL4@Hash_Searc

; 641  : 		}
; 642  : 	}
; 643  : 	else

	jmp	SHORT $LN1@Hash_Searc
$LN67@Hash_Searc:

; 638  : 			sbs->hash = (*row)["hash"];

	mov	esi, DWORD PTR [esi+4]
	jmp	$LN38@Hash_Searc
$LN68@Hash_Searc:

; 639  : 			sbs->reason = (*row)["reason"];

	mov	esi, DWORD PTR [esi+4]
	jmp	SHORT $LN53@Hash_Searc
$LN5@Hash_Searc:

; 644  : 		stDb->PrintError();

	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	call	?PrintError@stDbManager@@QAEXXZ		; stDbManager::PrintError
$LN1@Hash_Searc:

; 645  : #else
; 646  : 	for (unsigned int i = 0; i < this->m_banned.Count(); i++)
; 647  : 	{
; 648  : 		if (this->m_banned[i]->hash.Contain(string))
; 649  : 			buffer.Add(this->m_banned[i]);
; 650  : 	}
; 651  : #endif
; 652  : }

	lea	ecx, DWORD PTR _res$[esp+72]
	mov	DWORD PTR __$EHRec$[esp+80], -1
	call	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result
	mov	ecx, DWORD PTR __$EHRec$[esp+72]
	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$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$0:
	lea	ecx, DWORD PTR _res$[ebp]
	jmp	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result
__unwindfunclet$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$1:
	lea	ecx, DWORD PTR $T75530[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$2:
	mov	eax, DWORD PTR $T75532[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$6:
	mov	ecx, DWORD PTR $T75532[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$3:
	lea	ecx, DWORD PTR $T75537[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z$4:
	lea	ecx, DWORD PTR $T75538[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z ENDP ; gzSerialManager::Hash_Search
PUBLIC	??_C@_0BN@JJKOBFJ@?$FLST?$FN?5Serial?3?5?$CFs?$DL?5Reason?3?5?$CFs?6?$AA@ ; `string'
PUBLIC	??_C@_0BP@IIMLCBAE@?$FLST?$FN?5No?5result?5for?5serial?5?$CFs?4?6?$AA@ ; `string'
PUBLIC	??_C@_06GFPLNGOC@search?$AA@			; `string'
PUBLIC	??_C@_0CE@LJIFGOKA@?$FLST?$FN?5Serial?5?$CFs?5is?5not?5in?5ban?5lis@ ; `string'
PUBLIC	??_C@_0CD@MEKFAPDA@?$FLST?$FN?5Serial?5?$CFs?5has?5been?5unbanned@ ; `string'
PUBLIC	??_C@_06FOBLBEIN@delete?$AA@			; `string'
PUBLIC	??_C@_0CM@KINEKMDA@?$FLST?$FN?5Serial?5?$CFs?5has?5been?5added?5to@ ; `string'
PUBLIC	??_C@_0CH@PPJNNJEK@?$FLST?$FN?5?$CFls?5is?5being?5serial?5banned?4@ ; `string'
PUBLIC	??_C@_0BM@KBIHDLLA@?$FLST?$FN?5Invalid?5parameter?3?5?$CFs?6?$AA@ ; `string'
PUBLIC	??_C@_03BDGOHNNK@add?$AA@			; `string'
EXTRN	?gettok@aToken@@QAE?AV1@HHE@Z:PROC		; aToken::gettok
EXTRN	_isdigit:PROC
;	COMDAT ??_C@_0BN@JJKOBFJ@?$FLST?$FN?5Serial?3?5?$CFs?$DL?5Reason?3?5?$CFs?6?$AA@
; File d:\source code\alib\include\avector.h
CONST	SEGMENT
??_C@_0BN@JJKOBFJ@?$FLST?$FN?5Serial?3?5?$CFs?$DL?5Reason?3?5?$CFs?6?$AA@ DB '['
	DB	'ST] Serial: %s; Reason: %s', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@IIMLCBAE@?$FLST?$FN?5No?5result?5for?5serial?5?$CFs?4?6?$AA@
CONST	SEGMENT
??_C@_0BP@IIMLCBAE@?$FLST?$FN?5No?5result?5for?5serial?5?$CFs?4?6?$AA@ DB '['
	DB	'ST] No result for serial %s.', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_06GFPLNGOC@search?$AA@
CONST	SEGMENT
??_C@_06GFPLNGOC@search?$AA@ DB 'search', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CE@LJIFGOKA@?$FLST?$FN?5Serial?5?$CFs?5is?5not?5in?5ban?5lis@
CONST	SEGMENT
??_C@_0CE@LJIFGOKA@?$FLST?$FN?5Serial?5?$CFs?5is?5not?5in?5ban?5lis@ DB '['
	DB	'ST] Serial %s is not in ban list.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CD@MEKFAPDA@?$FLST?$FN?5Serial?5?$CFs?5has?5been?5unbanned@
CONST	SEGMENT
??_C@_0CD@MEKFAPDA@?$FLST?$FN?5Serial?5?$CFs?5has?5been?5unbanned@ DB '[S'
	DB	'T] Serial %s has been unbanned.', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_06FOBLBEIN@delete?$AA@
CONST	SEGMENT
??_C@_06FOBLBEIN@delete?$AA@ DB 'delete', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CM@KINEKMDA@?$FLST?$FN?5Serial?5?$CFs?5has?5been?5added?5to@
CONST	SEGMENT
??_C@_0CM@KINEKMDA@?$FLST?$FN?5Serial?5?$CFs?5has?5been?5added?5to@ DB '['
	DB	'ST] Serial %s has been added to ban list.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CH@PPJNNJEK@?$FLST?$FN?5?$CFls?5is?5being?5serial?5banned?4@
CONST	SEGMENT
??_C@_0CH@PPJNNJEK@?$FLST?$FN?5?$CFls?5is?5being?5serial?5banned?4@ DB '['
	DB	'ST] %ls is being serial banned. (%s)', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@KBIHDLLA@?$FLST?$FN?5Invalid?5parameter?3?5?$CFs?6?$AA@
CONST	SEGMENT
??_C@_0BM@KBIHDLLA@?$FLST?$FN?5Invalid?5parameter?3?5?$CFs?6?$AA@ DB '[ST'
	DB	'] Invalid parameter: %s', 0aH, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03BDGOHNNK@add?$AA@
CONST	SEGMENT
??_C@_03BDGOHNNK@add?$AA@ DB 'add', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	019H
	DD	FLAT:__unwindtable$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$2
	DD	03H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$4
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$6
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$7
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$8
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$9
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$10
	DD	0bH
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$11
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$12
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$13
	DD	0eH
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$14
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$15
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$16
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$17
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$18
	DD	013H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$19
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$20
	DD	015H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$21
	DD	016H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$22
	DD	015H
	DD	FLAT:__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$23
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Activate@SerialBanConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_Tok$ = -64						; size = 8
$T75652 = -56						; size = 8
$T75680 = -48						; size = 8
$T75678 = -48						; size = 8
$T75676 = -48						; size = 8
$T75669 = -48						; size = 8
$T75665 = -48						; size = 8
$T75663 = -48						; size = 8
$T75654 = -48						; size = 8
$T75679 = -40						; size = 8
$T75677 = -40						; size = 8
$T75674 = -40						; size = 8
$T75673 = -40						; size = 8
$T75672 = -40						; size = 8
$T75670 = -40						; size = 8
$T75667 = -40						; size = 8
$T75666 = -40						; size = 8
$T75662 = -40						; size = 8
$T75661 = -40						; size = 8
$T75660 = -40						; size = 8
$T75658 = -40						; size = 8
$T75657 = -40						; size = 8
$T75655 = -40						; size = 8
_list$62111 = -32					; size = 16
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@SerialBanConsoleFunction@@UAEXPAD@Z PROC	; SerialBanConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1754 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z
	push	eax

; 1755 : 		if (!text || !*text)

	mov	eax, DWORD PTR _text$[ebp]
	mov	DWORD PTR fs:0, esp
	sub	esp, 56					; 00000038H
	push	ebx
	push	esi
	push	edi
	xor	edi, edi
	cmp	eax, edi
	je	$LN22@Activate@22
	cmp	BYTE PTR [eax], 0
	je	$LN22@Activate@22

; 1756 : 			return;
; 1757 : 		aToken Tok(text);

	push	eax
	lea	ecx, DWORD PTR $T75652[esp+84]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T75652[esp+80]
	push	eax
	lea	ecx, DWORD PTR _Tok$[esp+84]
	mov	DWORD PTR __$EHRec$[esp+92], edi
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T75652[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1758 : 		if (Tok.gettok(1,' ').GetData() == "add")

	push	OFFSET ??_C@_03BDGOHNNK@add?$AA@
	lea	ecx, DWORD PTR $T75654[esp+84]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T75655[esp+88]
	push	ecx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	mov	BYTE PTR __$EHRec$[esp+100], 3
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	lea	edx, DWORD PTR $T75654[esp+80]
	push	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+92], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	??8@YA_NABVaString@@0@Z			; operator==
	add	esp, 8
	lea	ecx, DWORD PTR $T75655[esp+80]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+88], 3
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T75654[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN21@Activate@22

; 1759 : 		{
; 1760 : 			if (Tok.gettok(2,' ').GetData().Len() != 32)

	push	32					; 00000020H
	push	2
	lea	eax, DWORD PTR $T75657[esp+88]
	push	eax
	lea	ecx, DWORD PTR _Tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 5
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	ecx, eax
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	cmp	eax, 32					; 00000020H
	lea	ecx, DWORD PTR $T75657[esp+80]
	setne	bl
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	test	bl, bl

; 1761 : 			{
; 1762 : 				for (int i = (Tok.gettok(2,' ').GetData().Len() - 1); i >= 0; i--)

	push	32					; 00000020H
	je	$LN20@Activate@22
	push	2
	lea	ecx, DWORD PTR $T75658[esp+88]
	push	ecx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 6
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	ecx, eax
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	mov	esi, eax
	lea	ecx, DWORD PTR $T75658[esp+80]
	sub	esi, 1
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	cmp	esi, edi
	jl	SHORT $LN17@Activate@22
$LL19@Activate@22:

; 1763 : 				{
; 1764 : 					if (!isdigit(Tok.gettok(2,' ').GetData()[i]))

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T75660[esp+88]
	push	edx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 7
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax]
	movsx	eax, BYTE PTR [eax+esi]
	push	eax
	call	_isdigit
	add	esp, 4
	test	eax, eax
	lea	ecx, DWORD PTR $T75660[esp+80]
	sete	bl
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	test	bl, bl
	jne	SHORT $LN157@Activate@22

; 1761 : 			{
; 1762 : 				for (int i = (Tok.gettok(2,' ').GetData().Len() - 1); i >= 0; i--)

	sub	esi, 1
	jns	SHORT $LL19@Activate@22
$LN17@Activate@22:

; 1768 : 					}
; 1769 : 				}
; 1770 : 				nc_cPlayer *pData = nc_cPlayerManager::Find_Player(Tok.gettok(2,' ').ToLong());

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T75662[esp+88]
	push	edx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 9
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T75662[esp+80]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1771 : 				if (!pData)

	cmp	esi, edi

; 1772 : 					return;

	lea	ecx, DWORD PTR _Tok$[esp+80]
	je	$LN162@Activate@22

; 1773 : 
; 1774 : 				bool result = gzSerialMgr->Hash_Ban(pData->GameSpyHashId.m_Buffer, Tok.gettok(3,Tok.numtok(' ') - 2,' ').GetData().GetString());

	push	32					; 00000020H
	push	32					; 00000020H
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	sub	eax, 2
	push	eax
	push	3
	lea	eax, DWORD PTR $T75663[esp+92]
	push	eax
	lea	ecx, DWORD PTR _Tok$[esp+96]
	call	?gettok@aToken@@QAE?AV1@HHE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 10		; 0000000aH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, edi
	je	SHORT $LN76@Activate@22
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN77@Activate@22
$LN157@Activate@22:

; 1765 : 					{
; 1766 : 						stConsole::Out("[ST] Invalid parameter: %s\n", Tok.gettok(2,' ').GetData().GetString());

	push	32					; 00000020H
	push	2
	lea	ecx, DWORD PTR $T75661[esp+88]
	push	ecx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 8
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, edi
	je	SHORT $LN70@Activate@22
	mov	eax, DWORD PTR [eax]
	push	eax
	push	OFFSET ??_C@_0BM@KBIHDLLA@?$FLST?$FN?5Invalid?5parameter?3?5?$CFs?6?$AA@

; 1767 : 						return;

	jmp	$LN163@Activate@22

; 1765 : 					{
; 1766 : 						stConsole::Out("[ST] Invalid parameter: %s\n", Tok.gettok(2,' ').GetData().GetString());

$LN70@Activate@22:
	xor	eax, eax
	push	eax
	push	OFFSET ??_C@_0BM@KBIHDLLA@?$FLST?$FN?5Invalid?5parameter?3?5?$CFs?6?$AA@

; 1767 : 						return;

	jmp	$LN163@Activate@22

; 1773 : 
; 1774 : 				bool result = gzSerialMgr->Hash_Ban(pData->GameSpyHashId.m_Buffer, Tok.gettok(3,Tok.numtok(' ') - 2,' ').GetData().GetString());

$LN76@Activate@22:
	xor	eax, eax
$LN77@Activate@22:
	mov	ecx, DWORD PTR [esi+1968]
	push	eax
	push	ecx
	mov	ecx, DWORD PTR ?gzSerialMgr@@3PAVgzSerialManager@@A ; gzSerialMgr
	call	?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z	; gzSerialManager::Hash_Ban
	lea	ecx, DWORD PTR $T75663[esp+80]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1775 : 				stConsole::In("kick %d", pData->PlayerId);

	mov	edx, DWORD PTR [esi+1884]
	push	edx
	push	OFFSET ??_C@_07PGNFCLHD@kick?5?$CFd?$AA@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In
	add	esp, 8

; 1776 : 				if (result)

	test	bl, bl
	je	$LN6@Activate@22

; 1777 : 				{
; 1778 : 					stConsole::Out("[ST] %ls is being serial banned. (%s)\n",
; 1779 : 						pData->PlayerName.m_Buffer,
; 1780 : 						pData->GameSpyHashId.m_Buffer
; 1781 : 					);

	mov	eax, DWORD PTR [esi+1968]
	mov	ecx, DWORD PTR [esi+1880]
	push	eax
	push	ecx
	push	OFFSET ??_C@_0CH@PPJNNJEK@?$FLST?$FN?5?$CFls?5is?5being?5serial?5banned?4@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 12					; 0000000cH

; 1782 : 				}
; 1783 : 			}

	jmp	$LN6@Activate@22
$LN20@Activate@22:

; 1784 : 			else if (gzSerialMgr->Hash_Ban(Tok.gettok(2,' ').GetData().GetString(), Tok.gettok(3,Tok.numtok(' ') - 2, ' ').GetData().GetString()))

	push	32					; 00000020H
	lea	ecx, DWORD PTR _Tok$[esp+88]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	sub	eax, 2
	push	eax
	push	3
	lea	edx, DWORD PTR $T75665[esp+92]
	push	edx
	lea	ecx, DWORD PTR _Tok$[esp+96]
	call	?gettok@aToken@@QAE?AV1@HHE@Z		; aToken::gettok
	mov	esi, eax
	push	32					; 00000020H
	push	2
	lea	eax, DWORD PTR $T75666[esp+88]
	push	eax
	lea	ecx, DWORD PTR _Tok$[esp+92]
	mov	BYTE PTR __$EHRec$[esp+100], 11		; 0000000bH
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ebx, eax
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+88], 12		; 0000000cH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, edi
	je	SHORT $LN82@Activate@22
	mov	esi, DWORD PTR [eax]
	jmp	SHORT $LN83@Activate@22
$LN82@Activate@22:
	xor	esi, esi
$LN83@Activate@22:
	mov	ecx, ebx
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, edi
	je	SHORT $LN88@Activate@22
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN89@Activate@22
$LN88@Activate@22:
	xor	eax, eax
$LN89@Activate@22:
	mov	ecx, DWORD PTR ?gzSerialMgr@@3PAVgzSerialManager@@A ; gzSerialMgr
	push	esi
	push	eax
	call	?Hash_Ban@gzSerialManager@@QAE_NPBD0@Z	; gzSerialManager::Hash_Ban
	lea	ecx, DWORD PTR $T75666[esp+80]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+88], 11		; 0000000bH
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T75665[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	test	bl, bl
	je	$LN6@Activate@22

; 1785 : 				stConsole::Out("[ST] Serial %s has been added to ban list.\n", Tok.gettok(2, ' ').GetData().GetString());

	push	32					; 00000020H
	push	2
	lea	ecx, DWORD PTR $T75667[esp+88]
	push	ecx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 13		; 0000000dH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, edi
	je	SHORT $LN94@Activate@22
	mov	eax, DWORD PTR [eax]
	push	eax
	push	OFFSET ??_C@_0CM@KINEKMDA@?$FLST?$FN?5Serial?5?$CFs?5has?5been?5added?5to@

; 1786 : 		}

	jmp	$LN163@Activate@22

; 1785 : 				stConsole::Out("[ST] Serial %s has been added to ban list.\n", Tok.gettok(2, ' ').GetData().GetString());

$LN94@Activate@22:
	xor	eax, eax
	push	eax
	push	OFFSET ??_C@_0CM@KINEKMDA@?$FLST?$FN?5Serial?5?$CFs?5has?5been?5added?5to@

; 1786 : 		}

	jmp	$LN163@Activate@22
$LN21@Activate@22:

; 1787 : 		else if (Tok.gettok(1,' ').GetData() == "delete")

	push	OFFSET ??_C@_06FOBLBEIN@delete?$AA@
	lea	ecx, DWORD PTR $T75669[esp+84]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	1
	lea	edx, DWORD PTR $T75670[esp+88]
	push	edx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	mov	BYTE PTR __$EHRec$[esp+100], 14		; 0000000eH
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	lea	ecx, DWORD PTR $T75669[esp+80]
	push	ecx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+92], 15		; 0000000fH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	??8@YA_NABVaString@@0@Z			; operator==
	add	esp, 8
	lea	ecx, DWORD PTR $T75670[esp+80]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+88], 14		; 0000000eH
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T75669[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN10@Activate@22

; 1788 : 		{
; 1789 : 			if (gzSerialMgr->Hash_Unban(Tok.gettok(2,' ').GetData()))

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T75672[esp+88]
	push	edx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 16		; 00000010H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	ecx, DWORD PTR ?gzSerialMgr@@3PAVgzSerialManager@@A ; gzSerialMgr
	push	eax
	call	?Hash_Unban@gzSerialManager@@QAE_NABVaString@@@Z ; gzSerialManager::Hash_Unban
	lea	ecx, DWORD PTR $T75672[esp+80]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	test	bl, bl

; 1790 : 				stConsole::Out("[ST] Serial %s has been unbanned.\n", Tok.gettok(2,' ').GetData().GetString());

	push	32					; 00000020H
	push	2
	je	SHORT $LN9@Activate@22
	lea	eax, DWORD PTR $T75673[esp+88]
	push	eax
	lea	ecx, DWORD PTR _Tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 17		; 00000011H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, edi
	je	SHORT $LN103@Activate@22
	mov	eax, DWORD PTR [eax]
	push	eax
	push	OFFSET ??_C@_0CD@MEKFAPDA@?$FLST?$FN?5Serial?5?$CFs?5has?5been?5unbanned@

; 1791 : 			else

	jmp	SHORT $LN163@Activate@22

; 1790 : 				stConsole::Out("[ST] Serial %s has been unbanned.\n", Tok.gettok(2,' ').GetData().GetString());

$LN103@Activate@22:
	xor	eax, eax
	push	eax
	push	OFFSET ??_C@_0CD@MEKFAPDA@?$FLST?$FN?5Serial?5?$CFs?5has?5been?5unbanned@

; 1791 : 			else

	jmp	SHORT $LN163@Activate@22
$LN9@Activate@22:

; 1792 : 				stConsole::Out("[ST] Serial %s is not in ban list.\n", Tok.gettok(2,' ').GetData().GetString());

	lea	ecx, DWORD PTR $T75674[esp+88]
	push	ecx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 18		; 00000012H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, edi
	je	SHORT $LN109@Activate@22
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN110@Activate@22
$LN109@Activate@22:
	xor	eax, eax
$LN110@Activate@22:
	push	eax
	push	OFFSET ??_C@_0CE@LJIFGOKA@?$FLST?$FN?5Serial?5?$CFs?5is?5not?5in?5ban?5lis@
$LN163@Activate@22:
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
	lea	ecx, DWORD PTR $T75674[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	jmp	$LN6@Activate@22
$LN10@Activate@22:

; 1793 : 		}
; 1794 : 		else if (Tok.gettok(1,' ').GetData() == "search")

	push	OFFSET ??_C@_06GFPLNGOC@search?$AA@
	lea	ecx, DWORD PTR $T75676[esp+84]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	1
	lea	edx, DWORD PTR $T75677[esp+88]
	push	edx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	mov	BYTE PTR __$EHRec$[esp+100], 19		; 00000013H
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	lea	ecx, DWORD PTR $T75676[esp+80]
	push	ecx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+92], 20		; 00000014H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	??8@YA_NABVaString@@0@Z			; operator==
	add	esp, 8
	lea	ecx, DWORD PTR $T75677[esp+80]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+88], 19		; 00000013H
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T75676[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN6@Activate@22

; 1795 : 		{
; 1796 : 			aVector<gzSerialBanStruct *> list;

	mov	DWORD PTR _list$62111[esp+80], OFFSET ??_7?$aVector@PAUgzSerialBanStruct@@@@6B@
	mov	DWORD PTR _list$62111[esp+84], edi
	mov	DWORD PTR _list$62111[esp+88], edi
	mov	DWORD PTR _list$62111[esp+92], edi

; 1797 : 			gzSerialMgr->Hash_Search(Tok.gettok(2, ' ').GetData().GetString(), list);

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T75679[esp+88]
	push	edx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	mov	BYTE PTR __$EHRec$[esp+100], 21		; 00000015H
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	bl, 22					; 00000016H
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], bl
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, edi
	je	SHORT $LN120@Activate@22
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN121@Activate@22
$LN120@Activate@22:
	xor	eax, eax
$LN121@Activate@22:
	push	eax
	lea	ecx, DWORD PTR $T75678[esp+84]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR _list$62111[esp+80]
	push	eax
	lea	ecx, DWORD PTR $T75678[esp+84]
	push	ecx
	mov	ecx, DWORD PTR ?gzSerialMgr@@3PAVgzSerialManager@@A ; gzSerialMgr
	mov	BYTE PTR __$EHRec$[esp+96], 23		; 00000017H
	call	?Hash_Search@gzSerialManager@@QAEXABVaString@@AAV?$aVector@PAUgzSerialBanStruct@@@@@Z ; gzSerialManager::Hash_Search
	lea	ecx, DWORD PTR $T75678[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T75679[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], 21		; 00000015H
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1798 : 			if (list.Count() == 0)

	mov	eax, DWORD PTR _list$62111[esp+92]
	cmp	eax, edi
	jne	SHORT $LN5@Activate@22

; 1799 : 				stConsole::Out("[ST] No result for serial %s.\n", Tok.gettok(2, ' ').GetData().GetString());

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T75680[esp+88]
	push	edx
	lea	ecx, DWORD PTR _Tok$[esp+92]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+88], 24		; 00000018H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, edi
	je	SHORT $LN131@Activate@22
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN132@Activate@22
$LN131@Activate@22:
	xor	eax, eax
$LN132@Activate@22:
	push	eax
	push	OFFSET ??_C@_0BP@IIMLCBAE@?$FLST?$FN?5No?5result?5for?5serial?5?$CFs?4?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
	lea	ecx, DWORD PTR $T75680[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], 21		; 00000015H
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1800 : 			else

	jmp	SHORT $LN4@Activate@22
$LN5@Activate@22:

; 1801 : 			{
; 1802 : 				for (unsigned int i = 0; i < list.Count(); i++)

	xor	esi, esi
	cmp	eax, edi
	jbe	SHORT $LN1@Activate@22
$LL3@Activate@22:

; 1803 : 				{
; 1804 : #if VERC(1, 1, 0)
; 1805 : 					stConsole::Out("[ST] Serial: %s; Reason: %s\n", list[i]->hash.GetString(), list[i]->reason.GetString());

	mov	eax, DWORD PTR _list$62111[esp+84]
	mov	ecx, DWORD PTR [eax+esi*4]
	mov	eax, DWORD PTR [ecx+12]
	cmp	eax, edi
	je	SHORT $LN141@Activate@22
	mov	edx, DWORD PTR [eax]
	jmp	SHORT $LN142@Activate@22
$LN141@Activate@22:
	xor	edx, edx
$LN142@Activate@22:
	mov	ecx, DWORD PTR [ecx+4]
	cmp	ecx, edi
	je	SHORT $LN149@Activate@22
	mov	eax, DWORD PTR [ecx]
	jmp	SHORT $LN150@Activate@22
$LN149@Activate@22:
	xor	eax, eax
$LN150@Activate@22:
	push	edx
	push	eax
	push	OFFSET ??_C@_0BN@JJKOBFJ@?$FLST?$FN?5Serial?3?5?$CFs?$DL?5Reason?3?5?$CFs?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out

; 1806 : 					delete list[i];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	1806					; 0000070eH
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR _list$62111[esp+108]
	mov	ecx, DWORD PTR [ecx+esi*4]
	add	esp, 24					; 00000018H
	cmp	ecx, edi
	je	SHORT $LN2@Activate@22
	push	1
	call	??_GgzSerialBanStruct@@QAEPAXI@Z
$LN2@Activate@22:
	add	esi, 1
	cmp	esi, DWORD PTR _list$62111[esp+92]
	jb	SHORT $LL3@Activate@22
$LN1@Activate@22:

; 1807 : #else
; 1808 : 					stConsole::Out("[ST] Serial: %s; Reason: %ls\n", list[i]->hash.GetString(), list[i]->reason.GetString());
; 1809 : #endif
; 1810 : 				}
; 1811 : #if VERC(1, 1, 0)
; 1812 : 				list.Clear();

	lea	ecx, DWORD PTR _list$62111[esp+80]
	call	?Clear@?$aVector@PAUgzSerialBanStruct@@@@UAEXXZ ; aVector<gzSerialBanStruct *>::Clear
$LN4@Activate@22:

; 1813 : #endif
; 1814 : 			}
; 1815 : 		}

	lea	ecx, DWORD PTR _list$62111[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], 2
	call	??1?$aVector@PAUgzSerialBanStruct@@@@UAE@XZ ; aVector<gzSerialBanStruct *>::~aVector<gzSerialBanStruct *>
$LN6@Activate@22:

; 1816 : 	}

	lea	ecx, DWORD PTR _Tok$[esp+80]
$LN162@Activate@22:
	mov	DWORD PTR __$EHRec$[esp+88], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN22@Activate@22:
	mov	ecx, DWORD PTR __$EHRec$[esp+80]
	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$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T75652[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _Tok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T75654[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T75655[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$4:
	lea	ecx, DWORD PTR $T75657[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$5:
	lea	ecx, DWORD PTR $T75658[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$6:
	lea	ecx, DWORD PTR $T75660[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$8:
	lea	ecx, DWORD PTR $T75662[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$9:
	lea	ecx, DWORD PTR $T75663[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$7:
	lea	ecx, DWORD PTR $T75661[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$10:
	lea	ecx, DWORD PTR $T75665[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$11:
	lea	ecx, DWORD PTR $T75666[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$12:
	lea	ecx, DWORD PTR $T75667[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$13:
	lea	ecx, DWORD PTR $T75669[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$14:
	lea	ecx, DWORD PTR $T75670[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$15:
	lea	ecx, DWORD PTR $T75672[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$16:
	lea	ecx, DWORD PTR $T75673[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$17:
	lea	ecx, DWORD PTR $T75674[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$18:
	lea	ecx, DWORD PTR $T75676[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$19:
	lea	ecx, DWORD PTR $T75677[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$20:
	lea	ecx, DWORD PTR _list$62111[ebp]
	jmp	??1?$aVector@PAUgzSerialBanStruct@@@@UAE@XZ ; aVector<gzSerialBanStruct *>::~aVector<gzSerialBanStruct *>
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$21:
	lea	ecx, DWORD PTR $T75679[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$22:
	lea	ecx, DWORD PTR $T75678[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z$23:
	lea	ecx, DWORD PTR $T75680[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@SerialBanConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@SerialBanConsoleFunction@@UAEXPAD@Z ENDP	; SerialBanConsoleFunction::Activate
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@17
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@17:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideStringArray@@UAEPAXI@Z ENDP			; aWideStringArray::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_02EGCJHIOB@id?$AA@			; `string'
PUBLIC	??_C@_0CM@OIHLMAM@INSERT?5INTO?5player_id?5?$CIname?$CJ?5VAL@ ; `string'
PUBLIC	??_C@_0CL@KDHMIFAG@SELECT?5?$CK?5FROM?5player_id?5WHERE?5na@ ; `string'
PUBLIC	?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z ; gzPlayerManager::Player_Joined
EXTRN	?Request_Serial@@YAXH@Z:PROC			; Request_Serial
EXTRN	?Get_Game_Mode@@YAIXZ:PROC			; Get_Game_Mode
EXTRN	?GetLastInsertId@aSQLite3@@QAE_JXZ:PROC		; aSQLite3::GetLastInsertId
;	COMDAT ??_C@_02EGCJHIOB@id?$AA@
; File d:\source code\stgm\steventbase.h
CONST	SEGMENT
??_C@_02EGCJHIOB@id?$AA@ DB 'id', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CM@OIHLMAM@INSERT?5INTO?5player_id?5?$CIname?$CJ?5VAL@
CONST	SEGMENT
??_C@_0CM@OIHLMAM@INSERT?5INTO?5player_id?5?$CIname?$CJ?5VAL@ DB 'INSERT '
	DB	'INTO player_id (name) VALUES (''%ls'')', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CL@KDHMIFAG@SELECT?5?$CK?5FROM?5player_id?5WHERE?5na@
CONST	SEGMENT
??_C@_0CL@KDHMIFAG@SELECT?5?$CK?5FROM?5player_id?5WHERE?5na@ DB 'SELECT *'
	DB	' FROM player_id WHERE name = ''%ls''', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z$2
	DD	01H
	DD	FLAT:__unwindfunclet$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z$3
	DD	01H
	DD	FLAT:__unwindfunclet$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z$4
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
xdata$x	ENDS
;	COMDAT ?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T76008 = -40						; size = 8
$T76007 = -40						; size = 8
$T76005 = -40						; size = 8
_stid$60615 = -32					; size = 20
__$EHRec$ = -12						; size = 12
$T75999 = 8						; size = 4
_evt$ = 8						; size = 4
?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z PROC ; gzPlayerManager::Player_Joined, COMDAT
; _this$ = ecx

; 389  : {

	push	-1
	push	__ehhandler$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 32					; 00000020H

; 390  : 	gzPlayer *gzData = this->Find(evt.GetPlayer());

	mov	eax, DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A+8
	push	ebx
	push	ebp
	push	esi
	mov	esi, DWORD PTR _evt$[esp+52]
	mov	edx, DWORD PTR [esi+24]
	xor	ebp, ebp
	cmp	eax, ebp
	mov	ebx, ecx
	push	edi
	mov	DWORD PTR _this$[esp+60], ebx
	je	SHORT $LN87@Player_Joi
$LL31@Player_Joi:
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+76], edx
	je	SHORT $LN85@Player_Joi
	mov	eax, DWORD PTR [eax]
	cmp	eax, ebp
	jne	SHORT $LL31@Player_Joi
	jmp	SHORT $LN87@Player_Joi
$LN85@Player_Joi:
	mov	edi, ecx

; 391  : 	if (!gzData)

	cmp	edi, ebp
	jne	$LN9@Player_Joi
$LN87@Player_Joi:

; 392  : 	{
; 393  : 		gzPlayer *newData = new gzPlayer(evt.GetPlayer());

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	393					; 00000189H
	push	OFFSET ??_C@_0P@BOCAJEHF@?4?2stplayer?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 $T75999[esp+56], eax
	cmp	eax, ebp
	mov	DWORD PTR __$EHRec$[esp+68], ebp
	je	SHORT $LN12@Player_Joi
	mov	edx, DWORD PTR [esi+24]
	push	edx
	mov	ecx, eax
	call	??0gzPlayer@@QAE@PAVnc_cPlayer@@@Z	; gzPlayer::gzPlayer
	mov	edi, eax
	jmp	SHORT $LN13@Player_Joi
$LN12@Player_Joi:
	xor	edi, edi
$LN13@Player_Joi:

; 394  : 		newData->SetBHSVersion(this->m_bhsVersion[evt.GetPlayer()->PlayerId]);

	mov	eax, DWORD PTR [esi+24]
	mov	eax, DWORD PTR [eax+1884]
	fld	DWORD PTR [ebx+eax*4+40]
	fstp	DWORD PTR [edi+128]

; 395  : 
; 396  : #if VERC(1, 1, 0)
; 397  : 		aSQLite3Result stid;

	mov	DWORD PTR _stid$60615[esp+60], OFFSET ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
	mov	DWORD PTR _stid$60615[esp+64], ebp
	mov	DWORD PTR _stid$60615[esp+68], ebp
	mov	DWORD PTR _stid$60615[esp+72], ebp

; 398  : 		if (stDb->Exec(aString::Format("SELECT * FROM player_id WHERE name = '%ls'", evt.GetPlayer()->PlayerName.m_Buffer), &stid) > -1)

	mov	eax, DWORD PTR [esi+24]
	mov	ecx, DWORD PTR [eax+1880]
	push	ecx
	lea	edx, DWORD PTR $T76005[esp+64]
	push	OFFSET ??_C@_0CL@KDHMIFAG@SELECT?5?$CK?5FROM?5player_id?5WHERE?5na@
	push	edx
	mov	DWORD PTR __$EHRec$[esp+80], 1
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR _stid$60615[esp+60]
	push	ecx
	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	push	eax
	mov	BYTE PTR __$EHRec$[esp+76], 2
	call	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z ; aSQLite3::Exec
	cmp	eax, -1
	lea	ecx, DWORD PTR $T76005[esp+60]
	setg	bl
	mov	BYTE PTR __$EHRec$[esp+68], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN8@Player_Joi

; 399  : 		{
; 400  : 			if (stid.GetFirst() == NULL)

	lea	ecx, DWORD PTR _stid$60615[esp+60]
	call	?GetFirst@aSQLite3Result@@QAEPAV?$aMap@VaString@@@@XZ ; aSQLite3Result::GetFirst
	test	eax, eax
	jne	SHORT $LN7@Player_Joi

; 401  : 			{
; 402  : 				if (stDb->Exec(aString::Format("INSERT INTO player_id (name) VALUES ('%ls')", evt.GetPlayer()->PlayerName.m_Buffer), NULL) > -1)

	mov	eax, DWORD PTR [esi+24]
	mov	edx, DWORD PTR [eax+1880]
	push	edx
	lea	eax, DWORD PTR $T76007[esp+64]
	push	OFFSET ??_C@_0CM@OIHLMAM@INSERT?5INTO?5player_id?5?$CIname?$CJ?5VAL@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	push	ebp
	push	eax
	mov	BYTE PTR __$EHRec$[esp+76], 3
	call	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z ; aSQLite3::Exec
	cmp	eax, -1
	lea	ecx, DWORD PTR $T76007[esp+60]
	setg	bl
	mov	BYTE PTR __$EHRec$[esp+68], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl

; 403  : 					newData->SetStId((int)stDb->GetLastInsertId());

	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	je	SHORT $LN6@Player_Joi
	call	?GetLastInsertId@aSQLite3@@QAE_JXZ	; aSQLite3::GetLastInsertId
	mov	DWORD PTR [edi+148], eax

; 404  : 				else

	jmp	SHORT $LN3@Player_Joi
$LN7@Player_Joi:

; 405  : 					stDb->PrintError();
; 406  : 			}
; 407  : 			else
; 408  : 				newData->SetStId((int)(*stid.GetFirst())["id"].ToLong());

	push	OFFSET ??_C@_02EGCJHIOB@id?$AA@
	lea	ecx, DWORD PTR $T76008[esp+64]
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T76008[esp+60]
	push	ecx
	lea	ecx, DWORD PTR _stid$60615[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetFirst@aSQLite3Result@@QAEPAV?$aMap@VaString@@@@XZ ; aSQLite3Result::GetFirst
	mov	ecx, eax
	call	??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z ; aMap<aString>::operator[]
	mov	ecx, eax
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	lea	ecx, DWORD PTR $T76008[esp+60]
	mov	DWORD PTR [edi+148], eax
	mov	BYTE PTR __$EHRec$[esp+68], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 409  : 		}
; 410  : 		else

	jmp	SHORT $LN3@Player_Joi
$LN8@Player_Joi:

; 411  : 			stDb->PrintError();

	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
$LN6@Player_Joi:
	call	?PrintError@stDbManager@@QAEXXZ		; stDbManager::PrintError
$LN3@Player_Joi:

; 412  : #endif
; 413  : 		if (Get_Game_Mode() != 4)

	call	?Get_Game_Mode@@YAIXZ			; Get_Game_Mode
	cmp	eax, 4
	je	SHORT $LN2@Player_Joi

; 414  : 			Request_Serial(evt.GetPlayer()->PlayerId);

	mov	eax, DWORD PTR [esi+24]
	mov	edx, DWORD PTR [eax+1884]
	push	edx
	call	?Request_Serial@@YAXH@Z			; Request_Serial
	add	esp, 4
$LN2@Player_Joi:

; 415  : 	}

	lea	ecx, DWORD PTR _stid$60615[esp+60]
	mov	DWORD PTR __$EHRec$[esp+68], -1
	call	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result

; 416  : 	else

	mov	ebx, DWORD PTR _this$[esp+60]
	jmp	SHORT $LN80@Player_Joi
$LN9@Player_Joi:

; 417  : 	{
; 418  : 		gzData->SetIsActive(true);

	mov	BYTE PTR [edi+88], 1

; 419  : 		gzData->SetAfkPrevScore(evt.GetPlayer()->Score.Get());

	mov	eax, DWORD PTR [esi+24]
	lea	ecx, DWORD PTR [eax+4]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR [edi+108]

; 420  : 		gzData->SetAfkTime(0.0f);

	fldz

; 421  : 		gzData->SetAfkIsWarnSent(false);

	mov	BYTE PTR [edi+116], 0
	fstp	DWORD PTR [edi+112]

; 422  : 		gzData->SetBHSVersion(this->m_bhsVersion[evt.GetPlayer()->PlayerId]);

	mov	eax, DWORD PTR [esi+24]
	mov	ecx, DWORD PTR [eax+1884]
	fld	DWORD PTR [ebx+ecx*4+40]
	fstp	DWORD PTR [edi+128]
$LN80@Player_Joi:

; 423  : 	}
; 424  : 	this->m_bhsVersion[evt.GetPlayer()->PlayerId] = 0.0f;

	mov	edx, DWORD PTR [esi+24]
	fldz
	mov	eax, DWORD PTR [edx+1884]
	fstp	DWORD PTR [ebx+eax*4+40]

; 425  : }

	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	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z$0:
	mov	eax, DWORD PTR $T75999[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z$1:
	lea	ecx, DWORD PTR _stid$60615[ebp]
	jmp	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result
__unwindfunclet$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z$2:
	lea	ecx, DWORD PTR $T76005[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z$3:
	lea	ecx, DWORD PTR $T76007[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z$4:
	lea	ecx, DWORD PTR $T76008[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Player_Joined@gzPlayerManager@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; gzPlayerManager::Player_Joined
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)'
;	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	??_7gzChat_Here@@6B@				; gzChat_Here::`vftable'
PUBLIC	??0gzChat_Here@@QAE@XZ				; gzChat_Here::gzChat_Here
PUBLIC	??_R4gzChat_Here@@6B@				; gzChat_Here::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_Here@@@8				; gzChat_Here `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_Here@@8				; gzChat_Here::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_Here@@8				; gzChat_Here::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_Here@@8			; gzChat_Here::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_Here@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_Here::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_Here@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_Here@@8 DD FLAT:??_R0?AVgzChat_Here@@@8 ; gzChat_Here::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_Here@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_Here@@8
rdata$r	SEGMENT
??_R2gzChat_Here@@8 DD FLAT:??_R1A@?0A@EA@gzChat_Here@@8 ; gzChat_Here::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_Here@@8
rdata$r	SEGMENT
??_R3gzChat_Here@@8 DD 00H				; gzChat_Here::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_Here@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_Here@@@8
_DATA	SEGMENT
??_R0?AVgzChat_Here@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_Here `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_Here@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_Here@@6B@
rdata$r	SEGMENT
??_R4gzChat_Here@@6B@ DD 00H				; gzChat_Here::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_Here@@@8
	DD	FLAT:??_R3gzChat_Here@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_Here@@6B@
CONST	SEGMENT
??_7gzChat_Here@@6B@ DD FLAT:??_R4gzChat_Here@@6B@	; gzChat_Here::`vftable'
	DD	FLAT:?Activate@gzChat_Here@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_Here@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_Here@@QAE@XZ PROC				; gzChat_Here::gzChat_Here, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_Here@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_Here@@QAE@XZ ENDP				; gzChat_Here::gzChat_Here
_TEXT	ENDS
PUBLIC	?GetAfkTime@gzPlayer@@QAEMXZ			; gzPlayer::GetAfkTime
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.h
;	COMDAT ?GetAfkTime@gzPlayer@@QAEMXZ
_TEXT	SEGMENT
?GetAfkTime@gzPlayer@@QAEMXZ PROC			; gzPlayer::GetAfkTime, COMDAT
; _this$ = ecx

; 94   : 	inline float GetAfkTime() { return this->m_afk_time; };

	fld	DWORD PTR [ecx+112]
	ret	0
?GetAfkTime@gzPlayer@@QAEMXZ ENDP			; gzPlayer::GetAfkTime
_TEXT	ENDS
PUBLIC	??_C@_0CE@IJBHDHFD@You?8ve?5been?5removed?5AFK?5kick?5que@ ; `string'
;	COMDAT ??_C@_0CE@IJBHDHFD@You?8ve?5been?5removed?5AFK?5kick?5que@
CONST	SEGMENT
??_C@_0CE@IJBHDHFD@You?8ve?5been?5removed?5AFK?5kick?5que@ DB 'You''ve be'
	DB	'en removed AFK kick queue.', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Activate@gzChat_Here@@EAEXPB_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_Here@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_Here::Activate, COMDAT
; _this$ = ecx

; 660  : 	{

	push	esi

; 661  : 		gzPlayer *gzData = gzPlayerManager::Find(sender);

	mov	esi, DWORD PTR _sender$[esp]
	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	ecx, eax
	add	esp, 4

; 662  : 		if (gzData)

	test	ecx, ecx
	je	SHORT $LN1@Activate@23

; 663  : 		{
; 664  : 			if ((gzGameMgr->m_settings->m_AllowAfkSeconds - gzData->GetAfkTime()) <= 30.0f)

	mov	eax, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	edx, DWORD PTR [eax+72]
	fld	DWORD PTR [edx+80]
	fsub	DWORD PTR [ecx+112]
	fcomp	DWORD PTR __real@41f00000
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN1@Activate@23

; 665  : 			{
; 666  : 				gzData->SetAfkTime(0.0f);

	fldz

; 667  : 				gzData->SetAfkIsWarnSent(false);
; 668  : 				PagePlayer(sender, "You've been removed AFK kick queue.");

	push	OFFSET ??_C@_0CE@IJBHDHFD@You?8ve?5been?5removed?5AFK?5kick?5que@
	push	esi
	fstp	DWORD PTR [ecx+112]
	mov	BYTE PTR [ecx+116], 0
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN1@Activate@23:
	pop	esi

; 669  : 			}
; 670  : 		}
; 671  : 	}

	ret	20					; 00000014H
?Activate@gzChat_Here@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_Here::Activate
_TEXT	ENDS
PUBLIC	??_7gzChat_Stuck@@6B@				; gzChat_Stuck::`vftable'
PUBLIC	??0gzChat_Stuck@@QAE@XZ				; gzChat_Stuck::gzChat_Stuck
PUBLIC	??_R4gzChat_Stuck@@6B@				; gzChat_Stuck::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_Stuck@@@8			; gzChat_Stuck `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_Stuck@@8				; gzChat_Stuck::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_Stuck@@8				; gzChat_Stuck::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_Stuck@@8			; gzChat_Stuck::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_Stuck@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_Stuck::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_Stuck@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_Stuck@@8 DD FLAT:??_R0?AVgzChat_Stuck@@@8 ; gzChat_Stuck::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_Stuck@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_Stuck@@8
rdata$r	SEGMENT
??_R2gzChat_Stuck@@8 DD FLAT:??_R1A@?0A@EA@gzChat_Stuck@@8 ; gzChat_Stuck::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_Stuck@@8
rdata$r	SEGMENT
??_R3gzChat_Stuck@@8 DD 00H				; gzChat_Stuck::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_Stuck@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_Stuck@@@8
_DATA	SEGMENT
??_R0?AVgzChat_Stuck@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_Stuck `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_Stuck@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_Stuck@@6B@
rdata$r	SEGMENT
??_R4gzChat_Stuck@@6B@ DD 00H				; gzChat_Stuck::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_Stuck@@@8
	DD	FLAT:??_R3gzChat_Stuck@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_Stuck@@6B@
CONST	SEGMENT
??_7gzChat_Stuck@@6B@ DD FLAT:??_R4gzChat_Stuck@@6B@	; gzChat_Stuck::`vftable'
	DD	FLAT:?Activate@gzChat_Stuck@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_Stuck@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_Stuck@@QAE@XZ PROC				; gzChat_Stuck::gzChat_Stuck, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_Stuck@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_Stuck@@QAE@XZ ENDP				; gzChat_Stuck::gzChat_Stuck
_TEXT	ENDS
PUBLIC	??_C@_0BN@HIPMNHLA@You?5are?5not?5currently?5stuck?4?$AA@ ; `string'
PUBLIC	??_C@_0FI@IMMFCKGL@You?8ve?5been?5respawned?5because?5yo@ ; `string'
PUBLIC	??_C@_0DH@BMNPPGJI@You?5can?5not?5use?5this?5command?5whi@ ; `string'
EXTRN	?Get_Transform@nc_PhysicalGameObj@@QAEPAUnc_Matrix3D@@XZ:PROC ; nc_PhysicalGameObj::Get_Transform
;	COMDAT ??_C@_0BN@HIPMNHLA@You?5are?5not?5currently?5stuck?4?$AA@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_0BN@HIPMNHLA@You?5are?5not?5currently?5stuck?4?$AA@ DB 'You are not'
	DB	' currently stuck.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0FI@IMMFCKGL@You?8ve?5been?5respawned?5because?5yo@
CONST	SEGMENT
??_C@_0FI@IMMFCKGL@You?8ve?5been?5respawned?5because?5yo@ DB 'You''ve bee'
	DB	'n respawned because you issued "!stuck" command and confirmed'
	DB	' you were stuck.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0DH@BMNPPGJI@You?5can?5not?5use?5this?5command?5whi@
CONST	SEGMENT
??_C@_0DH@BMNPPGJI@You?5can?5not?5use?5this?5command?5whi@ DB 'You can no'
	DB	't use this command while you are in vehicle.', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ?Activate@gzChat_Stuck@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
$T76228 = -4						; size = 4
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_Stuck@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_Stuck::Activate, COMDAT
; _this$ = ecx

; 676  : 	{

	push	ecx
	push	esi

; 677  : 		gzPlayer *gzData = gzPlayerManager::Find(sender);

	mov	esi, DWORD PTR _sender$[esp+4]
	push	edi
	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	edi, eax
	add	esp, 4

; 678  : 		if (gzData)

	test	edi, edi
	je	$LN1@Activate@24

; 679  : 		{
; 680  : 			if (gzData->GetPlayerData()->Owner.Reference)

	mov	eax, DWORD PTR [edi+76]
	mov	eax, DWORD PTR [eax+20]
	test	eax, eax
	je	$LN1@Activate@24

; 681  : 			{
; 682  : 				if (gzData->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle)

	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2444], 0
	je	SHORT $LN4@Activate@24

; 683  : 					PagePlayer(sender, "You can not use this command while you are in vehicle.");

	push	OFFSET ??_C@_0DH@BMNPPGJI@You?5can?5not?5use?5this?5command?5whi@
	push	esi

; 689  : 				}
; 690  : 				else
; 691  : 					PagePlayer(sender, "You are not currently stuck.");

	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	esi

; 692  : 			}
; 693  : 		}
; 694  : 	}

	pop	ecx
	ret	20					; 00000014H
$LN4@Activate@24:

; 684  : 				else if (!gzData->GetPlayerData()->Owner.Reference->obj->As_PhysicalGameObj()->Physics->As_MoveablePhysClass()->Can_Teleport_And_Stand(*gzData->GetPlayerData()->Owner.Reference->obj->As_PhysicalGameObj()->Get_Transform(), gzData->GetPlayerData()->Owner.Reference->obj->As_PhysicalGameObj()->Get_Transform()))

	mov	ecx, DWORD PTR [edi+76]
	mov	edx, DWORD PTR [ecx+20]
	mov	esi, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+36]
	push	ebx
	push	ebp
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [eax+1908]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+108]
	call	eax
	mov	edx, DWORD PTR [esi]
	mov	ebp, eax
	mov	ebx, DWORD PTR [ebp]
	mov	eax, DWORD PTR [edx+36]
	mov	ecx, esi
	add	ebx, 228				; 000000e4H
	call	eax
	mov	ecx, eax
	call	?Get_Transform@nc_PhysicalGameObj@@QAEPAUnc_Matrix3D@@XZ ; nc_PhysicalGameObj::Get_Transform
	mov	edx, DWORD PTR [esi]
	push	eax
	mov	eax, DWORD PTR [edx+36]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	call	?Get_Transform@nc_PhysicalGameObj@@QAEPAUnc_Matrix3D@@XZ ; nc_PhysicalGameObj::Get_Transform
	mov	edx, DWORD PTR [ebx]
	push	eax
	mov	ecx, ebp
	call	edx
	test	al, al
	pop	ebp
	pop	ebx
	jne	SHORT $LN2@Activate@24

; 685  : 				{
; 686  : 					gzData->GetPlayerData()->Deaths -= 1;

	mov	esi, DWORD PTR [edi+76]
	add	esi, 1896				; 00000768H
	mov	ecx, esi
	mov	DWORD PTR $T76228[esp+12], 1
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	sub	eax, DWORD PTR $T76228[esp+12]
	mov	DWORD PTR $T76228[esp+12], eax
	lea	eax, DWORD PTR $T76228[esp+12]
	push	eax
	push	esi
	call	?Set@nc_IntDataSafeClass@@QAG_NAAH@Z	; nc_IntDataSafeClass::Set

; 687  : 					gzData->GetPlayerData()->Owner.Reference->obj->Set_Delete_Pending();

	mov	ecx, DWORD PTR [edi+76]
	mov	edx, DWORD PTR [ecx+20]
	mov	eax, DWORD PTR [edx+4]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+44]
	call	edx

; 688  : 					PagePlayer(sender, "You've been respawned because you issued \"!stuck\" command and confirmed you were stuck.");

	mov	eax, DWORD PTR _sender$[esp+8]
	push	OFFSET ??_C@_0FI@IMMFCKGL@You?8ve?5been?5respawned?5because?5yo@
	push	eax

; 689  : 				}
; 690  : 				else
; 691  : 					PagePlayer(sender, "You are not currently stuck.");

	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	esi

; 692  : 			}
; 693  : 		}
; 694  : 	}

	pop	ecx
	ret	20					; 00000014H
$LN2@Activate@24:

; 689  : 				}
; 690  : 				else
; 691  : 					PagePlayer(sender, "You are not currently stuck.");

	mov	ecx, DWORD PTR _sender$[esp+8]
	push	OFFSET ??_C@_0BN@HIPMNHLA@You?5are?5not?5currently?5stuck?4?$AA@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN1@Activate@24:
	pop	edi
	pop	esi

; 692  : 			}
; 693  : 		}
; 694  : 	}

	pop	ecx
	ret	20					; 00000014H
?Activate@gzChat_Stuck@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_Stuck::Activate
_TEXT	ENDS
PUBLIC	??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@ ; `string'
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_Here>::gzChatCommand_Reg<gzChat_Here>
EXTRN	?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A:BYTE ; gzChatManagerClass::m_chatCommandList
;	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_Here@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T76247 = -48						; size = 8
$T76246 = -48						; size = 8
$T76244 = -48						; size = 4
$T76239 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T76237 = -32						; size = 8
$T76245 = -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_Here@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_Here>::gzChatCommand_Reg<gzChat_Here>, 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_Here@@@@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 $T76237[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T76237[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 $T76237[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 $T76239[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_Here@@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 $T76245[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 $T76244[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 $T76245[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 $T76246[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T76246[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 $T76246[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 $T76247[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T76247[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 $T76247[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_Here@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T76237[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T76239[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T76245[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T76246[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T76247[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_Here>::gzChatCommand_Reg<gzChat_Here>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_Stuck>::gzChatCommand_Reg<gzChat_Stuck>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T76296 = -48						; size = 8
$T76295 = -48						; size = 8
$T76293 = -48						; size = 4
$T76288 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T76286 = -32						; size = 8
$T76294 = -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_Stuck@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_Stuck>::gzChatCommand_Reg<gzChat_Stuck>, 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_Stuck@@@@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 $T76286[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T76286[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 $T76286[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 $T76288[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_Stuck@@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 $T76294[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 $T76293[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 $T76294[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 $T76295[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T76295[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 $T76295[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 $T76296[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T76296[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 $T76296[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_Stuck@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T76286[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T76288[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T76294[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T76295[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T76296[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_Stuck>::gzChatCommand_Reg<gzChat_Stuck>
PUBLIC	??_C@_06BKMELMHC@?$CBstuck?$AA@			; `string'
PUBLIC	??_C@_05GIIIJAKO@?$CBhere?$AA@			; `string'
PUBLIC	??_7gzPlayerManager@@6BgzManagerEvent@@@	; gzPlayerManager::`vftable'
PUBLIC	??_7gzPlayerManager@@6BEventHandler@@@		; gzPlayerManager::`vftable'
PUBLIC	??0gzPlayerManager@@QAE@XZ			; gzPlayerManager::gzPlayerManager
PUBLIC	??_R4gzPlayerManager@@6BEventHandler@@@		; gzPlayerManager::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzPlayerManager@@@8			; gzPlayerManager `RTTI Type Descriptor'
PUBLIC	??_R3gzPlayerManager@@8				; gzPlayerManager::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzPlayerManager@@8				; gzPlayerManager::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzPlayerManager@@8		; gzPlayerManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1CE@?0A@EA@gzManagerEvent@@8		; gzManagerEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
PUBLIC	?GetName@gzPlayerManager@@UAEPBDXZ		; gzPlayerManager::GetName
PUBLIC	?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z ; EventHandler::Player_SerialHash
PUBLIC	??_R4gzPlayerManager@@6BgzManagerEvent@@@	; gzPlayerManager::`RTTI Complete Object Locator'
PUBLIC	?GetName@gzPlayerManager@@WCE@AEPBDXZ		; [thunk]:gzPlayerManager::GetName`adjustor{36}'
EXTRN	??_EgzPlayerManager@@UAEPAXI@Z:PROC		; gzPlayerManager::`vector deleting destructor'
;	COMDAT ??_R4gzPlayerManager@@6BgzManagerEvent@@@
; File d:\source code\stgm\stplayer.cpp
rdata$r	SEGMENT
??_R4gzPlayerManager@@6BgzManagerEvent@@@ DD 00H	; gzPlayerManager::`RTTI Complete Object Locator'
	DD	024H
	DD	00H
	DD	FLAT:??_R0?AVgzPlayerManager@@@8
	DD	FLAT:??_R3gzPlayerManager@@8
rdata$r	ENDS
;	COMDAT ??_R1CE@?0A@EA@gzManagerEvent@@8
rdata$r	SEGMENT
??_R1CE@?0A@EA@gzManagerEvent@@8 DD FLAT:??_R0?AVgzManagerEvent@@@8 ; gzManagerEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
	DD	00H
	DD	024H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzPlayerManager@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzPlayerManager@@8 DD FLAT:??_R0?AVgzPlayerManager@@@8 ; gzPlayerManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzPlayerManager@@8
rdata$r	ENDS
;	COMDAT ??_R2gzPlayerManager@@8
rdata$r	SEGMENT
??_R2gzPlayerManager@@8 DD FLAT:??_R1A@?0A@EA@gzPlayerManager@@8 ; gzPlayerManager::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
	DD	FLAT:??_R1CE@?0A@EA@gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R3gzPlayerManager@@8
rdata$r	SEGMENT
??_R3gzPlayerManager@@8 DD 00H				; gzPlayerManager::`RTTI Class Hierarchy Descriptor'
	DD	01H
	DD	04H
	DD	FLAT:??_R2gzPlayerManager@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzPlayerManager@@@8
_DATA	SEGMENT
??_R0?AVgzPlayerManager@@@8 DD FLAT:??_7type_info@@6B@	; gzPlayerManager `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzPlayerManager@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzPlayerManager@@6BEventHandler@@@
rdata$r	SEGMENT
??_R4gzPlayerManager@@6BEventHandler@@@ DD 00H		; gzPlayerManager::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzPlayerManager@@@8
	DD	FLAT:??_R3gzPlayerManager@@8
rdata$r	ENDS
;	COMDAT ??_C@_06BKMELMHC@?$CBstuck?$AA@
CONST	SEGMENT
??_C@_06BKMELMHC@?$CBstuck?$AA@ DB '!stuck', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_05GIIIJAKO@?$CBhere?$AA@
CONST	SEGMENT
??_C@_05GIIIJAKO@?$CBhere?$AA@ DB '!here', 00H		; `string'
CONST	ENDS
;	COMDAT ??_7gzPlayerManager@@6BgzManagerEvent@@@
CONST	SEGMENT
??_7gzPlayerManager@@6BgzManagerEvent@@@ DD FLAT:??_R4gzPlayerManager@@6BgzManagerEvent@@@ ; gzPlayerManager::`vftable'
	DD	FLAT:?GetName@gzPlayerManager@@WCE@AEPBDXZ
	DD	FLAT:?ChildObjCreation@gzPlayerManager@@UAEXPAVgzBase@@@Z
	DD	FLAT:?ChildObjDeletion@gzPlayerManager@@UAEXPAVgzBase@@@Z
CONST	ENDS
;	COMDAT ??_7gzPlayerManager@@6BEventHandler@@@
CONST	SEGMENT
??_7gzPlayerManager@@6BEventHandler@@@ DD FLAT:??_R4gzPlayerManager@@6BEventHandler@@@ ; gzPlayerManager::`vftable'
	DD	FLAT:??_EgzPlayerManager@@UAEPAXI@Z
	DD	FLAT:?GetName@gzPlayerManager@@UAEPBDXZ
	DD	FLAT:?Delete@gzPlayerManager@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzPlayerManager@@UAEXXZ
	DD	FLAT:?Level_Ended@EventHandler@@UAEXXZ
	DD	FLAT:?Think@EventHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@gzPlayerManager@@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@gzPlayerManager@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzPlayerManager@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzPlayerManager@@QAE@XZ$0
__ehfuncinfo$??0gzPlayerManager@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzPlayerManager@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzPlayerManager@@QAE@XZ
_TEXT	SEGMENT
_gzChat_Stuck_Reg$ = -17				; size = 1
_gzChat_Here_Reg$ = -17					; size = 1
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzPlayerManager@@QAE@XZ PROC				; gzPlayerManager::gzPlayerManager, COMDAT
; _this$ = ecx

; 364  : {

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

; 365  : 	this->RegisterEvent(EVT_GAME_LEVEL_LOADED);

	push	0
	mov	DWORD PTR [esi+36], OFFSET ??_7gzManagerEvent@@6B@
	push	4096					; 00001000H
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+40], 0
	mov	DWORD PTR [esi], OFFSET ??_7gzPlayerManager@@6BEventHandler@@@
	mov	DWORD PTR [esi+36], OFFSET ??_7gzPlayerManager@@6BgzManagerEvent@@@
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 366  : 	this->RegisterEvent(EVT_PLAYER_JOIN);

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

; 367  : 	this->RegisterEvent(EVT_BHS_VERSION);

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

; 368  : 
; 369  : 	gzChatCommand_Reg<gzChat_Here> gzChat_Here_Reg("!here");

	push	0
	push	0
	push	3
	push	OFFSET ??_C@_05GIIIJAKO@?$CBhere?$AA@
	lea	ecx, DWORD PTR _gzChat_Here_Reg$[esp+40]
	call	??0?$gzChatCommand_Reg@VgzChat_Here@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_Here>::gzChatCommand_Reg<gzChat_Here>

; 370  : 	gzChatCommand_Reg<gzChat_Stuck> gzChat_Stuck_Reg("!stuck");

	push	0
	push	0
	push	3
	push	OFFSET ??_C@_06BKMELMHC@?$CBstuck?$AA@
	lea	ecx, DWORD PTR _gzChat_Stuck_Reg$[esp+40]
	call	??0?$gzChatCommand_Reg@VgzChat_Stuck@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_Stuck>::gzChatCommand_Reg<gzChat_Stuck>

; 371  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzPlayerManager@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__ehhandler$??0gzPlayerManager@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzPlayerManager@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzPlayerManager@@QAE@XZ ENDP				; gzPlayerManager::gzPlayerManager
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stevent.h
;	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
_TEXT	ENDS
PUBLIC	??_C@_0BA@CGPPNLBD@gzPlayerManager?$AA@		; `string'
;	COMDAT ??_C@_0BA@CGPPNLBD@gzPlayerManager?$AA@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_0BA@CGPPNLBD@gzPlayerManager?$AA@ DB 'gzPlayerManager', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzPlayerManager@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzPlayerManager@@UAEPBDXZ PROC			; gzPlayerManager::GetName, COMDAT
; _this$ = ecx

; 120  : 		return "gzPlayerManager";

	mov	eax, OFFSET ??_C@_0BA@CGPPNLBD@gzPlayerManager?$AA@

; 121  : 	};

	ret	0
?GetName@gzPlayerManager@@UAEPBDXZ ENDP			; gzPlayerManager::GetName
_TEXT	ENDS
PUBLIC	??1gzPlayerManager@@UAE@XZ			; gzPlayerManager::~gzPlayerManager
; Function compile flags: /Ogtpy
;	COMDAT ??1gzPlayerManager@@UAE@XZ
_TEXT	SEGMENT
??1gzPlayerManager@@UAE@XZ PROC				; gzPlayerManager::~gzPlayerManager, COMDAT
; _this$ = ecx
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
??1gzPlayerManager@@UAE@XZ ENDP				; gzPlayerManager::~gzPlayerManager
; Function compile flags: /Odtpy
_TEXT	ENDS
;	COMDAT ?GetName@gzPlayerManager@@WCE@AEPBDXZ
_TEXT	SEGMENT
?GetName@gzPlayerManager@@WCE@AEPBDXZ PROC		; [thunk]:gzPlayerManager::GetName`adjustor{36}', COMDAT
	sub	ecx, 36					; 00000024H
	jmp	?GetName@gzPlayerManager@@UAEPBDXZ	; gzPlayerManager::GetName
?GetName@gzPlayerManager@@WCE@AEPBDXZ ENDP		; [thunk]:gzPlayerManager::GetName`adjustor{36}'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzPlayerManager@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzPlayerManager@@UAEPAXI@Z PROC			; gzPlayerManager::`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@18
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@18:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzPlayerManager@@UAEPAXI@Z ENDP			; gzPlayerManager::`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''
text$yc	ENDS
PUBLIC	?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A ; gzPlayerManager::m_list
_DATA	SEGMENT
?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A DD FLAT:??_7?$aList@VgzPlayer@@@@6B@ ; gzPlayerManager::m_list
	DD	00H
	DD	00H
	DD	00H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
_DATA	ENDS
;	COMDAT ??__E?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A@@YAXXZ
text$yc	SEGMENT
??__E?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A@@YAXXZ PROC ; `dynamic initializer for 'gzPlayerManager::m_list'', COMDAT

; 350  : aList<gzPlayer> gzPlayerManager::m_list;

	push	OFFSET ??__F?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A@@YAXXZ ; `dynamic atexit destructor for 'gzPlayerManager::m_list''
	call	_atexit
	pop	ecx
	ret	0
??__E?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A@@YAXXZ ENDP ; `dynamic initializer for 'gzPlayerManager::m_list''
text$yc	ENDS
PUBLIC	??_C@_0BC@JAPCKGMC@gzObserverSoldier?$AA@	; `string'
;	COMDAT ??_C@_0BC@JAPCKGMC@gzObserverSoldier?$AA@
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
??_C@_0BC@JAPCKGMC@gzObserverSoldier?$AA@ DB 'gzObserverSoldier', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ??__EgzObserverSoldier_Registrant@@YAXXZ
text$yc	SEGMENT
??__EgzObserverSoldier_Registrant@@YAXXZ PROC		; `dynamic initializer for 'gzObserverSoldier_Registrant'', COMDAT

; 996  : nc_ScriptRegistrant<gzObserverSoldier> gzObserverSoldier_Registrant("gzObserverSoldier", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BC@JAPCKGMC@gzObserverSoldier?$AA@
	mov	ecx, OFFSET ?gzObserverSoldier_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverSoldier@@@@A ; gzObserverSoldier_Registrant
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserverSoldier_Registrant@@YAXXZ ; `dynamic atexit destructor for 'gzObserverSoldier_Registrant''
	mov	DWORD PTR ?gzObserverSoldier_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverSoldier@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverSoldier@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserverSoldier_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'gzObserverSoldier_Registrant''
text$yc	ENDS
PUBLIC	??_C@_08JFKDHNCE@Type?3int?$AA@			; `string'
;	COMDAT ??_C@_08JFKDHNCE@Type?3int?$AA@
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
??_C@_08JFKDHNCE@Type?3int?$AA@ DB 'Type:int', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.cpp
CONST	ENDS
;	COMDAT ??__EgzObserverSpectator_Registrant@@YAXXZ
text$yc	SEGMENT
??__EgzObserverSpectator_Registrant@@YAXXZ PROC		; `dynamic initializer for 'gzObserverSpectator_Registrant'', COMDAT

; 1079 : nc_ScriptRegistrant<gzObserverSpectator> gzObserverSpectator_Registrant("gzSpectator","Type:int");

	push	OFFSET ??_C@_08JFKDHNCE@Type?3int?$AA@
	push	OFFSET ??_C@_0M@MKIGABNB@gzSpectator?$AA@
	mov	ecx, OFFSET ?gzObserverSpectator_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverSpectator@@@@A ; gzObserverSpectator_Registrant
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserverSpectator_Registrant@@YAXXZ ; `dynamic atexit destructor for 'gzObserverSpectator_Registrant''
	mov	DWORD PTR ?gzObserverSpectator_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverSpectator@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverSpectator@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserverSpectator_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'gzObserverSpectator_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EgzFreeze_Player_Registrant@@YAXXZ
text$yc	SEGMENT
??__EgzFreeze_Player_Registrant@@YAXXZ PROC		; `dynamic initializer for 'gzFreeze_Player_Registrant'', COMDAT

; 1098 : nc_ScriptRegistrant<gzFreeze_Player> gzFreeze_Player_Registrant("gzFreeze_Player","");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BA@ICAEIHBK@gzFreeze_Player?$AA@
	mov	ecx, OFFSET ?gzFreeze_Player_Registrant@@3V?$nc_ScriptRegistrant@VgzFreeze_Player@@@@A ; gzFreeze_Player_Registrant
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzFreeze_Player_Registrant@@YAXXZ ; `dynamic atexit destructor for 'gzFreeze_Player_Registrant''
	mov	DWORD PTR ?gzFreeze_Player_Registrant@@3V?$nc_ScriptRegistrant@VgzFreeze_Player@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzFreeze_Player@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzFreeze_Player_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'gzFreeze_Player_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Espectate@@YAXXZ
text$yc	SEGMENT
??__Espectate@@YAXXZ PROC				; `dynamic initializer for 'spectate'', COMDAT

; 1154 : SpectateConsoleFunction spectate;

	mov	ecx, OFFSET ?spectate@@3VSpectateConsoleFunction@@A ; spectate
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?spectate@@3VSpectateConsoleFunction@@A, OFFSET ??_7SpectateConsoleFunction@@6B@ ; spectate
	ret	0
??__Espectate@@YAXXZ ENDP				; `dynamic initializer for 'spectate''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Enewspectate@@YAXXZ
text$yc	SEGMENT
??__Enewspectate@@YAXXZ PROC				; `dynamic initializer for 'newspectate'', COMDAT

; 1189 : NewSpectateConsoleFunction newspectate;

	mov	ecx, OFFSET ?newspectate@@3VNewSpectateConsoleFunction@@A ; newspectate
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?newspectate@@3VNewSpectateConsoleFunction@@A, OFFSET ??_7NewSpectateConsoleFunction@@6B@ ; newspectate
	ret	0
??__Enewspectate@@YAXXZ ENDP				; `dynamic initializer for 'newspectate''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Esetspeed@@YAXXZ
text$yc	SEGMENT
??__Esetspeed@@YAXXZ PROC				; `dynamic initializer for 'setspeed'', COMDAT

; 1222 : SetPlayerSpeedConsoleFunction setspeed;

	mov	ecx, OFFSET ?setspeed@@3VSetPlayerSpeedConsoleFunction@@A ; setspeed
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?setspeed@@3VSetPlayerSpeedConsoleFunction@@A, OFFSET ??_7SetPlayerSpeedConsoleFunction@@6B@ ; setspeed
	ret	0
??__Esetspeed@@YAXXZ ENDP				; `dynamic initializer for 'setspeed''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Egetspeed@@YAXXZ
text$yc	SEGMENT
??__Egetspeed@@YAXXZ PROC				; `dynamic initializer for 'getspeed'', COMDAT

; 1247 : GetPlayerSpeedConsoleFunction getspeed;

	mov	ecx, OFFSET ?getspeed@@3VGetPlayerSpeedConsoleFunction@@A ; getspeed
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?getspeed@@3VGetPlayerSpeedConsoleFunction@@A, OFFSET ??_7GetPlayerSpeedConsoleFunction@@6B@ ; getspeed
	ret	0
??__Egetspeed@@YAXXZ ENDP				; `dynamic initializer for 'getspeed''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Egivecredit@@YAXXZ
text$yc	SEGMENT
??__Egivecredit@@YAXXZ PROC				; `dynamic initializer for 'givecredit'', COMDAT

; 1277 : GiveCreditConsoleFunction givecredit;

	mov	ecx, OFFSET ?givecredit@@3VGiveCreditConsoleFunction@@A ; givecredit
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?givecredit@@3VGiveCreditConsoleFunction@@A, OFFSET ??_7GiveCreditConsoleFunction@@6B@ ; givecredit
	ret	0
??__Egivecredit@@YAXXZ ENDP				; `dynamic initializer for 'givecredit''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Egivept@@YAXXZ
text$yc	SEGMENT
??__Egivept@@YAXXZ PROC					; `dynamic initializer for 'givept'', COMDAT

; 1306 : GivePointConsoleFunction givept;

	mov	ecx, OFFSET ?givept@@3VGivePointConsoleFunction@@A ; givept
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?givept@@3VGivePointConsoleFunction@@A, OFFSET ??_7GivePointConsoleFunction@@6B@ ; givept
	ret	0
??__Egivept@@YAXXZ ENDP					; `dynamic initializer for 'givept''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Egetpos@@YAXXZ
text$yc	SEGMENT
??__Egetpos@@YAXXZ PROC					; `dynamic initializer for 'getpos'', COMDAT

; 1338 : GetPosConsoleFunction getpos;

	mov	ecx, OFFSET ?getpos@@3VGetPosConsoleFunction@@A ; getpos
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?getpos@@3VGetPosConsoleFunction@@A, OFFSET ??_7GetPosConsoleFunction@@6B@ ; getpos
	ret	0
??__Egetpos@@YAXXZ ENDP					; `dynamic initializer for 'getpos''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Ekill@@YAXXZ
text$yc	SEGMENT
??__Ekill@@YAXXZ PROC					; `dynamic initializer for 'kill'', COMDAT

; 1381 : KillConsoleFunction kill;

	mov	ecx, OFFSET ?kill@@3VKillConsoleFunction@@A ; kill
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?kill@@3VKillConsoleFunction@@A, OFFSET ??_7KillConsoleFunction@@6B@ ; kill
	ret	0
??__Ekill@@YAXXZ ENDP					; `dynamic initializer for 'kill''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Efreeze@@YAXXZ
text$yc	SEGMENT
??__Efreeze@@YAXXZ PROC					; `dynamic initializer for 'freeze'', COMDAT

; 1423 : FreezeConsoleFunction freeze;

	mov	ecx, OFFSET ?freeze@@3VFreezeConsoleFunction@@A ; freeze
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?freeze@@3VFreezeConsoleFunction@@A, OFFSET ??_7FreezeConsoleFunction@@6B@ ; freeze
	ret	0
??__Efreeze@@YAXXZ ENDP					; `dynamic initializer for 'freeze''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Eteam@@YAXXZ
text$yc	SEGMENT
??__Eteam@@YAXXZ PROC					; `dynamic initializer for 'team'', COMDAT

; 1473 : TeamConsoleFunction team;

	mov	ecx, OFFSET ?team@@3VTeamConsoleFunction@@A ; team
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?team@@3VTeamConsoleFunction@@A, OFFSET ??_7TeamConsoleFunction@@6B@ ; team
	ret	0
??__Eteam@@YAXXZ ENDP					; `dynamic initializer for 'team''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Eteam2@@YAXXZ
text$yc	SEGMENT
??__Eteam2@@YAXXZ PROC					; `dynamic initializer for 'team2'', COMDAT

; 1527 : Team2ConsoleFunction team2;

	mov	ecx, OFFSET ?team2@@3VTeam2ConsoleFunction@@A ; team2
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?team2@@3VTeam2ConsoleFunction@@A, OFFSET ??_7Team2ConsoleFunction@@6B@ ; team2
	ret	0
??__Eteam2@@YAXXZ ENDP					; `dynamic initializer for 'team2''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Eplayerinfo@@YAXXZ
text$yc	SEGMENT
??__Eplayerinfo@@YAXXZ PROC				; `dynamic initializer for 'playerinfo'', COMDAT

; 1587 : PlayerInfoConsoleFunction playerinfo;

	mov	ecx, OFFSET ?playerinfo@@3VPlayerInfoConsoleFunction@@A ; playerinfo
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?playerinfo@@3VPlayerInfoConsoleFunction@@A, OFFSET ??_7PlayerInfoConsoleFunction@@6B@ ; playerinfo
	ret	0
??__Eplayerinfo@@YAXXZ ENDP				; `dynamic initializer for 'playerinfo''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Esetcredit@@YAXXZ
text$yc	SEGMENT
??__Esetcredit@@YAXXZ PROC				; `dynamic initializer for 'setcredit'', COMDAT

; 1611 : SetCreditConsoleFunction setcredit;

	mov	ecx, OFFSET ?setcredit@@3VSetCreditConsoleFunction@@A ; setcredit
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?setcredit@@3VSetCreditConsoleFunction@@A, OFFSET ??_7SetCreditConsoleFunction@@6B@ ; setcredit
	ret	0
??__Esetcredit@@YAXXZ ENDP				; `dynamic initializer for 'setcredit''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Esetscore@@YAXXZ
text$yc	SEGMENT
??__Esetscore@@YAXXZ PROC				; `dynamic initializer for 'setscore'', COMDAT

; 1635 : SetScoreConsoleFunction setscore;

	mov	ecx, OFFSET ?setscore@@3VSetScoreConsoleFunction@@A ; setscore
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?setscore@@3VSetScoreConsoleFunction@@A, OFFSET ??_7SetScoreConsoleFunction@@6B@ ; setscore
	ret	0
??__Esetscore@@YAXXZ ENDP				; `dynamic initializer for 'setscore''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Esetpos@@YAXXZ
text$yc	SEGMENT
??__Esetpos@@YAXXZ PROC					; `dynamic initializer for 'setpos'', COMDAT

; 1682 : SetPosConsoleFunction setpos;

	mov	ecx, OFFSET ?setpos@@3VSetPosConsoleFunction@@A ; setpos
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?setpos@@3VSetPosConsoleFunction@@A, OFFSET ??_7SetPosConsoleFunction@@6B@ ; setpos
	ret	0
??__Esetpos@@YAXXZ ENDP					; `dynamic initializer for 'setpos''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Esetname@@YAXXZ
text$yc	SEGMENT
??__Esetname@@YAXXZ PROC				; `dynamic initializer for 'setname'', COMDAT

; 1711 : SetNameConsoleFunction setname;

	mov	ecx, OFFSET ?setname@@3VSetNameConsoleFunction@@A ; setname
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?setname@@3VSetNameConsoleFunction@@A, OFFSET ??_7SetNameConsoleFunction@@6B@ ; setname
	ret	0
??__Esetname@@YAXXZ ENDP				; `dynamic initializer for 'setname''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Eresetplayer@@YAXXZ
text$yc	SEGMENT
??__Eresetplayer@@YAXXZ PROC				; `dynamic initializer for 'resetplayer'', COMDAT

; 1737 : ResetPlayerConsoleFunction resetplayer;

	mov	ecx, OFFSET ?resetplayer@@3VResetPlayerConsoleFunction@@A ; resetplayer
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?resetplayer@@3VResetPlayerConsoleFunction@@A, OFFSET ??_7ResetPlayerConsoleFunction@@6B@ ; resetplayer
	ret	0
??__Eresetplayer@@YAXXZ ENDP				; `dynamic initializer for 'resetplayer''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Eserialban@@YAXXZ
text$yc	SEGMENT
??__Eserialban@@YAXXZ PROC				; `dynamic initializer for 'serialban'', COMDAT

; 1818 : SerialBanConsoleFunction serialban;

	mov	ecx, OFFSET ?serialban@@3VSerialBanConsoleFunction@@A ; serialban
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?serialban@@3VSerialBanConsoleFunction@@A, OFFSET ??_7SerialBanConsoleFunction@@6B@ ; serialban
	ret	0
??__Eserialban@@YAXXZ ENDP				; `dynamic initializer for 'serialban''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Eteleport@@YAXXZ
text$yc	SEGMENT
??__Eteleport@@YAXXZ PROC				; `dynamic initializer for 'teleport'', COMDAT

; 1861 : TeleportConsoleFunction teleport;

	mov	ecx, OFFSET ?teleport@@3VTeleportConsoleFunction@@A ; teleport
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?teleport@@3VTeleportConsoleFunction@@A, OFFSET ??_7TeleportConsoleFunction@@6B@ ; teleport
	ret	0
??__Eteleport@@YAXXZ ENDP				; `dynamic initializer for 'teleport''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Emove@@YAXXZ
text$yc	SEGMENT
??__Emove@@YAXXZ PROC					; `dynamic initializer for 'move'', COMDAT

; 1896 : MoveConsoleFunction move;

	mov	ecx, OFFSET ?move@@3VMoveConsoleFunction@@A ; move
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?move@@3VMoveConsoleFunction@@A, OFFSET ??_7MoveConsoleFunction@@6B@ ; move
	ret	0
??__Emove@@YAXXZ ENDP					; `dynamic initializer for 'move''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Esetside@@YAXXZ
text$yc	SEGMENT
??__Esetside@@YAXXZ PROC				; `dynamic initializer for 'setside'', COMDAT

; 1932 : SetSideConsoleFunction setside;

	mov	ecx, OFFSET ?setside@@3VSetSideConsoleFunction@@A ; setside
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?setside@@3VSetSideConsoleFunction@@A, OFFSET ??_7SetSideConsoleFunction@@6B@ ; setside
	ret	0
??__Esetside@@YAXXZ ENDP				; `dynamic initializer for 'setside''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Edestroy@@YAXXZ
text$yc	SEGMENT
??__Edestroy@@YAXXZ PROC				; `dynamic initializer for 'destroy'', COMDAT

; 1963 : DestroyConsoleFunction destroy;

	mov	ecx, OFFSET ?destroy@@3VDestroyConsoleFunction@@A ; destroy
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?destroy@@3VDestroyConsoleFunction@@A, OFFSET ??_7DestroyConsoleFunction@@6B@ ; destroy
	ret	0
??__Edestroy@@YAXXZ ENDP				; `dynamic initializer for 'destroy''
; 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 ??__FgzObserverSoldier_Registrant@@YAXXZ
text$yd	SEGMENT
??__FgzObserverSoldier_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserverSoldier_Registrant'', COMDAT
	mov	ecx, OFFSET ?gzObserverSoldier_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverSoldier@@@@A ; gzObserverSoldier_Registrant
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserverSoldier_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserverSoldier_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObserverSpectator_Registrant@@YAXXZ
text$yd	SEGMENT
??__FgzObserverSpectator_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserverSpectator_Registrant'', COMDAT
	mov	ecx, OFFSET ?gzObserverSpectator_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverSpectator@@@@A ; gzObserverSpectator_Registrant
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserverSpectator_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserverSpectator_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzFreeze_Player_Registrant@@YAXXZ
text$yd	SEGMENT
??__FgzFreeze_Player_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'gzFreeze_Player_Registrant'', COMDAT
	mov	ecx, OFFSET ?gzFreeze_Player_Registrant@@3V?$nc_ScriptRegistrant@VgzFreeze_Player@@@@A ; gzFreeze_Player_Registrant
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzFreeze_Player_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzFreeze_Player_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__F?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A@@YAXXZ
text$yd	SEGMENT
??__F?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A@@YAXXZ PROC ; `dynamic atexit destructor for 'gzPlayerManager::m_list'', COMDAT
	mov	DWORD PTR ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A, OFFSET ??_7?$aList@VgzPlayer@@@@6B@
	mov	ecx, OFFSET ?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A ; gzPlayerManager::m_list
	jmp	?RemoveAll@?$aList@VgzPlayer@@@@UAEXXZ	; aList<gzPlayer>::RemoveAll
??__F?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A@@YAXXZ ENDP ; `dynamic atexit destructor for 'gzPlayerManager::m_list''
text$yd	ENDS
PUBLIC	?resetplayer@@3VResetPlayerConsoleFunction@@A	; resetplayer
PUBLIC	?serialban@@3VSerialBanConsoleFunction@@A	; serialban
PUBLIC	?givecredit@@3VGiveCreditConsoleFunction@@A	; givecredit
PUBLIC	?spectate@@3VSpectateConsoleFunction@@A		; spectate
PUBLIC	?setcredit@@3VSetCreditConsoleFunction@@A	; setcredit
PUBLIC	?kill@@3VKillConsoleFunction@@A			; kill
PUBLIC	?setside@@3VSetSideConsoleFunction@@A		; setside
PUBLIC	?setpos@@3VSetPosConsoleFunction@@A		; setpos
PUBLIC	?setspeed@@3VSetPlayerSpeedConsoleFunction@@A	; setspeed
PUBLIC	?playerinfo@@3VPlayerInfoConsoleFunction@@A	; playerinfo
PUBLIC	?teleport@@3VTeleportConsoleFunction@@A		; teleport
PUBLIC	?team2@@3VTeam2ConsoleFunction@@A		; team2
PUBLIC	?gzObserverSoldier_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverSoldier@@@@A ; gzObserverSoldier_Registrant
PUBLIC	?setscore@@3VSetScoreConsoleFunction@@A		; setscore
PUBLIC	?freeze@@3VFreezeConsoleFunction@@A		; freeze
PUBLIC	?getpos@@3VGetPosConsoleFunction@@A		; getpos
PUBLIC	?gzFreeze_Player_Registrant@@3V?$nc_ScriptRegistrant@VgzFreeze_Player@@@@A ; gzFreeze_Player_Registrant
PUBLIC	?team@@3VTeamConsoleFunction@@A			; team
PUBLIC	?setname@@3VSetNameConsoleFunction@@A		; setname
PUBLIC	?gzObserverSpectator_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverSpectator@@@@A ; gzObserverSpectator_Registrant
PUBLIC	?destroy@@3VDestroyConsoleFunction@@A		; destroy
PUBLIC	?givept@@3VGivePointConsoleFunction@@A		; givept
PUBLIC	?move@@3VMoveConsoleFunction@@A			; move
PUBLIC	?newspectate@@3VNewSpectateConsoleFunction@@A	; newspectate
PUBLIC	?getspeed@@3VGetPlayerSpeedConsoleFunction@@A	; getspeed
_BSS	SEGMENT
?resetplayer@@3VResetPlayerConsoleFunction@@A DD 01H DUP (?) ; resetplayer
?serialban@@3VSerialBanConsoleFunction@@A DD 01H DUP (?) ; serialban
?givecredit@@3VGiveCreditConsoleFunction@@A DD 01H DUP (?) ; givecredit
?spectate@@3VSpectateConsoleFunction@@A DD 01H DUP (?)	; spectate
?setcredit@@3VSetCreditConsoleFunction@@A DD 01H DUP (?) ; setcredit
?kill@@3VKillConsoleFunction@@A DD 01H DUP (?)		; kill
?setside@@3VSetSideConsoleFunction@@A DD 01H DUP (?)	; setside
?setpos@@3VSetPosConsoleFunction@@A DD 01H DUP (?)	; setpos
?setspeed@@3VSetPlayerSpeedConsoleFunction@@A DD 01H DUP (?) ; setspeed
?playerinfo@@3VPlayerInfoConsoleFunction@@A DD 01H DUP (?) ; playerinfo
?teleport@@3VTeleportConsoleFunction@@A DD 01H DUP (?)	; teleport
?team2@@3VTeam2ConsoleFunction@@A DD 01H DUP (?)	; team2
?gzObserverSoldier_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverSoldier@@@@A DB 010H DUP (?) ; gzObserverSoldier_Registrant
?setscore@@3VSetScoreConsoleFunction@@A DD 01H DUP (?)	; setscore
?freeze@@3VFreezeConsoleFunction@@A DD 01H DUP (?)	; freeze
?getpos@@3VGetPosConsoleFunction@@A DD 01H DUP (?)	; getpos
?gzFreeze_Player_Registrant@@3V?$nc_ScriptRegistrant@VgzFreeze_Player@@@@A DB 010H DUP (?) ; gzFreeze_Player_Registrant
?team@@3VTeamConsoleFunction@@A DD 01H DUP (?)		; team
?setname@@3VSetNameConsoleFunction@@A DD 01H DUP (?)	; setname
?gzObserverSpectator_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverSpectator@@@@A DB 010H DUP (?) ; gzObserverSpectator_Registrant
?destroy@@3VDestroyConsoleFunction@@A DD 01H DUP (?)	; destroy
?givept@@3VGivePointConsoleFunction@@A DD 01H DUP (?)	; givept
?move@@3VMoveConsoleFunction@@A DD 01H DUP (?)		; move
?newspectate@@3VNewSpectateConsoleFunction@@A DD 01H DUP (?) ; newspectate
?getspeed@@3VGetPlayerSpeedConsoleFunction@@A DD 01H DUP (?) ; getspeed
_gzCritical DB	018H DUP (?)
_BSS	ENDS
CRT$XCU	SEGMENT
_gzCritical$initializer$ DD FLAT:??__EgzCritical@@YAXXZ
?m_list$initializer$@gzPlayerManager@@0P6AXXZA DD FLAT:??__E?m_list@gzPlayerManager@@0V?$aList@VgzPlayer@@@@A@@YAXXZ ; gzPlayerManager::m_list$initializer$
_gzObserverSoldier_Registrant$initializer$ DD FLAT:??__EgzObserverSoldier_Registrant@@YAXXZ
_gzObserverSpectator_Registrant$initializer$ DD FLAT:??__EgzObserverSpectator_Registrant@@YAXXZ
_gzFreeze_Player_Registrant$initializer$ DD FLAT:??__EgzFreeze_Player_Registrant@@YAXXZ
_spectate$initializer$ DD FLAT:??__Espectate@@YAXXZ
_newspectate$initializer$ DD FLAT:??__Enewspectate@@YAXXZ
_setspeed$initializer$ DD FLAT:??__Esetspeed@@YAXXZ
_getspeed$initializer$ DD FLAT:??__Egetspeed@@YAXXZ
_givecredit$initializer$ DD FLAT:??__Egivecredit@@YAXXZ
_givept$initializer$ DD FLAT:??__Egivept@@YAXXZ
_getpos$initializer$ DD FLAT:??__Egetpos@@YAXXZ
_kill$initializer$ DD FLAT:??__Ekill@@YAXXZ
_freeze$initializer$ DD FLAT:??__Efreeze@@YAXXZ
_team$initializer$ DD FLAT:??__Eteam@@YAXXZ
_team2$initializer$ DD FLAT:??__Eteam2@@YAXXZ
_playerinfo$initializer$ DD FLAT:??__Eplayerinfo@@YAXXZ
_setcredit$initializer$ DD FLAT:??__Esetcredit@@YAXXZ
_setscore$initializer$ DD FLAT:??__Esetscore@@YAXXZ
_setpos$initializer$ DD FLAT:??__Esetpos@@YAXXZ
_setname$initializer$ DD FLAT:??__Esetname@@YAXXZ
_resetplayer$initializer$ DD FLAT:??__Eresetplayer@@YAXXZ
_serialban$initializer$ DD FLAT:??__Eserialban@@YAXXZ
_teleport$initializer$ DD FLAT:??__Eteleport@@YAXXZ
_move$initializer$ DD FLAT:??__Emove@@YAXXZ
_setside$initializer$ DD FLAT:??__Esetside@@YAXXZ
_destroy$initializer$ DD FLAT:??__Edestroy@@YAXXZ
CRT$XCU	ENDS
END
