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

	TITLE	d:\Source Code\GZGM\gzchat.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	?gzChat@@3PAVgzChatManagerClass@@A		; gzChat
_BSS	SEGMENT
?gzChat@@3PAVgzChatManagerClass@@A DD 01H DUP (?)	; gzChat
_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
EXTRN	__stat64i32:PROC
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\sys\stat.inl
;	COMDAT _stat
_TEXT	SEGMENT
_stat	PROC						; COMDAT
; __Filename$ = ecx
; __Stat$ = eax

; 60   :     _STATIC_ASSERT( sizeof(struct stat) == sizeof(struct _stat64i32) );
; 61   :     return _stat64i32(_Filename,(struct _stat64i32 *)_Stat);

	push	eax
	push	ecx
	call	__stat64i32
	add	esp, 8

; 62   : }

	ret	0
_stat	ENDP
_TEXT	ENDS
PUBLIC	??_7bad_alloc@std@@6B@				; std::bad_alloc::`vftable'
PUBLIC	??0bad_alloc@std@@QAE@PBD@Z			; std::bad_alloc::bad_alloc
PUBLIC	??_R4bad_alloc@std@@6B@				; std::bad_alloc::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVbad_alloc@std@@@8			; std::bad_alloc `RTTI Type Descriptor'
PUBLIC	??_R3bad_alloc@std@@8				; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2bad_alloc@std@@8				; std::bad_alloc::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@bad_alloc@std@@8			; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@exception@std@@8			; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVexception@std@@@8			; std::exception `RTTI Type Descriptor'
PUBLIC	??_R3exception@std@@8				; std::exception::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2exception@std@@8				; std::exception::`RTTI Base Class Array'
EXTRN	??0exception@std@@QAE@ABQBD@Z:PROC		; std::exception::exception
EXTRN	??_7type_info@@6B@:QWORD			; type_info::`vftable'
EXTRN	??_Ebad_alloc@std@@UAEPAXI@Z:PROC		; std::bad_alloc::`vector deleting destructor'
EXTRN	?what@exception@std@@UBEPBDXZ:PROC		; std::exception::what
;	COMDAT ??_R2exception@std@@8
; File c:\program files\microsoft visual studio 8\vc\include\exception
rdata$r	SEGMENT
??_R2exception@std@@8 DD FLAT:??_R1A@?0A@EA@exception@std@@8 ; std::exception::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3exception@std@@8
rdata$r	SEGMENT
??_R3exception@std@@8 DD 00H				; std::exception::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVexception@std@@@8
_DATA	SEGMENT
??_R0?AVexception@std@@@8 DD FLAT:??_7type_info@@6B@	; std::exception `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVexception@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@exception@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@exception@std@@8 DD FLAT:??_R0?AVexception@std@@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@bad_alloc@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@bad_alloc@std@@8 DD FLAT:??_R0?AVbad_alloc@std@@@8 ; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_R2bad_alloc@std@@8
rdata$r	SEGMENT
??_R2bad_alloc@std@@8 DD FLAT:??_R1A@?0A@EA@bad_alloc@std@@8 ; std::bad_alloc::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R3bad_alloc@std@@8
rdata$r	SEGMENT
??_R3bad_alloc@std@@8 DD 00H				; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVbad_alloc@std@@@8
_DATA	SEGMENT
??_R0?AVbad_alloc@std@@@8 DD FLAT:??_7type_info@@6B@	; std::bad_alloc `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVbad_alloc@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4bad_alloc@std@@6B@
rdata$r	SEGMENT
??_R4bad_alloc@std@@6B@ DD 00H				; std::bad_alloc::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVbad_alloc@std@@@8
	DD	FLAT:??_R3bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_7bad_alloc@std@@6B@
CONST	SEGMENT
??_7bad_alloc@std@@6B@ DD FLAT:??_R4bad_alloc@std@@6B@	; std::bad_alloc::`vftable'
	DD	FLAT:??_Ebad_alloc@std@@UAEPAXI@Z
	DD	FLAT:?what@exception@std@@UBEPBDXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@PBD@Z
_TEXT	SEGMENT
__Message$ = 8						; size = 4
??0bad_alloc@std@@QAE@PBD@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx

; 371  : 		{	// construct from message string

	push	esi
	lea	eax, DWORD PTR __Message$[esp]
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@

; 372  : 		}

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

; 380  : 		{	// destroy the object

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

; 381  : 		}

	jmp	??1exception@std@@UAE@XZ		; std::exception::~exception
??1bad_alloc@std@@UAE@XZ ENDP				; std::bad_alloc::~bad_alloc
_TEXT	ENDS
EXTRN	??3@YAXPAX@Z:PROC				; operator delete
; Function compile flags: /Ogtpy
;	COMDAT ??_Gbad_alloc@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Gbad_alloc@std@@UAEPAXI@Z PROC			; std::bad_alloc::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	call	??1exception@std@@UAE@XZ		; std::exception::~exception
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN6@scalar
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN6@scalar:
	mov	eax, esi
	pop	esi
	ret	4
??_Gbad_alloc@std@@UAEPAXI@Z ENDP			; std::bad_alloc::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?GetLength@aStringData@@QAEIXZ			; aStringData::GetLength
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	COMDAT ?GetLength@aStringData@@QAEIXZ
_TEXT	SEGMENT
?GetLength@aStringData@@QAEIXZ PROC			; aStringData::GetLength, COMDAT
; _this$ = ecx

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

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

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

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

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

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

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

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

; 142  : 	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	??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	??8@YA_NABVaString@@0@Z				; operator==
EXTRN	?Compare@aString@@QBE_NABV1@H_N@Z:PROC		; aString::Compare
EXTRN	?GetLength@aStringBase@@QBEIXZ:PROC		; aStringBase::GetLength
; 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

; 183  : {

	push	ebx
	push	esi

; 184  : 	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
	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
	pop	edi
	pop	esi
	mov	eax, 1
	pop	ebx

; 185  : }

	ret	0
$LN3@operator:
	pop	edi
	pop	esi

; 184  : 	return ((str1.GetLength() == str2.GetLength()) && str1.Compare(str2));

	xor	eax, eax
	pop	ebx

; 185  : }

	ret	0
??8@YA_NABVaString@@0@Z ENDP				; operator==
_TEXT	ENDS
PUBLIC	??_7aWideString@@6B@				; aWideString::`vftable'
PUBLIC	??0aWideString@@QAE@ABV0@@Z			; aWideString::aWideString
PUBLIC	??_R4aWideString@@6B@				; aWideString::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaWideString@@@8				; aWideString `RTTI Type Descriptor'
PUBLIC	??_R3aWideString@@8				; aWideString::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aWideString@@8				; aWideString::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aWideString@@8			; aWideString::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_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

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

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

; 218  : 	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	??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	?Skip@gzEventSkippable@gzEventPlayerChat@@QAEXXZ ; gzEventPlayerChat::gzEventSkippable::Skip
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzeventbase.h
;	COMDAT ?Skip@gzEventSkippable@gzEventPlayerChat@@QAEXXZ
_TEXT	SEGMENT
?Skip@gzEventSkippable@gzEventPlayerChat@@QAEXXZ PROC	; gzEventPlayerChat::gzEventSkippable::Skip, COMDAT
; _this$ = ecx

; 169  : 	gzEVT_SKIPPABLE();

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

; 169  : 	gzEVT_SKIPPABLE();

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

; 180  : 	gzEVT_SKIPPABLE();

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

; 180  : 	gzEVT_SKIPPABLE();

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

; 307  : 	gzEVT_SKIPPABLE();

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

; 307  : 	gzEVT_SKIPPABLE();

	mov	BYTE PTR [ecx+48], 0
	ret	0
?Skip@gzEventNetWolPage@@QAEXXZ ENDP			; gzEventNetWolPage::Skip
_TEXT	ENDS
PUBLIC	?GetRadioCtrl@gzPlayer@@QAEPAVgzRadioFloodClass@@XZ ; gzPlayer::GetRadioCtrl
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzplayer.h
;	COMDAT ?GetRadioCtrl@gzPlayer@@QAEPAVgzRadioFloodClass@@XZ
_TEXT	SEGMENT
?GetRadioCtrl@gzPlayer@@QAEPAVgzRadioFloodClass@@XZ PROC ; gzPlayer::GetRadioCtrl, COMDAT
; _this$ = ecx

; 73   : 	inline gzRadioFloodClass *GetRadioCtrl() { return this->m_radioFlood; };

	mov	eax, DWORD PTR [ecx+40]
	ret	0
?GetRadioCtrl@gzPlayer@@QAEPAVgzRadioFloodClass@@XZ ENDP ; gzPlayer::GetRadioCtrl
_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

; 80   : 	inline nc_cPlayer *GetPlayerData() { return this->m_gameData; };

	mov	eax, DWORD PTR [ecx+72]
	ret	0
?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ ENDP	; gzPlayer::GetPlayerData
_TEXT	ENDS
PUBLIC	??1gzAutoCompleteStruct@@QAE@XZ			; gzAutoCompleteStruct::~gzAutoCompleteStruct
EXTRN	___CxxFrameHandler3:PROC
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzAutoCompleteStruct@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzAutoCompleteStruct@@QAE@XZ$0
__ehfuncinfo$??1gzAutoCompleteStruct@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzAutoCompleteStruct@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzAutoCompleteStruct@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzAutoCompleteStruct@@QAE@XZ PROC			; gzAutoCompleteStruct::~gzAutoCompleteStruct, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzAutoCompleteStruct@@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$??1gzAutoCompleteStruct@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??1gzAutoCompleteStruct@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzAutoCompleteStruct@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzAutoCompleteStruct@@QAE@XZ ENDP			; gzAutoCompleteStruct::~gzAutoCompleteStruct
PUBLIC	??0gzAutoCompleteStruct@@QAE@XZ			; gzAutoCompleteStruct::gzAutoCompleteStruct
EXTRN	??0aWideString@@QAE@XZ:PROC			; aWideString::aWideString
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzAutoCompleteStruct@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzAutoCompleteStruct@@QAE@XZ$0
__ehfuncinfo$??0gzAutoCompleteStruct@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzAutoCompleteStruct@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzAutoCompleteStruct@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzAutoCompleteStruct@@QAE@XZ PROC			; gzAutoCompleteStruct::gzAutoCompleteStruct, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0gzAutoCompleteStruct@@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	??0aWideString@@QAE@XZ			; aWideString::aWideString
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	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$??0gzAutoCompleteStruct@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0gzAutoCompleteStruct@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzAutoCompleteStruct@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzAutoCompleteStruct@@QAE@XZ ENDP			; gzAutoCompleteStruct::gzAutoCompleteStruct
PUBLIC	??_7gzFloodBase@@6B@				; gzFloodBase::`vftable'
PUBLIC	??0gzFloodBase@@QAE@XZ				; gzFloodBase::gzFloodBase
PUBLIC	??_R4gzFloodBase@@6B@				; gzFloodBase::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzFloodBase@@@8				; gzFloodBase `RTTI Type Descriptor'
PUBLIC	??_R3gzFloodBase@@8				; gzFloodBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzFloodBase@@8				; gzFloodBase::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzFloodBase@@8			; gzFloodBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@gzEvtHandler@@8			; gzEvtHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVgzEvtHandler@@@8			; gzEvtHandler `RTTI Type Descriptor'
PUBLIC	??_R3gzEvtHandler@@8				; gzEvtHandler::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzEvtHandler@@8				; gzEvtHandler::`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	?Level_Loaded@gzEvtHandler@@UAEXXZ		; gzEvtHandler::Level_Loaded
PUBLIC	?Level_Ended@gzEvtHandler@@UAEXXZ		; gzEvtHandler::Level_Ended
PUBLIC	?Think@gzEvtHandler@@UAEXXZ			; gzEvtHandler::Think
PUBLIC	?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_Joined
PUBLIC	?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_Left
PUBLIC	?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z ; gzEvtHandler::Player_Purchase
PUBLIC	?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z ; gzEvtHandler::Player_BandwidthChange
PUBLIC	?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_Suicide
PUBLIC	?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_TeamChange
PUBLIC	?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z ; gzEvtHandler::Player_Chat
PUBLIC	?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z ; gzEvtHandler::Player_Radio
PUBLIC	?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z ; gzEvtHandler::Player_SerialHash
PUBLIC	?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z ; gzEvtHandler::Player_RawDamage
PUBLIC	?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z ; gzEvtHandler::Object_Created
PUBLIC	?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z ; gzEvtHandler::Object_Init
PUBLIC	?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z ; gzEvtHandler::Object_Damaged
PUBLIC	?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z ; gzEvtHandler::Object_Killed
PUBLIC	?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z ; gzEvtHandler::Object_Transition
PUBLIC	?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z ; gzEvtHandler::Object_JumpStart
PUBLIC	?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z ; gzEvtHandler::Object_JumpComplete
PUBLIC	?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z ; gzEvtHandler::Object_SoldierSquished
PUBLIC	?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z ; gzEvtHandler::Object_C4Creation
PUBLIC	?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z ; gzEvtHandler::Object_C4Detonate
PUBLIC	?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z ; gzEvtHandler::Object_PowerupGrant
PUBLIC	?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z ; gzEvtHandler::Object_Fire
PUBLIC	?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z ; gzEvtHandler::Object_FlipKill
PUBLIC	?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z ; gzEvtHandler::Net_WolPage
PUBLIC	?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z ; gzEvtHandler::Net_SerialAuth
PUBLIC	?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z ; gzEvtHandler::Bhs_Poke
PUBLIC	?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z ; gzEvtHandler::Bhs_Version
PUBLIC	?As_ChatFlood@gzFloodBase@@UAEPAVgzChatFloodClass@@XZ ; gzFloodBase::As_ChatFlood
PUBLIC	?As_RadioFlood@gzFloodBase@@UAEPAVgzRadioFloodClass@@XZ ; gzFloodBase::As_RadioFlood
EXTRN	??1gzEvtHandler@@UAE@XZ:PROC			; gzEvtHandler::~gzEvtHandler
EXTRN	?RegisterEvent@gzEvtHandler@@QAEXHH@Z:PROC	; gzEvtHandler::RegisterEvent
EXTRN	??0gzEvtHandler@@QAE@XZ:PROC			; gzEvtHandler::gzEvtHandler
EXTRN	??_EgzFloodBase@@UAEPAXI@Z:PROC			; gzFloodBase::`vector deleting destructor'
EXTRN	__purecall:PROC
EXTRN	?SetDeletePending@gzBase@@UAEXXZ:PROC		; gzBase::SetDeletePending
;	COMDAT ??_R2gzBase@@8
; File d:\source code\gzgm\gzchat.cpp
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 ??_R2gzEvtHandler@@8
rdata$r	SEGMENT
??_R2gzEvtHandler@@8 DD FLAT:??_R1A@?0A@EA@gzEvtHandler@@8 ; gzEvtHandler::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzEvtHandler@@8
rdata$r	SEGMENT
??_R3gzEvtHandler@@8 DD 00H				; gzEvtHandler::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzEvtHandler@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzEvtHandler@@@8
_DATA	SEGMENT
??_R0?AVgzEvtHandler@@@8 DD FLAT:??_7type_info@@6B@	; gzEvtHandler `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzEvtHandler@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@gzEvtHandler@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzEvtHandler@@8 DD FLAT:??_R0?AVgzEvtHandler@@@8 ; gzEvtHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzEvtHandler@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzFloodBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzFloodBase@@8 DD FLAT:??_R0?AVgzFloodBase@@@8 ; gzFloodBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzFloodBase@@8
rdata$r	ENDS
;	COMDAT ??_R2gzFloodBase@@8
rdata$r	SEGMENT
??_R2gzFloodBase@@8 DD FLAT:??_R1A@?0A@EA@gzFloodBase@@8 ; gzFloodBase::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzEvtHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzFloodBase@@8
rdata$r	SEGMENT
??_R3gzFloodBase@@8 DD 00H				; gzFloodBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2gzFloodBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzFloodBase@@@8
_DATA	SEGMENT
??_R0?AVgzFloodBase@@@8 DD FLAT:??_7type_info@@6B@	; gzFloodBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzFloodBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzFloodBase@@6B@
rdata$r	SEGMENT
??_R4gzFloodBase@@6B@ DD 00H				; gzFloodBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzFloodBase@@@8
	DD	FLAT:??_R3gzFloodBase@@8
rdata$r	ENDS
;	COMDAT ??_7gzFloodBase@@6B@
CONST	SEGMENT
??_7gzFloodBase@@6B@ DD FLAT:??_R4gzFloodBase@@6B@	; gzFloodBase::`vftable'
	DD	FLAT:??_EgzFloodBase@@UAEPAXI@Z
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Think@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z
	DD	FLAT:?As_ChatFlood@gzFloodBase@@UAEPAVgzChatFloodClass@@XZ
	DD	FLAT:?As_RadioFlood@gzFloodBase@@UAEPAVgzRadioFloodClass@@XZ
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzFloodBase@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzFloodBase@@QAE@XZ$0
__ehfuncinfo$??0gzFloodBase@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzFloodBase@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzFloodBase@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzFloodBase@@QAE@XZ PROC				; gzFloodBase::gzFloodBase, COMDAT
; _this$ = ecx

; 270  : {

	push	-1
	push	__ehhandler$??0gzFloodBase@@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	??0gzEvtHandler@@QAE@XZ			; gzEvtHandler::gzEvtHandler

; 271  : 	this->RegisterEvent(gzEVT_GAME_THINK);

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

; 272  : }

	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$??0gzFloodBase@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
__ehhandler$??0gzFloodBase@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzFloodBase@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzFloodBase@@QAE@XZ ENDP				; gzFloodBase::gzFloodBase
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzevent.h
;	COMDAT ?Level_Loaded@gzEvtHandler@@UAEXXZ
_TEXT	SEGMENT
?Level_Loaded@gzEvtHandler@@UAEXXZ PROC			; gzEvtHandler::Level_Loaded, COMDAT
; _this$ = ecx

; 63   : 	virtual void Level_Loaded()	{ };

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

; 64   : 	virtual void Level_Ended() { };

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

; 65   : 	virtual void Think() { };

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	ret	4
?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z ENDP ; gzEvtHandler::Bhs_Version
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.h
_TEXT	ENDS
;	COMDAT ?As_ChatFlood@gzFloodBase@@UAEPAVgzChatFloodClass@@XZ
_TEXT	SEGMENT
?As_ChatFlood@gzFloodBase@@UAEPAVgzChatFloodClass@@XZ PROC ; gzFloodBase::As_ChatFlood, COMDAT
; _this$ = ecx

; 69   : 		return NULL;

	xor	eax, eax

; 70   : 	};

	ret	0
?As_ChatFlood@gzFloodBase@@UAEPAVgzChatFloodClass@@XZ ENDP ; gzFloodBase::As_ChatFlood
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?As_RadioFlood@gzFloodBase@@UAEPAVgzRadioFloodClass@@XZ
_TEXT	SEGMENT
?As_RadioFlood@gzFloodBase@@UAEPAVgzRadioFloodClass@@XZ PROC ; gzFloodBase::As_RadioFlood, COMDAT
; _this$ = ecx

; 73   : 		return NULL;

	xor	eax, eax

; 74   : 	};

	ret	0
?As_RadioFlood@gzFloodBase@@UAEPAVgzRadioFloodClass@@XZ ENDP ; gzFloodBase::As_RadioFlood
_TEXT	ENDS
PUBLIC	??1gzFloodBase@@UAE@XZ				; gzFloodBase::~gzFloodBase
; Function compile flags: /Ogtpy
;	COMDAT ??1gzFloodBase@@UAE@XZ
_TEXT	SEGMENT
??1gzFloodBase@@UAE@XZ PROC				; gzFloodBase::~gzFloodBase, COMDAT
; _this$ = ecx
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
??1gzFloodBase@@UAE@XZ ENDP				; gzFloodBase::~gzFloodBase
_TEXT	ENDS
PUBLIC	__real@41000000
PUBLIC	??_7gzChatFloodClass@@6B@			; gzChatFloodClass::`vftable'
PUBLIC	??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z	; gzChatFloodClass::gzChatFloodClass
PUBLIC	??_R4gzChatFloodClass@@6B@			; gzChatFloodClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChatFloodClass@@@8			; gzChatFloodClass `RTTI Type Descriptor'
PUBLIC	??_R3gzChatFloodClass@@8			; gzChatFloodClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChatFloodClass@@8			; gzChatFloodClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChatFloodClass@@8		; gzChatFloodClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetName@gzChatFloodClass@@UAEPBDXZ		; gzChatFloodClass::GetName
PUBLIC	?Delete@gzChatFloodClass@@UAEXXZ		; gzChatFloodClass::Delete
PUBLIC	?Think@gzChatFloodClass@@UAEXXZ			; gzChatFloodClass::Think
PUBLIC	?Player_Chat@gzChatFloodClass@@UAEXAAVgzEventPlayerChat@@@Z ; gzChatFloodClass::Player_Chat
PUBLIC	?As_ChatFlood@gzChatFloodClass@@UAEPAV1@XZ	; gzChatFloodClass::As_ChatFlood
EXTRN	__fltused:DWORD
EXTRN	??_EgzChatFloodClass@@UAEPAXI@Z:PROC		; gzChatFloodClass::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzChatFloodClass@@8
; File d:\source code\gzgm\gzchat.cpp
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChatFloodClass@@8 DD FLAT:??_R0?AVgzChatFloodClass@@@8 ; gzChatFloodClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChatFloodClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChatFloodClass@@8
rdata$r	SEGMENT
??_R2gzChatFloodClass@@8 DD FLAT:??_R1A@?0A@EA@gzChatFloodClass@@8 ; gzChatFloodClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzFloodBase@@8
	DD	FLAT:??_R1A@?0A@EA@gzEvtHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChatFloodClass@@8
rdata$r	SEGMENT
??_R3gzChatFloodClass@@8 DD 00H				; gzChatFloodClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzChatFloodClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChatFloodClass@@@8
_DATA	SEGMENT
??_R0?AVgzChatFloodClass@@@8 DD FLAT:??_7type_info@@6B@	; gzChatFloodClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChatFloodClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChatFloodClass@@6B@
rdata$r	SEGMENT
??_R4gzChatFloodClass@@6B@ DD 00H			; gzChatFloodClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChatFloodClass@@@8
	DD	FLAT:??_R3gzChatFloodClass@@8
rdata$r	ENDS
;	COMDAT __real@41000000
CONST	SEGMENT
__real@41000000 DD 041000000r			; 8
CONST	ENDS
;	COMDAT ??_7gzChatFloodClass@@6B@
CONST	SEGMENT
??_7gzChatFloodClass@@6B@ DD FLAT:??_R4gzChatFloodClass@@6B@ ; gzChatFloodClass::`vftable'
	DD	FLAT:??_EgzChatFloodClass@@UAEPAXI@Z
	DD	FLAT:?GetName@gzChatFloodClass@@UAEPBDXZ
	DD	FLAT:?Delete@gzChatFloodClass@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Think@gzChatFloodClass@@UAEXXZ
	DD	FLAT:?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@gzChatFloodClass@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z
	DD	FLAT:?As_ChatFlood@gzChatFloodClass@@UAEPAV1@XZ
	DD	FLAT:?As_RadioFlood@gzFloodBase@@UAEPAVgzRadioFloodClass@@XZ
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z$0
__ehfuncinfo$??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pData$ = 8						; size = 4
??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z PROC		; gzChatFloodClass::gzChatFloodClass, COMDAT
; _this$ = ecx

; 275  : {

	push	-1
	push	__ehhandler$??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@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
	call	??0gzFloodBase@@QAE@XZ			; gzFloodBase::gzFloodBase

; 276  : 	this->RegisterEvent(gzEVT_PLAYER_CHAT);

	push	0
	push	8195					; 00002003H
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR [esi], OFFSET ??_7gzChatFloodClass@@6B@
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 277  : 
; 278  : 	this->m_owner = pData;
; 279  : 	this->m_Count = 0;
; 280  : 	this->m_Interval = 8.0f;

	fld	DWORD PTR __real@41000000
	mov	eax, DWORD PTR _pData$[esp+16]
	fstp	DWORD PTR [esi+44]

; 281  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	DWORD PTR [esi+36], eax
	mov	DWORD PTR [esi+40], 0
	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$??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzFloodBase@@UAE@XZ
__ehhandler$??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z:
	mov	eax, OFFSET __ehfuncinfo$??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzChatFloodClass@@QAE@PAVnc_cPlayer@@@Z ENDP		; gzChatFloodClass::gzChatFloodClass
PUBLIC	??_C@_0BB@NKGGDIGL@gzChatFloodClass?$AA@	; `string'
;	COMDAT ??_C@_0BB@NKGGDIGL@gzChatFloodClass?$AA@
; File d:\source code\gzgm\gzchat.h
CONST	SEGMENT
??_C@_0BB@NKGGDIGL@gzChatFloodClass?$AA@ DB 'gzChatFloodClass', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzChatFloodClass@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzChatFloodClass@@UAEPBDXZ PROC		; gzChatFloodClass::GetName, COMDAT
; _this$ = ecx

; 84   : 		return "gzChatFloodClass";

	mov	eax, OFFSET ??_C@_0BB@NKGGDIGL@gzChatFloodClass?$AA@

; 85   : 	};

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

; 87   : 	void Delete() { };

	ret	0
?Delete@gzChatFloodClass@@UAEXXZ ENDP			; gzChatFloodClass::Delete
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?As_ChatFlood@gzChatFloodClass@@UAEPAV1@XZ
_TEXT	SEGMENT
?As_ChatFlood@gzChatFloodClass@@UAEPAV1@XZ PROC		; gzChatFloodClass::As_ChatFlood, COMDAT
; _this$ = ecx

; 91   : 	{

	mov	eax, ecx

; 92   : 		return this;
; 93   : 	};

	ret	0
?As_ChatFlood@gzChatFloodClass@@UAEPAV1@XZ ENDP		; gzChatFloodClass::As_ChatFlood
_TEXT	ENDS
PUBLIC	??1gzChatFloodClass@@UAE@XZ			; gzChatFloodClass::~gzChatFloodClass
; Function compile flags: /Ogtpy
;	COMDAT ??1gzChatFloodClass@@UAE@XZ
_TEXT	SEGMENT
??1gzChatFloodClass@@UAE@XZ PROC			; gzChatFloodClass::~gzChatFloodClass, COMDAT
; _this$ = ecx
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
??1gzChatFloodClass@@UAE@XZ ENDP			; gzChatFloodClass::~gzChatFloodClass
_TEXT	ENDS
PUBLIC	__real@00000000
EXTRN	?SubFrameTime@@YAXAAM_N@Z:PROC			; SubFrameTime
;	COMDAT __real@00000000
; File d:\source code\gzgm\gzchat.cpp
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Think@gzChatFloodClass@@UAEXXZ
_TEXT	SEGMENT
?Think@gzChatFloodClass@@UAEXXZ PROC			; gzChatFloodClass::Think, COMDAT
; _this$ = ecx

; 283  : {

	push	esi
	mov	esi, ecx

; 284  : 	SubFrameTime(this->m_Interval, (this->m_Count > 0));

	cmp	DWORD PTR [esi+40], 0
	push	edi
	setg	al
	lea	edi, DWORD PTR [esi+44]
	push	eax
	push	edi
	call	?SubFrameTime@@YAXAAM_N@Z		; SubFrameTime

; 285  : 	if (this->m_Interval < 0.0f)

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

; 286  : 	{
; 287  : 		this->m_Count = 0;
; 288  : 		this->m_Interval = 8.0f;

	fld	DWORD PTR __real@41000000
	mov	DWORD PTR [esi+40], 0
	fstp	DWORD PTR [edi]
$LN1@Think:
	pop	edi
	pop	esi

; 289  : 	}
; 290  : }

	ret	0
?Think@gzChatFloodClass@@UAEXXZ ENDP			; gzChatFloodClass::Think
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Chat@gzChatFloodClass@@UAEXAAVgzEventPlayerChat@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Player_Chat@gzChatFloodClass@@UAEXAAVgzEventPlayerChat@@@Z PROC ; gzChatFloodClass::Player_Chat, COMDAT
; _this$ = ecx

; 293  : 	if (evt.m_type == 0 || evt.m_type == 1)

	mov	edx, DWORD PTR _evt$[esp-4]
	mov	eax, DWORD PTR [edx+40]
	test	eax, eax
	je	SHORT $LN3@Player_Cha
	cmp	eax, 1
	jne	SHORT $LN2@Player_Cha
$LN3@Player_Cha:

; 294  : 	{
; 295  : 		if (evt.m_sender == this->m_owner->PlayerId)

	mov	eax, DWORD PTR [ecx+36]
	push	esi
	mov	esi, DWORD PTR [edx+52]
	cmp	esi, DWORD PTR [eax+1884]
	pop	esi
	jne	SHORT $LN2@Player_Cha

; 296  : 		{
; 297  : 			// Flood control
; 298  : 			if (this->m_Count >= 5)

	mov	eax, DWORD PTR [ecx+40]
	cmp	eax, 5
	jl	SHORT $LN1@Player_Cha

; 299  : 			{
; 300  : 				evt.Skip();

	mov	BYTE PTR [edx+60], 0

; 304  : 		}
; 305  : 	}
; 306  : }

	ret	4
$LN1@Player_Cha:

; 301  : 				return;
; 302  : 			}
; 303  : 			this->m_Count++;

	add	eax, 1
	mov	DWORD PTR [ecx+40], eax
$LN2@Player_Cha:

; 304  : 		}
; 305  : 	}
; 306  : }

	ret	4
?Player_Chat@gzChatFloodClass@@UAEXAAVgzEventPlayerChat@@@Z ENDP ; gzChatFloodClass::Player_Chat
_TEXT	ENDS
PUBLIC	??_7gzRadioFloodClass@@6B@			; gzRadioFloodClass::`vftable'
PUBLIC	??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z	; gzRadioFloodClass::gzRadioFloodClass
PUBLIC	??_R4gzRadioFloodClass@@6B@			; gzRadioFloodClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzRadioFloodClass@@@8			; gzRadioFloodClass `RTTI Type Descriptor'
PUBLIC	??_R3gzRadioFloodClass@@8			; gzRadioFloodClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzRadioFloodClass@@8			; gzRadioFloodClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzRadioFloodClass@@8		; gzRadioFloodClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetName@gzRadioFloodClass@@UAEPBDXZ		; gzRadioFloodClass::GetName
PUBLIC	?Delete@gzRadioFloodClass@@UAEXXZ		; gzRadioFloodClass::Delete
PUBLIC	?Think@gzRadioFloodClass@@UAEXXZ		; gzRadioFloodClass::Think
PUBLIC	?Player_Radio@gzRadioFloodClass@@UAEXAAVgzEventPlayerRadio@@@Z ; gzRadioFloodClass::Player_Radio
PUBLIC	?As_RadioFlood@gzRadioFloodClass@@UAEPAV1@XZ	; gzRadioFloodClass::As_RadioFlood
EXTRN	??_EgzRadioFloodClass@@UAEPAXI@Z:PROC		; gzRadioFloodClass::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzRadioFloodClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzRadioFloodClass@@8 DD FLAT:??_R0?AVgzRadioFloodClass@@@8 ; gzRadioFloodClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzRadioFloodClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzRadioFloodClass@@8
rdata$r	SEGMENT
??_R2gzRadioFloodClass@@8 DD FLAT:??_R1A@?0A@EA@gzRadioFloodClass@@8 ; gzRadioFloodClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzFloodBase@@8
	DD	FLAT:??_R1A@?0A@EA@gzEvtHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzRadioFloodClass@@8
rdata$r	SEGMENT
??_R3gzRadioFloodClass@@8 DD 00H			; gzRadioFloodClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzRadioFloodClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzRadioFloodClass@@@8
_DATA	SEGMENT
??_R0?AVgzRadioFloodClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzRadioFloodClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzRadioFloodClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzRadioFloodClass@@6B@
rdata$r	SEGMENT
??_R4gzRadioFloodClass@@6B@ DD 00H			; gzRadioFloodClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzRadioFloodClass@@@8
	DD	FLAT:??_R3gzRadioFloodClass@@8
rdata$r	ENDS
;	COMDAT ??_7gzRadioFloodClass@@6B@
CONST	SEGMENT
??_7gzRadioFloodClass@@6B@ DD FLAT:??_R4gzRadioFloodClass@@6B@ ; gzRadioFloodClass::`vftable'
	DD	FLAT:??_EgzRadioFloodClass@@UAEPAXI@Z
	DD	FLAT:?GetName@gzRadioFloodClass@@UAEPBDXZ
	DD	FLAT:?Delete@gzRadioFloodClass@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Think@gzRadioFloodClass@@UAEXXZ
	DD	FLAT:?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@gzRadioFloodClass@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z
	DD	FLAT:?As_ChatFlood@gzFloodBase@@UAEPAVgzChatFloodClass@@XZ
	DD	FLAT:?As_RadioFlood@gzRadioFloodClass@@UAEPAV1@XZ
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z$0
__ehfuncinfo$??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pData$ = 8						; size = 4
??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z PROC	; gzRadioFloodClass::gzRadioFloodClass, COMDAT
; _this$ = ecx

; 309  : {

	push	-1
	push	__ehhandler$??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@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
	call	??0gzFloodBase@@QAE@XZ			; gzFloodBase::gzFloodBase

; 310  : 	this->RegisterEvent(gzEVT_PLAYER_RADIO);

	push	0
	push	8196					; 00002004H
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR [esi], OFFSET ??_7gzRadioFloodClass@@6B@
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 311  : 
; 312  : 	this->m_owner = pData;
; 313  : 	this->m_Count = 0;
; 314  : 	this->m_Interval = 8.0f;

	fld	DWORD PTR __real@41000000
	mov	eax, DWORD PTR _pData$[esp+16]
	fstp	DWORD PTR [esi+44]

; 315  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	DWORD PTR [esi+36], eax
	mov	DWORD PTR [esi+40], 0
	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$??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzFloodBase@@UAE@XZ
__ehhandler$??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z:
	mov	eax, OFFSET __ehfuncinfo$??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzRadioFloodClass@@QAE@PAVnc_cPlayer@@@Z ENDP	; gzRadioFloodClass::gzRadioFloodClass
PUBLIC	??_C@_0BC@DOILJOEP@gzRadioFloodClass?$AA@	; `string'
;	COMDAT ??_C@_0BC@DOILJOEP@gzRadioFloodClass?$AA@
; File d:\source code\gzgm\gzchat.h
CONST	SEGMENT
??_C@_0BC@DOILJOEP@gzRadioFloodClass?$AA@ DB 'gzRadioFloodClass', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzRadioFloodClass@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzRadioFloodClass@@UAEPBDXZ PROC		; gzRadioFloodClass::GetName, COMDAT
; _this$ = ecx

; 100  : 		return "gzRadioFloodClass";

	mov	eax, OFFSET ??_C@_0BC@DOILJOEP@gzRadioFloodClass?$AA@

; 101  : 	};

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

; 103  : 	void Delete() {	};

	ret	0
?Delete@gzRadioFloodClass@@UAEXXZ ENDP			; gzRadioFloodClass::Delete
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?As_RadioFlood@gzRadioFloodClass@@UAEPAV1@XZ
_TEXT	SEGMENT
?As_RadioFlood@gzRadioFloodClass@@UAEPAV1@XZ PROC	; gzRadioFloodClass::As_RadioFlood, COMDAT
; _this$ = ecx

; 107  : 	{

	mov	eax, ecx

; 108  : 		return this;
; 109  : 	};

	ret	0
?As_RadioFlood@gzRadioFloodClass@@UAEPAV1@XZ ENDP	; gzRadioFloodClass::As_RadioFlood
_TEXT	ENDS
PUBLIC	??1gzRadioFloodClass@@UAE@XZ			; gzRadioFloodClass::~gzRadioFloodClass
; Function compile flags: /Ogtpy
;	COMDAT ??1gzRadioFloodClass@@UAE@XZ
_TEXT	SEGMENT
??1gzRadioFloodClass@@UAE@XZ PROC			; gzRadioFloodClass::~gzRadioFloodClass, COMDAT
; _this$ = ecx
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
??1gzRadioFloodClass@@UAE@XZ ENDP			; gzRadioFloodClass::~gzRadioFloodClass
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.cpp
_TEXT	ENDS
;	COMDAT ?Think@gzRadioFloodClass@@UAEXXZ
_TEXT	SEGMENT
?Think@gzRadioFloodClass@@UAEXXZ PROC			; gzRadioFloodClass::Think, COMDAT
; _this$ = ecx

; 317  : {

	push	esi
	mov	esi, ecx

; 318  : 	SubFrameTime(this->m_Interval, (this->m_Count > 0));

	cmp	DWORD PTR [esi+40], 0
	push	edi
	setg	al
	lea	edi, DWORD PTR [esi+44]
	push	eax
	push	edi
	call	?SubFrameTime@@YAXAAM_N@Z		; SubFrameTime

; 319  : 	if (this->m_Interval < 0.0f)

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

; 320  : 	{
; 321  : 		this->m_Interval = 8.0f;

	fld	DWORD PTR __real@41000000

; 322  : 		this->m_Count = 0;

	mov	DWORD PTR [esi+40], 0
	fstp	DWORD PTR [edi]
$LN1@Think@2:
	pop	edi
	pop	esi

; 323  : 	}
; 324  : }

	ret	0
?Think@gzRadioFloodClass@@UAEXXZ ENDP			; gzRadioFloodClass::Think
_TEXT	ENDS
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z:PROC	; gzPlayerManager::Find
EXTRN	?_mInstance@nc_CNCModeSettingsDef@@2AAPAV1@A:DWORD ; nc_CNCModeSettingsDef::_mInstance
; Function compile flags: /Ogtpy
;	COMDAT ?Player_Radio@gzRadioFloodClass@@UAEXAAVgzEventPlayerRadio@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Player_Radio@gzRadioFloodClass@@UAEXAAVgzEventPlayerRadio@@@Z PROC ; gzRadioFloodClass::Player_Radio, COMDAT
; _this$ = ecx

; 327  : 	if (evt.m_sender == this->m_owner->PlayerId)

	mov	eax, DWORD PTR [ecx+36]
	push	esi
	mov	esi, DWORD PTR _evt$[esp]
	mov	edx, DWORD PTR [esi+44]
	cmp	edx, DWORD PTR [eax+1884]
	jne	SHORT $LN2@Player_Rad

; 328  : 	{
; 329  : 		// Invalid radio id?
; 330  : 		if (evt.m_key < 0 || evt.m_key >= 30)

	mov	eax, DWORD PTR [esi+52]
	test	eax, eax
	jl	SHORT $LN3@Player_Rad
	cmp	eax, 30					; 0000001eH
	jge	SHORT $LN3@Player_Rad

; 333  : 			return;
; 334  : 		}
; 335  : 
; 336  : 		// Block custom radio id
; 337  : 		evt.m_radioID = nc_CNCModeSettingsDef::_mInstance->Radio_Command[evt.m_key];

	mov	ecx, DWORD PTR ?_mInstance@nc_CNCModeSettingsDef@@2AAPAV1@A ; nc_CNCModeSettingsDef::_mInstance
	mov	ecx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ecx+eax*4+120]

; 338  : 
; 339  : 		// Flood control
; 340  : 		gzPlayer *pData = gzPlayerManager::Find(evt.m_sender);

	push	edx
	mov	DWORD PTR [esi+48], eax
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 341  : 		if (pData)

	test	eax, eax
	je	SHORT $LN2@Player_Rad

; 342  : 		{
; 343  : 			if (pData->GetRadioCtrl()->m_Count >= 5)

	mov	eax, DWORD PTR [eax+40]
	cmp	DWORD PTR [eax+40], 5

; 344  : 			{
; 345  : 				evt.Skip();
; 346  : 				return;

	jge	SHORT $LN3@Player_Rad

; 347  : 			}
; 348  : 			pData->GetRadioCtrl()->m_Count++;

	add	DWORD PTR [eax+40], 1
	pop	esi

; 349  : 		}
; 350  : 	}
; 351  : }

	ret	4
$LN3@Player_Rad:

; 331  : 		{
; 332  : 			evt.Skip();

	mov	BYTE PTR [esi+57], 0
$LN2@Player_Rad:
	pop	esi

; 349  : 		}
; 350  : 	}
; 351  : }

	ret	4
?Player_Radio@gzRadioFloodClass@@UAEXAAVgzEventPlayerRadio@@@Z ENDP ; gzRadioFloodClass::Player_Radio
_TEXT	ENDS
PUBLIC	??_7MuteConsoleFunction@@6B@			; MuteConsoleFunction::`vftable'
PUBLIC	??0MuteConsoleFunction@@QAE@XZ			; MuteConsoleFunction::MuteConsoleFunction
PUBLIC	??_R4MuteConsoleFunction@@6B@			; MuteConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVMuteConsoleFunction@@@8			; MuteConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3MuteConsoleFunction@@8			; MuteConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2MuteConsoleFunction@@8			; MuteConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@MuteConsoleFunction@@8		; MuteConsoleFunction::`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@MuteConsoleFunction@@UAEPADXZ		; MuteConsoleFunction::Get_Name
PUBLIC	?Get_Alias@gzConsoleCommand@@UAEPADXZ		; gzConsoleCommand::Get_Alias
PUBLIC	?Get_Help@MuteConsoleFunction@@UAEPADXZ		; MuteConsoleFunction::Get_Help
PUBLIC	?Activate@MuteConsoleFunction@@UAEXPAD@Z	; MuteConsoleFunction::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@MuteConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@MuteConsoleFunction@@8 DD FLAT:??_R0?AVMuteConsoleFunction@@@8 ; MuteConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3MuteConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2MuteConsoleFunction@@8
rdata$r	SEGMENT
??_R2MuteConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@MuteConsoleFunction@@8 ; MuteConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3MuteConsoleFunction@@8
rdata$r	SEGMENT
??_R3MuteConsoleFunction@@8 DD 00H			; MuteConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2MuteConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVMuteConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVMuteConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; MuteConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVMuteConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4MuteConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4MuteConsoleFunction@@6B@ DD 00H			; MuteConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVMuteConsoleFunction@@@8
	DD	FLAT:??_R3MuteConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7MuteConsoleFunction@@6B@
CONST	SEGMENT
??_7MuteConsoleFunction@@6B@ DD FLAT:??_R4MuteConsoleFunction@@6B@ ; MuteConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@MuteConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@MuteConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@MuteConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0MuteConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0MuteConsoleFunction@@QAE@XZ PROC			; MuteConsoleFunction::MuteConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7MuteConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0MuteConsoleFunction@@QAE@XZ ENDP			; MuteConsoleFunction::MuteConsoleFunction
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzconsolecommands.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@_04EPOMLENO@mute?$AA@			; `string'
;	COMDAT ??_C@_04EPOMLENO@mute?$AA@
; File d:\source code\gzgm\gzchat.cpp
CONST	SEGMENT
??_C@_04EPOMLENO@mute?$AA@ DB 'mute', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@MuteConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@MuteConsoleFunction@@UAEPADXZ PROC		; MuteConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 361  : 		return "mute";

	mov	eax, OFFSET ??_C@_04EPOMLENO@mute?$AA@

; 362  : 	}

	ret	0
?Get_Name@MuteConsoleFunction@@UAEPADXZ ENDP		; MuteConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0FM@KNFBMHC@MUTE?5?$DMplayer?5id?$DO?5?9?5Adds?5player?5t@ ; `string'
;	COMDAT ??_C@_0FM@KNFBMHC@MUTE?5?$DMplayer?5id?$DO?5?9?5Adds?5player?5t@
CONST	SEGMENT
??_C@_0FM@KNFBMHC@MUTE?5?$DMplayer?5id?$DO?5?9?5Adds?5player?5t@ DB 'MUTE'
	DB	' <player id> - Adds player to mute list. The list will be cle'
	DB	'ared when server restarts.', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@MuteConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@MuteConsoleFunction@@UAEPADXZ PROC		; MuteConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 365  : 		return "MUTE <player id> - Adds player to mute list. The list will be cleared when server restarts.";

	mov	eax, OFFSET ??_C@_0FM@KNFBMHC@MUTE?5?$DMplayer?5id?$DO?5?9?5Adds?5player?5t@

; 366  : 	}

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

; 390  : 		return "mutelist";

	mov	eax, OFFSET ??_C@_08BHHMDALJ@mutelist?$AA@

; 391  : 	}

	ret	0
?Get_Name@MuteListConsoleFunction@@UAEPADXZ ENDP	; MuteListConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0CM@FNLEIJPH@MUTELIST?5?9?5List?5the?5nicknames?5in@ ; `string'
;	COMDAT ??_C@_0CM@FNLEIJPH@MUTELIST?5?9?5List?5the?5nicknames?5in@
CONST	SEGMENT
??_C@_0CM@FNLEIJPH@MUTELIST?5?9?5List?5the?5nicknames?5in@ DB 'MUTELIST -'
	DB	' List the nicknames in mute list.', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@MuteListConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@MuteListConsoleFunction@@UAEPADXZ PROC	; MuteListConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 394  : 		return "MUTELIST - List the nicknames in mute list.";

	mov	eax, OFFSET ??_C@_0CM@FNLEIJPH@MUTELIST?5?9?5List?5the?5nicknames?5in@

; 395  : 	}

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

; 409  : 		return "unmute";

	mov	eax, OFFSET ??_C@_06JIAMANBL@unmute?$AA@

; 410  : 	}

	ret	0
?Get_Name@UnmuteConsoleFunction@@UAEPADXZ ENDP		; UnmuteConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0DC@MNMHPOLN@UNMUTE?5?$DMplayer?$DO?5?9?5Remove?5?$DMplayer@ ; `string'
;	COMDAT ??_C@_0DC@MNMHPOLN@UNMUTE?5?$DMplayer?$DO?5?9?5Remove?5?$DMplayer@
CONST	SEGMENT
??_C@_0DC@MNMHPOLN@UNMUTE?5?$DMplayer?$DO?5?9?5Remove?5?$DMplayer@ DB 'UN'
	DB	'MUTE <player> - Remove <player> from mute list.', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@UnmuteConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@UnmuteConsoleFunction@@UAEPADXZ PROC		; UnmuteConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 413  : 		return "UNMUTE <player> - Remove <player> from mute list.";

	mov	eax, OFFSET ??_C@_0DC@MNMHPOLN@UNMUTE?5?$DMplayer?$DO?5?9?5Remove?5?$DMplayer@

; 414  : 	}

	ret	0
?Get_Help@UnmuteConsoleFunction@@UAEPADXZ ENDP		; UnmuteConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_7TeamAdminMsgConsoleFunction@@6B@		; TeamAdminMsgConsoleFunction::`vftable'
PUBLIC	??0TeamAdminMsgConsoleFunction@@QAE@XZ		; TeamAdminMsgConsoleFunction::TeamAdminMsgConsoleFunction
PUBLIC	??_R4TeamAdminMsgConsoleFunction@@6B@		; TeamAdminMsgConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVTeamAdminMsgConsoleFunction@@@8		; TeamAdminMsgConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3TeamAdminMsgConsoleFunction@@8		; TeamAdminMsgConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2TeamAdminMsgConsoleFunction@@8		; TeamAdminMsgConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@TeamAdminMsgConsoleFunction@@8	; TeamAdminMsgConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@TeamAdminMsgConsoleFunction@@UAEPADXZ	; TeamAdminMsgConsoleFunction::Get_Name
PUBLIC	?Get_Help@TeamAdminMsgConsoleFunction@@UAEPADXZ	; TeamAdminMsgConsoleFunction::Get_Help
PUBLIC	?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z ; TeamAdminMsgConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@TeamAdminMsgConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@TeamAdminMsgConsoleFunction@@8 DD FLAT:??_R0?AVTeamAdminMsgConsoleFunction@@@8 ; TeamAdminMsgConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3TeamAdminMsgConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2TeamAdminMsgConsoleFunction@@8
rdata$r	SEGMENT
??_R2TeamAdminMsgConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@TeamAdminMsgConsoleFunction@@8 ; TeamAdminMsgConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3TeamAdminMsgConsoleFunction@@8
rdata$r	SEGMENT
??_R3TeamAdminMsgConsoleFunction@@8 DD 00H		; TeamAdminMsgConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2TeamAdminMsgConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVTeamAdminMsgConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVTeamAdminMsgConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; TeamAdminMsgConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVTeamAdminMsgConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4TeamAdminMsgConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4TeamAdminMsgConsoleFunction@@6B@ DD 00H		; TeamAdminMsgConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVTeamAdminMsgConsoleFunction@@@8
	DD	FLAT:??_R3TeamAdminMsgConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7TeamAdminMsgConsoleFunction@@6B@
CONST	SEGMENT
??_7TeamAdminMsgConsoleFunction@@6B@ DD FLAT:??_R4TeamAdminMsgConsoleFunction@@6B@ ; TeamAdminMsgConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@TeamAdminMsgConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@TeamAdminMsgConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0TeamAdminMsgConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0TeamAdminMsgConsoleFunction@@QAE@XZ PROC		; TeamAdminMsgConsoleFunction::TeamAdminMsgConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7TeamAdminMsgConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0TeamAdminMsgConsoleFunction@@QAE@XZ ENDP		; TeamAdminMsgConsoleFunction::TeamAdminMsgConsoleFunction
_TEXT	ENDS
PUBLIC	??_7aString@@6B@				; aString::`vftable'
PUBLIC	??0aString@@QAE@ABV0@@Z				; aString::aString
PUBLIC	??_R4aString@@6B@				; aString::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaString@@@8				; aString `RTTI Type Descriptor'
PUBLIC	??_R3aString@@8					; aString::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aString@@8					; aString::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aString@@8			; aString::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?CharSize@aString@@UBEIXZ			; aString::CharSize
EXTRN	??_EaString@@UAEPAXI@Z:PROC			; aString::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@aString@@8
; File d:\source code\alib\include\astring.h
rdata$r	SEGMENT
??_R1A@?0A@EA@aString@@8 DD FLAT:??_R0?AVaString@@@8	; aString::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aString@@8
rdata$r	ENDS
;	COMDAT ??_R2aString@@8
rdata$r	SEGMENT
??_R2aString@@8 DD FLAT:??_R1A@?0A@EA@aString@@8	; aString::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R3aString@@8
rdata$r	SEGMENT
??_R3aString@@8 DD 00H					; aString::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2aString@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaString@@@8
_DATA	SEGMENT
??_R0?AVaString@@@8 DD FLAT:??_7type_info@@6B@		; aString `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaString@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aString@@6B@
rdata$r	SEGMENT
??_R4aString@@6B@ DD 00H				; aString::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaString@@@8
	DD	FLAT:??_R3aString@@8
rdata$r	ENDS
;	COMDAT ??_7aString@@6B@
CONST	SEGMENT
??_7aString@@6B@ DD FLAT:??_R4aString@@6B@		; aString::`vftable'
	DD	FLAT:??_EaString@@UAEPAXI@Z
	DD	FLAT:?CharSize@aString@@UBEIXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aString@@QAE@ABV0@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??0aString@@QAE@ABV0@@Z PROC				; aString::aString, COMDAT
; _this$ = ecx

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

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

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

	mov	eax, 1
	ret	0
?CharSize@aString@@UBEIXZ ENDP				; aString::CharSize
_TEXT	ENDS
PUBLIC	??_C@_05MPJLELMB@tamsg?$AA@			; `string'
;	COMDAT ??_C@_05MPJLELMB@tamsg?$AA@
; File d:\source code\gzgm\gzchat.cpp
CONST	SEGMENT
??_C@_05MPJLELMB@tamsg?$AA@ DB 'tamsg', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@TeamAdminMsgConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@TeamAdminMsgConsoleFunction@@UAEPADXZ PROC	; TeamAdminMsgConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 439  : 		return "tamsg";

	mov	eax, OFFSET ??_C@_05MPJLELMB@tamsg?$AA@

; 440  : 	}

	ret	0
?Get_Name@TeamAdminMsgConsoleFunction@@UAEPADXZ ENDP	; TeamAdminMsgConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0FG@NDIHHKHM@TAMSG?5?$DMteam?$DO?5?$DMmessage?$DO?5?9?5Sends?5a@ ; `string'
;	COMDAT ??_C@_0FG@NDIHHKHM@TAMSG?5?$DMteam?$DO?5?$DMmessage?$DO?5?9?5Sends?5a@
CONST	SEGMENT
??_C@_0FG@NDIHHKHM@TAMSG?5?$DMteam?$DO?5?$DMmessage?$DO?5?9?5Sends?5a@ DB 'T'
	DB	'AMSG <team> <message> - Sends a popup message to all <team> p'
	DB	'layers.', 0aH, '0 = Nod', 0aH, '1 = GDI', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@TeamAdminMsgConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@TeamAdminMsgConsoleFunction@@UAEPADXZ PROC	; TeamAdminMsgConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 442  : 		return "TAMSG <team> <message> - Sends a popup message to all <team> players.\n0 = Nod\n1 = GDI";

	mov	eax, OFFSET ??_C@_0FG@NDIHHKHM@TAMSG?5?$DMteam?$DO?5?$DMmessage?$DO?5?9?5Sends?5a@

; 443  : 	}

	ret	0
?Get_Help@TeamAdminMsgConsoleFunction@@UAEPADXZ ENDP	; TeamAdminMsgConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_C@_02MFEGOEMP@?$CFn?$AA@			; `string'
EXTRN	?Send_Object_Update@nc_cNetwork@@SAXPAVnc_NetworkObjectClass@@H@Z:PROC ; nc_cNetwork::Send_Object_Update
EXTRN	?Get@nc_IntDataSafeClass@@QAEHXZ:PROC		; nc_IntDataSafeClass::Get
EXTRN	?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A:DWORD ; nc_cPlayerManager::PlayerList
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	?Create@nc_cScTextObj@@SAPAV1@XZ:PROC		; nc_cScTextObj::Create
EXTRN	?Contain@aString@@QBE_NABV1@H_N@Z:PROC		; aString::Contain
EXTRN	?GetData@aToken@@QAEABVaString@@XZ:PROC		; aToken::GetData
EXTRN	?gettok@aToken@@QAE?AV1@HHE@Z:PROC		; aToken::gettok
EXTRN	?numtok@aToken@@QAEHE@Z:PROC			; aToken::numtok
EXTRN	??1aToken@@QAE@XZ:PROC				; aToken::~aToken
EXTRN	?ToLong@aToken@@QAEJXZ:PROC			; aToken::ToLong
EXTRN	?gettok@aToken@@QAE?AV1@HE@Z:PROC		; aToken::gettok
EXTRN	??0aToken@@QAE@ABVaString@@@Z:PROC		; aToken::aToken
EXTRN	??0aString@@QAE@PBD@Z:PROC			; aString::aString
;	COMDAT ??_C@_02MFEGOEMP@?$CFn?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_02MFEGOEMP@?$CFn?$AA@ DB '%n', 00H		; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	08H
	DD	FLAT:__unwindtable$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$3
	DD	04H
	DD	FLAT:__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$4
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$4
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$5
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.cpp
xdata$x	ENDS
;	COMDAT ?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
$T65509 = -40						; size = 4
$T65508 = -40						; size = 4
_msg$ = -36						; size = 8
$T65507 = -28						; size = 8
$T65511 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_Token$ = 8						; size = 4
_text$ = 8						; size = 4
?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z PROC	; TeamAdminMsgConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 444  : 	void Activate(char *text){

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

; 445  : 		if (!text || !*text)

	mov	eax, DWORD PTR _text$[esp+8]
	sub	esp, 28					; 0000001cH
	test	eax, eax
	je	$LN7@Activate
	cmp	BYTE PTR [eax], 0
	je	$LN7@Activate
	push	ebx
	push	ebp
	push	edi

; 446  : 			return;
; 447  : 		aToken Token = text;

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

; 448  : 		int Team = Token.gettok(1,' ').ToLong();

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T65508[esp+60]
	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+60], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	lea	ecx, DWORD PTR $T65508[esp+52]
	mov	ebp, eax
	mov	BYTE PTR __$EHRec$[esp+60], 2
	call	??1aToken@@QAE@XZ			; aToken::~aToken

; 449  : 		aString msg = Token.gettok(2, Token.numtok(' ') - 1, ' ').GetData();

	push	32					; 00000020H
	push	32					; 00000020H
	lea	ecx, DWORD PTR _Token$[esp+56]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	sub	eax, 1
	push	eax
	push	2
	lea	edx, DWORD PTR $T65509[esp+64]
	push	edx
	lea	ecx, DWORD PTR _Token$[esp+64]
	call	?gettok@aToken@@QAE?AV1@HHE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+60], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	lea	ecx, DWORD PTR _msg$[esp+56]
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR _msg$[esp+52], OFFSET ??_7aString@@6B@
	lea	ecx, DWORD PTR $T65509[esp+52]
	mov	BYTE PTR __$EHRec$[esp+60], 6
	call	??1aToken@@QAE@XZ			; aToken::~aToken

; 450  : 
; 451  : 		if (msg.Contain("%n"))

	push	OFFSET ??_C@_02MFEGOEMP@?$CFn?$AA@
	lea	ecx, DWORD PTR $T65511[esp+56]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	0
	or	edi, -1
	push	edi
	lea	eax, DWORD PTR $T65511[esp+60]
	push	eax
	lea	ecx, DWORD PTR _msg$[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 7
	call	?Contain@aString@@QBE_NABV1@H_N@Z	; aString::Contain
	lea	ecx, DWORD PTR $T65511[esp+52]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+60], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN6@Activate

; 452  : 			return;

	lea	ecx, DWORD PTR _msg$[esp+52]
	mov	BYTE PTR __$EHRec$[esp+60], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR _Token$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+60], edi
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	pop	edi
	pop	ebp
	pop	ebx

; 472  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	mov	DWORD PTR fs:0, ecx
	add	esp, 40					; 00000028H
	ret	4
$LN6@Activate:
	push	esi

; 453  : 
; 454  : 		nc_cScTextObj *ScTextObj = nc_cScTextObj::Create();

	call	?Create@nc_cScTextObj@@SAPAV1@XZ	; nc_cScTextObj::Create
	mov	esi, eax

; 455  : 		ScTextObj->SenderId = -1;

	mov	DWORD PTR [esi+1716], edi

; 456  : 		ScTextObj->Type = 1;
; 457  : 		ScTextObj->IsPopup = true;
; 458  : 		ScTextObj->Message.Get_String(0, false);

	push	0
	lea	edi, DWORD PTR [esi+1728]
	push	0
	mov	ecx, edi
	mov	DWORD PTR [esi+1724], 1
	mov	BYTE PTR [esi+1732], 1
	call	?Get_String@nc_WideStringClass@@QAE_WH_N@Z ; nc_WideStringClass::Get_String

; 459  : 		ScTextObj->Message.Convert_From(msg.GetString());

	mov	eax, DWORD PTR _msg$[esp+60]
	test	eax, eax
	je	SHORT $LN31@Activate
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN32@Activate
$LN31@Activate:
	xor	eax, eax
$LN32@Activate:
	push	eax
	mov	ecx, edi
	call	?Convert_From@nc_WideStringClass@@QAEXPBD@Z ; nc_WideStringClass::Convert_From

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

	mov	ecx, DWORD PTR ?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A ; nc_cPlayerManager::PlayerList
	mov	edi, DWORD PTR [ecx+4]
	test	edi, edi
	je	SHORT $LN3@Activate
	npad	10
$LL5@Activate:

; 461  : 		{
; 462  : 			if (pList->NodeData->IsActive)

	mov	eax, DWORD PTR [edi+4]
	cmp	BYTE PTR [eax+1981], 0
	je	SHORT $LN4@Activate

; 463  : 			{
; 464  : 				if (pList->NodeData->PlayerType.Get() == Team)

	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	eax, ebp
	jne	SHORT $LN4@Activate

; 465  : 				{
; 466  : 					ScTextObj->Set_Object_Dirty_Bit(pList->NodeData->PlayerId, nc_DB_CREATION, true);

	mov	eax, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR [eax+1884]
	mov	edx, DWORD PTR [esi]
	mov	edx, DWORD PTR [edx+52]
	push	1
	push	15					; 0000000fH
	push	ecx
	mov	ecx, esi
	call	edx

; 467  : 					nc_cNetwork::Send_Object_Update(ScTextObj, pList->NodeData->PlayerId);

	mov	eax, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR [eax+1884]
	push	ecx
	push	esi
	call	?Send_Object_Update@nc_cNetwork@@SAXPAVnc_NetworkObjectClass@@H@Z ; nc_cNetwork::Send_Object_Update
	add	esp, 8
$LN4@Activate:
	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $LL5@Activate
$LN3@Activate:

; 468  : 				}
; 469  : 			}
; 470  : 		}
; 471  : 		ScTextObj->Set_Delete_Pending();

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

; 472  : 	}

	lea	ecx, DWORD PTR _msg$[esp+56]
	mov	BYTE PTR __$EHRec$[esp+64], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR _Token$[esp+52]
	mov	DWORD PTR __$EHRec$[esp+64], -1
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	pop	esi
	pop	edi
	pop	ebp
	pop	ebx
$LN7@Activate:
	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	mov	DWORD PTR fs:0, ecx
	add	esp, 40					; 00000028H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T65507[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _Token$[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T65508[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T65509[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$4:
	lea	ecx, DWORD PTR _msg$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z$5:
	lea	ecx, DWORD PTR $T65511[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@TeamAdminMsgConsoleFunction@@UAEXPAD@Z ENDP	; TeamAdminMsgConsoleFunction::Activate
PUBLIC	__TI2?AVbad_alloc@std@@
PUBLIC	??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@ ; `string'
PUBLIC	?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z ; std::_DebugHeapAllocator<char>::allocate
PUBLIC	__CTA2?AVbad_alloc@std@@
PUBLIC	__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
PUBLIC	??0bad_alloc@std@@QAE@ABV01@@Z			; std::bad_alloc::bad_alloc
PUBLIC	__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
EXTRN	??_U@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z:PROC	; operator new[]
EXTRN	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ:PROC ; std::_DebugHeapTag_func
EXTRN	__CxxThrowException@8:PROC
EXTRN	??0exception@std@@QAE@ABV01@@Z:PROC		; std::exception::exception
;	COMDAT __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
; File c:\program files\microsoft visual studio 8\vc\include\exception
xdata$x	SEGMENT
__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 DD 00H
	DD	FLAT:??_R0?AVexception@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0exception@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
xdata$x	SEGMENT
__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12 DD 00H
	DD	FLAT:??_R0?AVbad_alloc@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0bad_alloc@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CTA2?AVbad_alloc@std@@
xdata$x	SEGMENT
__CTA2?AVbad_alloc@std@@ DD 02H
	DD	FLAT:__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
	DD	FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x	ENDS
;	COMDAT __TI2?AVbad_alloc@std@@
xdata$x	SEGMENT
__TI2?AVbad_alloc@std@@ DD 00H
	DD	FLAT:??1bad_alloc@std@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA2?AVbad_alloc@std@@
xdata$x	ENDS
;	COMDAT ??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@
CONST	SEGMENT
??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@ DB 'C:\Program '
	DB	'Files\Microsoft Visual Studio 8\VC\include\xdebug', 00H ; `string'
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
CONST	ENDS
;	COMDAT ?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z
_TEXT	SEGMENT
$T65566 = -12						; size = 12
_this$ = 8						; size = 4
$T65572 = 12						; size = 4
__Count$ = 12						; size = 4
___formal$ = 16						; size = 4
?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z PROC ; std::_DebugHeapAllocator<char>::allocate, COMDAT

; 79   : 		{	// check for integer overflow

	sub	esp, 12					; 0000000cH
	push	esi

; 80   : 		if (_Count <= 0)

	mov	esi, DWORD PTR __Count$[esp+12]
	test	esi, esi
	ja	SHORT $LN3@allocate

; 81   : 			_Count = 0;

	xor	esi, esi
$LN1@allocate:

; 84   : 
; 85   : 			// allocate array of _Count elements, ignore hint
; 86   : 		return ((_Ty *)_NEW_CRT char[_Count * sizeof(_Ty)]);

	push	86					; 00000056H
	push	OFFSET ??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@
	call	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ ; std::_DebugHeapTag_func
	push	eax
	push	esi
	call	??_U@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z ; operator new[]
	add	esp, 16					; 00000010H
	pop	esi

; 87   : 		}

	add	esp, 12					; 0000000cH
	ret	0
$LN3@allocate:

; 82   : 		else if (((size_t)(-1) / _Count) < sizeof(_Ty))

	or	eax, -1
	xor	edx, edx
	div	esi
	cmp	eax, 1
	jae	SHORT $LN1@allocate

; 83   : 			_THROW_NCEE(std::bad_alloc, NULL);

	lea	eax, DWORD PTR $T65572[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T65566[esp+20]
	mov	DWORD PTR $T65572[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T65566[esp+20]
	push	ecx
	mov	DWORD PTR $T65566[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
$T65578 = -12						; size = 12
$T65583 = 8						; size = 4
__Count$ = 8						; size = 4
?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z PROC	; std::_DebugHeapAllocator<char>::allocate, COMDAT
; _this$ = ecx

; 90   : 		{	// check for integer overflow

	sub	esp, 12					; 0000000cH
	push	esi

; 91   : 		if (_Count <= 0)

	mov	esi, DWORD PTR __Count$[esp+12]
	test	esi, esi
	ja	SHORT $LN3@allocate@2

; 92   : 			_Count = 0;

	xor	esi, esi
$LN1@allocate@2:

; 95   : 
; 96   : 			// allocate array of _Count elements
; 97   : 		return ((_Ty *)_NEW_CRT char[_Count * sizeof(_Ty)]);

	push	97					; 00000061H
	push	OFFSET ??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@
	call	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ ; std::_DebugHeapTag_func
	push	eax
	push	esi
	call	??_U@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z ; operator new[]
	add	esp, 16					; 00000010H
	pop	esi

; 98   : 		}

	add	esp, 12					; 0000000cH
	ret	4
$LN3@allocate@2:

; 93   : 		else if (((size_t)(-1) / _Count) < sizeof(_Ty))

	or	eax, -1
	xor	edx, edx
	div	esi
	cmp	eax, 1
	jae	SHORT $LN1@allocate@2

; 94   : 			_THROW_NCEE(std::bad_alloc, NULL);

	lea	eax, DWORD PTR $T65583[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T65578[esp+20]
	mov	DWORD PTR $T65583[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T65578[esp+20]
	push	ecx
	mov	DWORD PTR $T65578[esp+24], OFFSET ??_7bad_alloc@std@@6B@
	call	__CxxThrowException@8
$LN9@allocate@2:
$LN8@allocate@2:
	int	3
?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z ENDP	; std::_DebugHeapAllocator<char>::allocate
_TEXT	ENDS
PUBLIC	??_7?$aVector@PAVaStringData@@@@6B@		; aVector<aStringData *>::`vftable'
PUBLIC	??0?$aVector@PAVaStringData@@@@QAE@XZ		; aVector<aStringData *>::aVector<aStringData *>
PUBLIC	??_R4?$aVector@PAVaStringData@@@@6B@		; aVector<aStringData *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@PAVaStringData@@@@@8		; aVector<aStringData *> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@PAVaStringData@@@@8		; aVector<aStringData *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@PAVaStringData@@@@8		; aVector<aStringData *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8	; aVector<aStringData *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@PAVaStringData@@@@UAEXXZ	; aVector<aStringData *>::Clear
PUBLIC	?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z	; aVector<aStringData *>::Resize
PUBLIC	?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z ; aVector<aStringData *>::Add
PUBLIC	?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z ; aVector<aStringData *>::Insert
PUBLIC	?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z	; aVector<aStringData *>::Delete
EXTRN	??_E?$aVector@PAVaStringData@@@@UAEPAXI@Z:PROC	; aVector<aStringData *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8 DD FLAT:??_R0?AV?$aVector@PAVaStringData@@@@@8 ; aVector<aStringData *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@PAVaStringData@@@@8
rdata$r	SEGMENT
??_R2?$aVector@PAVaStringData@@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8 ; aVector<aStringData *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@PAVaStringData@@@@8
rdata$r	SEGMENT
??_R3?$aVector@PAVaStringData@@@@8 DD 00H		; aVector<aStringData *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@PAVaStringData@@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@PAVaStringData@@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<aStringData *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@PAVaStringData@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@PAVaStringData@@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@PAVaStringData@@@@6B@ DD 00H		; aVector<aStringData *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@PAVaStringData@@@@@8
	DD	FLAT:??_R3?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@PAVaStringData@@@@6B@
CONST	SEGMENT
??_7?$aVector@PAVaStringData@@@@6B@ DD FLAT:??_R4?$aVector@PAVaStringData@@@@6B@ ; aVector<aStringData *>::`vftable'
	DD	FLAT:??_E?$aVector@PAVaStringData@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@PAVaStringData@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@PAVaStringData@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@PAVaStringData@@@@QAE@XZ PROC		; aVector<aStringData *>::aVector<aStringData *>, COMDAT
; _this$ = ecx

; 20   : 	aVector()

	mov	eax, ecx

; 21   : 	{
; 22   : 		this->m_vector = NULL;

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

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

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

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

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@PAVaStringData@@@@QBEIXZ ENDP		; aVector<aStringData *>::Count
_TEXT	ENDS
PUBLIC	??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@ ; `string'
PUBLIC	??_C@_00CNPNBAHC@?$AA@				; `string'
EXTRN	??_V@YAXPAX@Z:PROC				; operator delete[]
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
;	COMDAT ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
CONST	SEGMENT
??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@ DB 'd:\source '
	DB	'code\alib\include\aVector.h', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_00CNPNBAHC@?$AA@
CONST	SEGMENT
??_C@_00CNPNBAHC@?$AA@ DB 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

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 42   : 		{
; 43   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@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

; 44   : 			this->m_vector = NULL;

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

; 45   : 		}
; 46   : 		this->m_length = 0;
; 47   : 		this->m_items = 0;

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

; 48   : 	};

	ret	0
?Clear@?$aVector@PAVaStringData@@@@UAEXXZ ENDP		; aVector<aStringData *>::Clear
_TEXT	ENDS
EXTRN	??_U@YAPAXI@Z:PROC				; operator new[]
EXTRN	_memcpy:PROC
; Function compile flags: /Ogtpy
;	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

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

	mov	edi, DWORD PTR _nSize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jbe	SHORT $LN3@Resize
	push	ebx

; 52   : 		{
; 53   : 			T *nVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@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

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

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

; 55   : 			{
; 56   : 				int allocCount = (this->m_length > nSize) ? nSize : this->m_length;

	mov	ecx, DWORD PTR [esi+8]
	cmp	ecx, edi
	jbe	SHORT $LN8@Resize
	mov	ecx, edi
$LN8@Resize:

; 57   : 				memcpy(nVec, this->m_vector, allocCount * sizeof(T));

	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@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
$LN11@Resize:

; 59   : 			}
; 60   : 			if (this->m_items > nSize)

	cmp	DWORD PTR [esi+12], edi
	jbe	SHORT $LN1@Resize

; 61   : 				this->m_items = nSize;

	mov	DWORD PTR [esi+12], edi
$LN1@Resize:

; 62   : 			this->m_length = nSize;
; 63   : 			this->m_vector = nVec;

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

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

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

; 69   : 	{

	push	esi
	mov	esi, ecx

; 70   : 		if (this->Resize(this->m_length +1))

	mov	ecx, DWORD PTR [esi+8]
	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

; 71   : 		{
; 72   : 			this->m_vector[this->m_length -1] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	edx, DWORD PTR [edx]
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], edx

; 73   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Add:
	pop	esi

; 74   : 		}
; 75   : 	}

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

; 77   : 	{

	push	esi
	mov	esi, ecx

; 78   : 		if (index > this->m_length)

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

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

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert:

; 80   : 		else if (this->Resize(this->m_length + 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

; 81   : 		{
; 82   : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [esi+8]
	lea	eax, DWORD PTR [ecx+edi*4]
	sub	edx, edi
	lea	ecx, DWORD PTR [edx*4-4]
	push	ecx
	push	eax
	add	eax, 4
	push	eax
	call	_memmove

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

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

; 84   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Insert:
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

	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

; 89   : 		if (index >= this->m_length)

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

; 90   : 			return;
; 91   : 		this->m_items--;

	add	DWORD PTR [esi+12], -1

; 92   : 		if (this->m_items == 0)

	jne	SHORT $LN3@Delete

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete:

; 94   : 		else
; 95   : 		{
; 96   : 			if (index < this->m_length)
; 97   : 				memmove(&this->m_vector[index], &this->m_vector[index +1], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR [ecx+edx*4]
	sub	eax, edx
	lea	edx, DWORD PTR [eax*4-4]
	push	edx
	lea	eax, DWORD PTR [ecx+4]
	push	eax
	push	ecx
	call	_memmove

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

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

; 99   : 		}
; 100  : 	}

	ret	4
?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z ENDP	; aVector<aStringData *>::Delete
_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	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@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	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
EXTRN	?SetData@aStringBase@@QAEXPAVaStringData@@@Z:PROC ; aStringBase::SetData
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z$0
__ehfuncinfo$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z
_TEXT	SEGMENT
$T65640 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_pos$ = 12						; size = 4
??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z PROC ; aStringArrayBase<aWideString>::operator[], COMDAT
; _this$ = ecx

; 86   : 	{

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

; 87   : 		T ret;

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

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

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

; 90   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z$0:
	mov	eax, DWORD PTR $T65640[ebp]
	and	eax, 1
	je	$LN4@operator@2
	and	DWORD PTR $T65640[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR ___$ReturnUdt$[ebp-4]
	jmp	??1aWideString@@UAE@XZ
$LN4@operator@2:
	ret	0
__ehhandler$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z:
	mov	eax, OFFSET __ehfuncinfo$??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ENDP ; aStringArrayBase<aWideString>::operator[]
PUBLIC	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
EXTRN	?IncRef@aStringData@@QAEXXZ:PROC		; aStringData::IncRef
;	COMDAT xdata$x
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
	mov	esi, ecx

; 93   : 		if (this->Resize(this->m_length + 1))

	mov	ecx, DWORD PTR [esi+8]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	edx
	test	al, al
	je	SHORT $LN1@Add@2

; 94   : 		{
; 95   : 			content.GetData()->IncRef();

	mov	ecx, DWORD PTR _content$[esp+16]
	call	?IncRef@aStringData@@QAEXXZ		; aStringData::IncRef

; 96   : 			this->m_vector[this->m_length - 1] = content.GetData();

	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR _content$[esp+16]
	mov	DWORD PTR [ecx+eax*4-4], edx

; 97   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Add@2:

; 98   : 		}
; 99   : 	};

	lea	ecx, DWORD PTR _content$[esp+12]
	mov	DWORD PTR __$EHRec$[esp+24], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+16]
	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	?Count@?$aVector@UaRegexFltrData@@@@QBEIXZ	; aVector<aRegexFltrData>::Count
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ?Count@?$aVector@UaRegexFltrData@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@UaRegexFltrData@@@@QBEIXZ PROC		; aVector<aRegexFltrData>::Count, COMDAT
; _this$ = ecx

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

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@UaRegexFltrData@@@@QBEIXZ ENDP		; aVector<aRegexFltrData>::Count
_TEXT	ENDS
PUBLIC	??_7?$aList@UgzAutoCompleteStruct@@@@6B@	; aList<gzAutoCompleteStruct>::`vftable'
PUBLIC	??0?$aList@UgzAutoCompleteStruct@@@@QAE@XZ	; aList<gzAutoCompleteStruct>::aList<gzAutoCompleteStruct>
PUBLIC	??_R4?$aList@UgzAutoCompleteStruct@@@@6B@	; aList<gzAutoCompleteStruct>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aList@UgzAutoCompleteStruct@@@@@8	; aList<gzAutoCompleteStruct> `RTTI Type Descriptor'
PUBLIC	??_R3?$aList@UgzAutoCompleteStruct@@@@8		; aList<gzAutoCompleteStruct>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aList@UgzAutoCompleteStruct@@@@8		; aList<gzAutoCompleteStruct>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aList@UgzAutoCompleteStruct@@@@8 ; aList<gzAutoCompleteStruct>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetHead@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ ; aList<gzAutoCompleteStruct>::GetHead
PUBLIC	?GetTail@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ ; aList<gzAutoCompleteStruct>::GetTail
PUBLIC	?AddHead@?$aList@UgzAutoCompleteStruct@@@@UAE_NAAV1@@Z ; aList<gzAutoCompleteStruct>::AddHead
PUBLIC	?AddHead@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@@Z ; aList<gzAutoCompleteStruct>::AddHead
PUBLIC	?AddTail@?$aList@UgzAutoCompleteStruct@@@@UAE_NAAV1@@Z ; aList<gzAutoCompleteStruct>::AddTail
PUBLIC	?AddTail@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@@Z ; aList<gzAutoCompleteStruct>::AddTail
PUBLIC	?InsertBefore@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@PAV?$aListNode@UgzAutoCompleteStruct@@@@@Z ; aList<gzAutoCompleteStruct>::InsertBefore
PUBLIC	?InsertBefore@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@0@Z ; aList<gzAutoCompleteStruct>::InsertBefore
PUBLIC	?InsertAfter@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@PAV?$aListNode@UgzAutoCompleteStruct@@@@@Z ; aList<gzAutoCompleteStruct>::InsertAfter
PUBLIC	?InsertAfter@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@0@Z ; aList<gzAutoCompleteStruct>::InsertAfter
PUBLIC	?RemoveHead@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ ; aList<gzAutoCompleteStruct>::RemoveHead
PUBLIC	?RemoveTail@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ ; aList<gzAutoCompleteStruct>::RemoveTail
PUBLIC	?Remove@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@ABV2@@Z ; aList<gzAutoCompleteStruct>::Remove
PUBLIC	?Remove@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@PAUgzAutoCompleteStruct@@@Z ; aList<gzAutoCompleteStruct>::Remove
PUBLIC	?RemoveAll@?$aList@UgzAutoCompleteStruct@@@@UAEXXZ ; aList<gzAutoCompleteStruct>::RemoveAll
EXTRN	??_E?$aList@UgzAutoCompleteStruct@@@@UAEPAXI@Z:PROC ; aList<gzAutoCompleteStruct>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aList@UgzAutoCompleteStruct@@@@8
; File d:\source code\alib\include\alist.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aList@UgzAutoCompleteStruct@@@@8 DD FLAT:??_R0?AV?$aList@UgzAutoCompleteStruct@@@@@8 ; aList<gzAutoCompleteStruct>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aList@UgzAutoCompleteStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aList@UgzAutoCompleteStruct@@@@8
rdata$r	SEGMENT
??_R2?$aList@UgzAutoCompleteStruct@@@@8 DD FLAT:??_R1A@?0A@EA@?$aList@UgzAutoCompleteStruct@@@@8 ; aList<gzAutoCompleteStruct>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aList@UgzAutoCompleteStruct@@@@8
rdata$r	SEGMENT
??_R3?$aList@UgzAutoCompleteStruct@@@@8 DD 00H		; aList<gzAutoCompleteStruct>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aList@UgzAutoCompleteStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aList@UgzAutoCompleteStruct@@@@@8
_DATA	SEGMENT
??_R0?AV?$aList@UgzAutoCompleteStruct@@@@@8 DD FLAT:??_7type_info@@6B@ ; aList<gzAutoCompleteStruct> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aList@UgzAutoCompleteStruct@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aList@UgzAutoCompleteStruct@@@@6B@
rdata$r	SEGMENT
??_R4?$aList@UgzAutoCompleteStruct@@@@6B@ DD 00H	; aList<gzAutoCompleteStruct>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aList@UgzAutoCompleteStruct@@@@@8
	DD	FLAT:??_R3?$aList@UgzAutoCompleteStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aList@UgzAutoCompleteStruct@@@@6B@
CONST	SEGMENT
??_7?$aList@UgzAutoCompleteStruct@@@@6B@ DD FLAT:??_R4?$aList@UgzAutoCompleteStruct@@@@6B@ ; aList<gzAutoCompleteStruct>::`vftable'
	DD	FLAT:??_E?$aList@UgzAutoCompleteStruct@@@@UAEPAXI@Z
	DD	FLAT:?GetHead@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ
	DD	FLAT:?GetTail@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ
	DD	FLAT:?AddHead@?$aList@UgzAutoCompleteStruct@@@@UAE_NAAV1@@Z
	DD	FLAT:?AddHead@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@@Z
	DD	FLAT:?AddTail@?$aList@UgzAutoCompleteStruct@@@@UAE_NAAV1@@Z
	DD	FLAT:?AddTail@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@@Z
	DD	FLAT:?InsertBefore@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@PAV?$aListNode@UgzAutoCompleteStruct@@@@@Z
	DD	FLAT:?InsertBefore@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@0@Z
	DD	FLAT:?InsertAfter@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@PAV?$aListNode@UgzAutoCompleteStruct@@@@@Z
	DD	FLAT:?InsertAfter@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@0@Z
	DD	FLAT:?RemoveHead@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ
	DD	FLAT:?RemoveTail@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ
	DD	FLAT:?Remove@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@ABV2@@Z
	DD	FLAT:?Remove@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@PAUgzAutoCompleteStruct@@@Z
	DD	FLAT:?RemoveAll@?$aList@UgzAutoCompleteStruct@@@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aList@UgzAutoCompleteStruct@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aList@UgzAutoCompleteStruct@@@@QAE@XZ PROC		; aList<gzAutoCompleteStruct>::aList<gzAutoCompleteStruct>, COMDAT
; _this$ = ecx

; 24   : 	aList()

	mov	eax, ecx

; 25   : 	{
; 26   : 		this->m_Head = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aList@UgzAutoCompleteStruct@@@@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@UgzAutoCompleteStruct@@@@QAE@XZ ENDP		; aList<gzAutoCompleteStruct>::aList<gzAutoCompleteStruct>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?GetHead@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ
_TEXT	SEGMENT
?GetHead@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ PROC ; aList<gzAutoCompleteStruct>::GetHead, COMDAT
; _this$ = ecx

; 55   : 		return this->m_Head;

	mov	eax, DWORD PTR [ecx+8]

; 56   : 	};

	ret	0
?GetHead@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ ENDP ; aList<gzAutoCompleteStruct>::GetHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?GetTail@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ
_TEXT	SEGMENT
?GetTail@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ PROC ; aList<gzAutoCompleteStruct>::GetTail, COMDAT
; _this$ = ecx

; 59   : 		return this->m_Tail;

	mov	eax, DWORD PTR [ecx+12]

; 60   : 	};

	ret	0
?GetTail@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ ENDP ; aList<gzAutoCompleteStruct>::GetTail
_TEXT	ENDS
PUBLIC	??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@ ; `string'
EXTRN	??2@YAPAXI@Z:PROC				; operator new
;	COMDAT ??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@
CONST	SEGMENT
??_C@_0CE@DJFGAGNF@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@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?AddHead@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@@Z PROC ; aList<gzAutoCompleteStruct>::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@DJFGAGNF@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@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@@Z ENDP ; aList<gzAutoCompleteStruct>::AddHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddHead@?$aList@UgzAutoCompleteStruct@@@@UAE_NAAV1@@Z
_TEXT	SEGMENT
_nodes$ = 8						; size = 4
?AddHead@?$aList@UgzAutoCompleteStruct@@@@UAE_NAAV1@@Z PROC ; aList<gzAutoCompleteStruct>::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@UgzAutoCompleteStruct@@@@UAE_NAAV1@@Z ENDP ; aList<gzAutoCompleteStruct>::AddHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddTail@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?AddTail@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@@Z PROC ; aList<gzAutoCompleteStruct>::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@DJFGAGNF@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@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@@Z ENDP ; aList<gzAutoCompleteStruct>::AddTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddTail@?$aList@UgzAutoCompleteStruct@@@@UAE_NAAV1@@Z
_TEXT	SEGMENT
_nodes$ = 8						; size = 4
?AddTail@?$aList@UgzAutoCompleteStruct@@@@UAE_NAAV1@@Z PROC ; aList<gzAutoCompleteStruct>::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@UgzAutoCompleteStruct@@@@UAE_NAAV1@@Z ENDP ; aList<gzAutoCompleteStruct>::AddTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertBefore@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@0@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_beforeData$ = 12					; size = 4
?InsertBefore@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@0@Z PROC ; aList<gzAutoCompleteStruct>::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@DJFGAGNF@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@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@0@Z ENDP ; aList<gzAutoCompleteStruct>::InsertBefore
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertBefore@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@PAV?$aListNode@UgzAutoCompleteStruct@@@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_beforeNode$ = 12					; size = 4
?InsertBefore@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@PAV?$aListNode@UgzAutoCompleteStruct@@@@@Z PROC ; aList<gzAutoCompleteStruct>::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@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@PAV?$aListNode@UgzAutoCompleteStruct@@@@@Z ENDP ; aList<gzAutoCompleteStruct>::InsertBefore
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertAfter@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@PAV?$aListNode@UgzAutoCompleteStruct@@@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_afterNode$ = 12					; size = 4
?InsertAfter@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@PAV?$aListNode@UgzAutoCompleteStruct@@@@@Z PROC ; aList<gzAutoCompleteStruct>::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@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@PAV?$aListNode@UgzAutoCompleteStruct@@@@@Z ENDP ; aList<gzAutoCompleteStruct>::InsertAfter
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveHead@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ
_TEXT	SEGMENT
?RemoveHead@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ PROC ; aList<gzAutoCompleteStruct>::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@DJFGAGNF@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@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ ENDP ; aList<gzAutoCompleteStruct>::RemoveHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveTail@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ
_TEXT	SEGMENT
?RemoveTail@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ PROC ; aList<gzAutoCompleteStruct>::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@DJFGAGNF@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@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@XZ ENDP ; aList<gzAutoCompleteStruct>::RemoveTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Remove@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@PAUgzAutoCompleteStruct@@@Z
_TEXT	SEGMENT
_element$ = 8						; size = 4
?Remove@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@PAUgzAutoCompleteStruct@@@Z PROC ; aList<gzAutoCompleteStruct>::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@DJFGAGNF@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@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@PAUgzAutoCompleteStruct@@@Z ENDP ; aList<gzAutoCompleteStruct>::Remove
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Remove@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@ABV2@@Z
_TEXT	SEGMENT
_node$ = 8						; size = 4
?Remove@?$aList@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@ABV2@@Z PROC ; aList<gzAutoCompleteStruct>::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@UgzAutoCompleteStruct@@@@UAEPAV?$aListNode@UgzAutoCompleteStruct@@@@ABV2@@Z ENDP ; aList<gzAutoCompleteStruct>::Remove
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveAll@?$aList@UgzAutoCompleteStruct@@@@UAEXXZ
_TEXT	SEGMENT
?RemoveAll@?$aList@UgzAutoCompleteStruct@@@@UAEXXZ PROC	; aList<gzAutoCompleteStruct>::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@DJFGAGNF@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@UgzAutoCompleteStruct@@@@UAEXXZ ENDP	; aList<gzAutoCompleteStruct>::RemoveAll
_TEXT	ENDS
PUBLIC	??_7?$aList@UgzTextFilterStruct@@@@6B@		; aList<gzTextFilterStruct>::`vftable'
PUBLIC	??0?$aList@UgzTextFilterStruct@@@@QAE@XZ	; aList<gzTextFilterStruct>::aList<gzTextFilterStruct>
PUBLIC	??_R4?$aList@UgzTextFilterStruct@@@@6B@		; aList<gzTextFilterStruct>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aList@UgzTextFilterStruct@@@@@8	; aList<gzTextFilterStruct> `RTTI Type Descriptor'
PUBLIC	??_R3?$aList@UgzTextFilterStruct@@@@8		; aList<gzTextFilterStruct>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aList@UgzTextFilterStruct@@@@8		; aList<gzTextFilterStruct>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aList@UgzTextFilterStruct@@@@8	; aList<gzTextFilterStruct>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetHead@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ ; aList<gzTextFilterStruct>::GetHead
PUBLIC	?GetTail@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ ; aList<gzTextFilterStruct>::GetTail
PUBLIC	?AddHead@?$aList@UgzTextFilterStruct@@@@UAE_NAAV1@@Z ; aList<gzTextFilterStruct>::AddHead
PUBLIC	?AddHead@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@@Z ; aList<gzTextFilterStruct>::AddHead
PUBLIC	?AddTail@?$aList@UgzTextFilterStruct@@@@UAE_NAAV1@@Z ; aList<gzTextFilterStruct>::AddTail
PUBLIC	?AddTail@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@@Z ; aList<gzTextFilterStruct>::AddTail
PUBLIC	?InsertBefore@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@PAV?$aListNode@UgzTextFilterStruct@@@@@Z ; aList<gzTextFilterStruct>::InsertBefore
PUBLIC	?InsertBefore@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@0@Z ; aList<gzTextFilterStruct>::InsertBefore
PUBLIC	?InsertAfter@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@PAV?$aListNode@UgzTextFilterStruct@@@@@Z ; aList<gzTextFilterStruct>::InsertAfter
PUBLIC	?InsertAfter@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@0@Z ; aList<gzTextFilterStruct>::InsertAfter
PUBLIC	?RemoveHead@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ ; aList<gzTextFilterStruct>::RemoveHead
PUBLIC	?RemoveTail@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ ; aList<gzTextFilterStruct>::RemoveTail
PUBLIC	?Remove@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@ABV2@@Z ; aList<gzTextFilterStruct>::Remove
PUBLIC	?Remove@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@PAUgzTextFilterStruct@@@Z ; aList<gzTextFilterStruct>::Remove
PUBLIC	?RemoveAll@?$aList@UgzTextFilterStruct@@@@UAEXXZ ; aList<gzTextFilterStruct>::RemoveAll
EXTRN	??_E?$aList@UgzTextFilterStruct@@@@UAEPAXI@Z:PROC ; aList<gzTextFilterStruct>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aList@UgzTextFilterStruct@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aList@UgzTextFilterStruct@@@@8 DD FLAT:??_R0?AV?$aList@UgzTextFilterStruct@@@@@8 ; aList<gzTextFilterStruct>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aList@UgzTextFilterStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aList@UgzTextFilterStruct@@@@8
rdata$r	SEGMENT
??_R2?$aList@UgzTextFilterStruct@@@@8 DD FLAT:??_R1A@?0A@EA@?$aList@UgzTextFilterStruct@@@@8 ; aList<gzTextFilterStruct>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aList@UgzTextFilterStruct@@@@8
rdata$r	SEGMENT
??_R3?$aList@UgzTextFilterStruct@@@@8 DD 00H		; aList<gzTextFilterStruct>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aList@UgzTextFilterStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aList@UgzTextFilterStruct@@@@@8
_DATA	SEGMENT
??_R0?AV?$aList@UgzTextFilterStruct@@@@@8 DD FLAT:??_7type_info@@6B@ ; aList<gzTextFilterStruct> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aList@UgzTextFilterStruct@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aList@UgzTextFilterStruct@@@@6B@
rdata$r	SEGMENT
??_R4?$aList@UgzTextFilterStruct@@@@6B@ DD 00H		; aList<gzTextFilterStruct>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aList@UgzTextFilterStruct@@@@@8
	DD	FLAT:??_R3?$aList@UgzTextFilterStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aList@UgzTextFilterStruct@@@@6B@
CONST	SEGMENT
??_7?$aList@UgzTextFilterStruct@@@@6B@ DD FLAT:??_R4?$aList@UgzTextFilterStruct@@@@6B@ ; aList<gzTextFilterStruct>::`vftable'
	DD	FLAT:??_E?$aList@UgzTextFilterStruct@@@@UAEPAXI@Z
	DD	FLAT:?GetHead@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ
	DD	FLAT:?GetTail@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ
	DD	FLAT:?AddHead@?$aList@UgzTextFilterStruct@@@@UAE_NAAV1@@Z
	DD	FLAT:?AddHead@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@@Z
	DD	FLAT:?AddTail@?$aList@UgzTextFilterStruct@@@@UAE_NAAV1@@Z
	DD	FLAT:?AddTail@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@@Z
	DD	FLAT:?InsertBefore@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@PAV?$aListNode@UgzTextFilterStruct@@@@@Z
	DD	FLAT:?InsertBefore@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@0@Z
	DD	FLAT:?InsertAfter@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@PAV?$aListNode@UgzTextFilterStruct@@@@@Z
	DD	FLAT:?InsertAfter@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@0@Z
	DD	FLAT:?RemoveHead@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ
	DD	FLAT:?RemoveTail@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ
	DD	FLAT:?Remove@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@ABV2@@Z
	DD	FLAT:?Remove@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@PAUgzTextFilterStruct@@@Z
	DD	FLAT:?RemoveAll@?$aList@UgzTextFilterStruct@@@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aList@UgzTextFilterStruct@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aList@UgzTextFilterStruct@@@@QAE@XZ PROC		; aList<gzTextFilterStruct>::aList<gzTextFilterStruct>, COMDAT
; _this$ = ecx

; 24   : 	aList()

	mov	eax, ecx

; 25   : 	{
; 26   : 		this->m_Head = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aList@UgzTextFilterStruct@@@@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@UgzTextFilterStruct@@@@QAE@XZ ENDP		; aList<gzTextFilterStruct>::aList<gzTextFilterStruct>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?GetHead@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ
_TEXT	SEGMENT
?GetHead@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ PROC ; aList<gzTextFilterStruct>::GetHead, COMDAT
; _this$ = ecx

; 55   : 		return this->m_Head;

	mov	eax, DWORD PTR [ecx+8]

; 56   : 	};

	ret	0
?GetHead@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ ENDP ; aList<gzTextFilterStruct>::GetHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?GetTail@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ
_TEXT	SEGMENT
?GetTail@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ PROC ; aList<gzTextFilterStruct>::GetTail, COMDAT
; _this$ = ecx

; 59   : 		return this->m_Tail;

	mov	eax, DWORD PTR [ecx+12]

; 60   : 	};

	ret	0
?GetTail@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ ENDP ; aList<gzTextFilterStruct>::GetTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddHead@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?AddHead@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@@Z PROC ; aList<gzTextFilterStruct>::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@DJFGAGNF@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@3

; 68   : 			this->m_Tail = newNode;

	mov	DWORD PTR [esi+12], eax
$LN1@AddHead@3:

; 69   : 		this->m_count++;

	mov	eax, 1
	add	DWORD PTR [esi+4], eax
	pop	esi

; 70   : 		return true;
; 71   : 	};

	ret	4
?AddHead@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@@Z ENDP ; aList<gzTextFilterStruct>::AddHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddHead@?$aList@UgzTextFilterStruct@@@@UAE_NAAV1@@Z
_TEXT	SEGMENT
_nodes$ = 8						; size = 4
?AddHead@?$aList@UgzTextFilterStruct@@@@UAE_NAAV1@@Z PROC ; aList<gzTextFilterStruct>::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@4
$LL3@AddHead@4:

; 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@4
$LN8@AddHead@4:
	pop	edi

; 76   : 		return true;

	mov	al, 1
	pop	esi

; 77   : 	};

	ret	4
?AddHead@?$aList@UgzTextFilterStruct@@@@UAE_NAAV1@@Z ENDP ; aList<gzTextFilterStruct>::AddHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddTail@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?AddTail@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@@Z PROC ; aList<gzTextFilterStruct>::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@DJFGAGNF@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@3

; 84   : 			this->m_Head = newNode;

	mov	DWORD PTR [esi+8], eax
$LN2@AddTail@3:

; 85   : 		if (this->m_Tail != NULL)

	mov	ecx, DWORD PTR [esi+12]
	test	ecx, ecx
	je	SHORT $LN1@AddTail@3

; 86   : 			this->m_Tail->m_nextNode = newNode;

	mov	DWORD PTR [ecx], eax
$LN1@AddTail@3:

; 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@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@@Z ENDP ; aList<gzTextFilterStruct>::AddTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddTail@?$aList@UgzTextFilterStruct@@@@UAE_NAAV1@@Z
_TEXT	SEGMENT
_nodes$ = 8						; size = 4
?AddTail@?$aList@UgzTextFilterStruct@@@@UAE_NAAV1@@Z PROC ; aList<gzTextFilterStruct>::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@4
$LL3@AddTail@4:

; 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@4
$LN8@AddTail@4:
	pop	edi

; 95   : 		return true;

	mov	al, 1
	pop	esi

; 96   : 	};

	ret	4
?AddTail@?$aList@UgzTextFilterStruct@@@@UAE_NAAV1@@Z ENDP ; aList<gzTextFilterStruct>::AddTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertBefore@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@0@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_beforeData$ = 12					; size = 4
?InsertBefore@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@0@Z PROC ; aList<gzTextFilterStruct>::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@2
	mov	eax, DWORD PTR _beforeData$[esp+8]
$LL6@InsertBefo@2:

; 100  : 		{
; 101  : 			if (list->data == beforeData)

	cmp	DWORD PTR [esi+4], eax
	je	SHORT $LN12@InsertBefo@2

; 111  : 				return true;
; 112  : 			}
; 113  : 			prev = list;

	mov	edi, esi
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL6@InsertBefo@2
$LN4@InsertBefo@2:
	pop	edi
	pop	esi

; 114  : 		}
; 115  : 		return false;

	xor	al, al
	pop	ebx

; 116  : 	};

	ret	8
$LN12@InsertBefo@2:

; 102  : 			{
; 103  : 				aListNode<T> *newNode = new aListNode<T>;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	103					; 00000067H
	push	OFFSET ??_C@_0CE@DJFGAGNF@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@2

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

; 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@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@0@Z ENDP ; aList<gzTextFilterStruct>::InsertBefore
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertBefore@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@PAV?$aListNode@UgzTextFilterStruct@@@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_beforeNode$ = 12					; size = 4
?InsertBefore@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@PAV?$aListNode@UgzTextFilterStruct@@@@@Z PROC ; aList<gzTextFilterStruct>::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@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@PAV?$aListNode@UgzTextFilterStruct@@@@@Z ENDP ; aList<gzTextFilterStruct>::InsertBefore
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertAfter@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@PAV?$aListNode@UgzTextFilterStruct@@@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_afterNode$ = 12					; size = 4
?InsertAfter@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@PAV?$aListNode@UgzTextFilterStruct@@@@@Z PROC ; aList<gzTextFilterStruct>::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@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@PAV?$aListNode@UgzTextFilterStruct@@@@@Z ENDP ; aList<gzTextFilterStruct>::InsertAfter
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveHead@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ
_TEXT	SEGMENT
?RemoveHead@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ PROC ; aList<gzTextFilterStruct>::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@2

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

; 158  : 		}
; 159  : 		return NULL;

	xor	eax, eax
	pop	esi

; 160  : 	};

	ret	0
?RemoveHead@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ ENDP ; aList<gzTextFilterStruct>::RemoveHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveTail@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ
_TEXT	SEGMENT
?RemoveTail@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ PROC ; aList<gzTextFilterStruct>::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@2

; 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@2
$LL5@RemoveTail@2:

; 167  : 			{
; 168  : 				if (list->m_nextNode != NULL)

	mov	ecx, DWORD PTR [eax]
	test	ecx, ecx
	je	SHORT $LN4@RemoveTail@2

; 169  : 					prev = list;

	mov	esi, eax
$LN4@RemoveTail@2:

; 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@2

; 170  : 			}
; 171  : 			if (prev != NULL)

	test	esi, esi
	je	SHORT $LN1@RemoveTail@2

; 172  : 				prev->m_nextNode = NULL;

	mov	DWORD PTR [esi], ecx
$LN1@RemoveTail@2:

; 173  : 			delete this->m_Tail;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	173					; 000000adH
	push	OFFSET ??_C@_0CE@DJFGAGNF@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@2:

; 177  : 		}
; 178  : 		return NULL;

	xor	eax, eax
	pop	edi

; 179  : 	};

	ret	0
?RemoveTail@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@XZ ENDP ; aList<gzTextFilterStruct>::RemoveTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Remove@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@PAUgzTextFilterStruct@@@Z
_TEXT	SEGMENT
_element$ = 8						; size = 4
?Remove@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@PAUgzTextFilterStruct@@@Z PROC ; aList<gzTextFilterStruct>::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@2
	cmp	DWORD PTR [esi+4], ecx
	jne	SHORT $LN8@Remove@2

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

; 184  : 		else if (this->m_Tail && this->m_Tail->data == element)

	mov	eax, DWORD PTR [ebx+12]
	test	eax, eax
	je	SHORT $LN6@Remove@2
	cmp	DWORD PTR [eax+4], ecx
	jne	SHORT $LN6@Remove@2

; 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@2:
	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@2
$LL4@Remove@2:

; 189  : 			{
; 190  : 				if (list->data == element)

	cmp	DWORD PTR [esi+4], ecx
	je	SHORT $LN14@Remove@2

; 197  : 				}
; 198  : 				prev = list;

	mov	edi, esi
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL4@Remove@2
$LN2@Remove@2:
	pop	edi
	pop	esi

; 199  : 			}
; 200  : 		}
; 201  : 		return NULL;

	xor	eax, eax
	pop	ebx

; 202  : 	};

	ret	4
$LN14@Remove@2:

; 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@DJFGAGNF@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@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@PAUgzTextFilterStruct@@@Z ENDP ; aList<gzTextFilterStruct>::Remove
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Remove@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@ABV2@@Z
_TEXT	SEGMENT
_node$ = 8						; size = 4
?Remove@?$aList@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@ABV2@@Z PROC ; aList<gzTextFilterStruct>::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@UgzTextFilterStruct@@@@UAEPAV?$aListNode@UgzTextFilterStruct@@@@ABV2@@Z ENDP ; aList<gzTextFilterStruct>::Remove
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveAll@?$aList@UgzTextFilterStruct@@@@UAEXXZ
_TEXT	SEGMENT
?RemoveAll@?$aList@UgzTextFilterStruct@@@@UAEXXZ PROC	; aList<gzTextFilterStruct>::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@2
	push	edi
	npad	4
$LL2@RemoveAll@2:

; 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@DJFGAGNF@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@2
	pop	edi
$LN1@RemoveAll@2:
	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@UgzTextFilterStruct@@@@UAEXXZ ENDP	; aList<gzTextFilterStruct>::RemoveAll
_TEXT	ENDS
PUBLIC	??_7?$aVector@PAVgzChatCommandBase@@@@6B@	; aVector<gzChatCommandBase *>::`vftable'
PUBLIC	??0?$aVector@PAVgzChatCommandBase@@@@QAE@XZ	; aVector<gzChatCommandBase *>::aVector<gzChatCommandBase *>
PUBLIC	??_R4?$aVector@PAVgzChatCommandBase@@@@6B@	; aVector<gzChatCommandBase *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@PAVgzChatCommandBase@@@@@8	; aVector<gzChatCommandBase *> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@PAVgzChatCommandBase@@@@8	; aVector<gzChatCommandBase *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@PAVgzChatCommandBase@@@@8	; aVector<gzChatCommandBase *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@PAVgzChatCommandBase@@@@8 ; aVector<gzChatCommandBase *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@PAVgzChatCommandBase@@@@UAEXXZ	; aVector<gzChatCommandBase *>::Clear
PUBLIC	?Resize@?$aVector@PAVgzChatCommandBase@@@@UAE_NI@Z ; aVector<gzChatCommandBase *>::Resize
PUBLIC	?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z ; aVector<gzChatCommandBase *>::Add
PUBLIC	?Insert@?$aVector@PAVgzChatCommandBase@@@@UAEXIABQAVgzChatCommandBase@@@Z ; aVector<gzChatCommandBase *>::Insert
PUBLIC	?Delete@?$aVector@PAVgzChatCommandBase@@@@UAEXI@Z ; aVector<gzChatCommandBase *>::Delete
EXTRN	??_E?$aVector@PAVgzChatCommandBase@@@@UAEPAXI@Z:PROC ; aVector<gzChatCommandBase *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@PAVgzChatCommandBase@@@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@PAVgzChatCommandBase@@@@8 DD FLAT:??_R0?AV?$aVector@PAVgzChatCommandBase@@@@@8 ; aVector<gzChatCommandBase *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@PAVgzChatCommandBase@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@PAVgzChatCommandBase@@@@8
rdata$r	SEGMENT
??_R2?$aVector@PAVgzChatCommandBase@@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@PAVgzChatCommandBase@@@@8 ; aVector<gzChatCommandBase *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@PAVgzChatCommandBase@@@@8
rdata$r	SEGMENT
??_R3?$aVector@PAVgzChatCommandBase@@@@8 DD 00H		; aVector<gzChatCommandBase *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@PAVgzChatCommandBase@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@PAVgzChatCommandBase@@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@PAVgzChatCommandBase@@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<gzChatCommandBase *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@PAVgzChatCommandBase@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@PAVgzChatCommandBase@@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@PAVgzChatCommandBase@@@@6B@ DD 00H	; aVector<gzChatCommandBase *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@PAVgzChatCommandBase@@@@@8
	DD	FLAT:??_R3?$aVector@PAVgzChatCommandBase@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@PAVgzChatCommandBase@@@@6B@
CONST	SEGMENT
??_7?$aVector@PAVgzChatCommandBase@@@@6B@ DD FLAT:??_R4?$aVector@PAVgzChatCommandBase@@@@6B@ ; aVector<gzChatCommandBase *>::`vftable'
	DD	FLAT:??_E?$aVector@PAVgzChatCommandBase@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@PAVgzChatCommandBase@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVgzChatCommandBase@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z
	DD	FLAT:?Insert@?$aVector@PAVgzChatCommandBase@@@@UAEXIABQAVgzChatCommandBase@@@Z
	DD	FLAT:?Delete@?$aVector@PAVgzChatCommandBase@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@PAVgzChatCommandBase@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@PAVgzChatCommandBase@@@@QAE@XZ PROC	; aVector<gzChatCommandBase *>::aVector<gzChatCommandBase *>, COMDAT
; _this$ = ecx

; 20   : 	aVector()

	mov	eax, ecx

; 21   : 	{
; 22   : 		this->m_vector = NULL;

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

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

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

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

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

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

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

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 42   : 		{
; 43   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@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

; 44   : 			this->m_vector = NULL;

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

; 45   : 		}
; 46   : 		this->m_length = 0;
; 47   : 		this->m_items = 0;

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

; 48   : 	};

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

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

	mov	edi, DWORD PTR _nSize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jbe	SHORT $LN3@Resize@2
	push	ebx

; 52   : 		{
; 53   : 			T *nVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@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

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

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

; 55   : 			{
; 56   : 				int allocCount = (this->m_length > nSize) ? nSize : this->m_length;

	mov	ecx, DWORD PTR [esi+8]
	cmp	ecx, edi
	jbe	SHORT $LN8@Resize@2
	mov	ecx, edi
$LN8@Resize@2:

; 57   : 				memcpy(nVec, this->m_vector, allocCount * sizeof(T));

	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@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
$LN11@Resize@2:

; 59   : 			}
; 60   : 			if (this->m_items > nSize)

	cmp	DWORD PTR [esi+12], edi
	jbe	SHORT $LN1@Resize@2

; 61   : 				this->m_items = nSize;

	mov	DWORD PTR [esi+12], edi
$LN1@Resize@2:

; 62   : 			this->m_length = nSize;
; 63   : 			this->m_vector = nVec;

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

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize@2:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

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

; 69   : 	{

	push	esi
	mov	esi, ecx

; 70   : 		if (this->Resize(this->m_length +1))

	mov	ecx, DWORD PTR [esi+8]
	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

; 71   : 		{
; 72   : 			this->m_vector[this->m_length -1] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	edx, DWORD PTR [edx]
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], edx

; 73   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Add@3:
	pop	esi

; 74   : 		}
; 75   : 	}

	ret	4
?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z ENDP ; aVector<gzChatCommandBase *>::Add
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Insert@?$aVector@PAVgzChatCommandBase@@@@UAEXIABQAVgzChatCommandBase@@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@PAVgzChatCommandBase@@@@UAEXIABQAVgzChatCommandBase@@@Z PROC ; aVector<gzChatCommandBase *>::Insert, COMDAT
; _this$ = ecx

; 77   : 	{

	push	esi
	mov	esi, ecx

; 78   : 		if (index > this->m_length)

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

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

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert@2:

; 80   : 		else if (this->Resize(this->m_length + 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

; 81   : 		{
; 82   : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [esi+8]
	lea	eax, DWORD PTR [ecx+edi*4]
	sub	edx, edi
	lea	ecx, DWORD PTR [edx*4-4]
	push	ecx
	push	eax
	add	eax, 4
	push	eax
	call	_memmove

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

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

; 84   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Insert@2:
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

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

; 89   : 		if (index >= this->m_length)

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

; 90   : 			return;
; 91   : 		this->m_items--;

	add	DWORD PTR [esi+12], -1

; 92   : 		if (this->m_items == 0)

	jne	SHORT $LN3@Delete@2

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete@2:

; 94   : 		else
; 95   : 		{
; 96   : 			if (index < this->m_length)
; 97   : 				memmove(&this->m_vector[index], &this->m_vector[index +1], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR [ecx+edx*4]
	sub	eax, edx
	lea	edx, DWORD PTR [eax*4-4]
	push	edx
	lea	eax, DWORD PTR [ecx+4]
	push	eax
	push	ecx
	call	_memmove

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

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

; 99   : 		}
; 100  : 	}

	ret	4
?Delete@?$aVector@PAVgzChatCommandBase@@@@UAEXI@Z ENDP	; aVector<gzChatCommandBase *>::Delete
_TEXT	ENDS
PUBLIC	?GetNext@?$aListNode@UgzAutoCompleteStruct@@@@QAEPAV1@XZ ; aListNode<gzAutoCompleteStruct>::GetNext
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\alist.h
;	COMDAT ?GetNext@?$aListNode@UgzAutoCompleteStruct@@@@QAEPAV1@XZ
_TEXT	SEGMENT
?GetNext@?$aListNode@UgzAutoCompleteStruct@@@@QAEPAV1@XZ PROC ; aListNode<gzAutoCompleteStruct>::GetNext, COMDAT
; _this$ = ecx

; 14   : 	aListNode<T>* GetNext() { return this->m_nextNode; };

	mov	eax, DWORD PTR [ecx]
	ret	0
?GetNext@?$aListNode@UgzAutoCompleteStruct@@@@QAEPAV1@XZ ENDP ; aListNode<gzAutoCompleteStruct>::GetNext
_TEXT	ENDS
PUBLIC	?GetData@?$aListNode@UgzAutoCompleteStruct@@@@QAEPAUgzAutoCompleteStruct@@XZ ; aListNode<gzAutoCompleteStruct>::GetData
; Function compile flags: /Ogtpy
;	COMDAT ?GetData@?$aListNode@UgzAutoCompleteStruct@@@@QAEPAUgzAutoCompleteStruct@@XZ
_TEXT	SEGMENT
?GetData@?$aListNode@UgzAutoCompleteStruct@@@@QAEPAUgzAutoCompleteStruct@@XZ PROC ; aListNode<gzAutoCompleteStruct>::GetData, COMDAT
; _this$ = ecx

; 15   : 	T* GetData() { return this->data; };

	mov	eax, DWORD PTR [ecx+4]
	ret	0
?GetData@?$aListNode@UgzAutoCompleteStruct@@@@QAEPAUgzAutoCompleteStruct@@XZ ENDP ; aListNode<gzAutoCompleteStruct>::GetData
_TEXT	ENDS
PUBLIC	?GetNext@?$aListNode@UgzTextFilterStruct@@@@QAEPAV1@XZ ; aListNode<gzTextFilterStruct>::GetNext
; Function compile flags: /Ogtpy
;	COMDAT ?GetNext@?$aListNode@UgzTextFilterStruct@@@@QAEPAV1@XZ
_TEXT	SEGMENT
?GetNext@?$aListNode@UgzTextFilterStruct@@@@QAEPAV1@XZ PROC ; aListNode<gzTextFilterStruct>::GetNext, COMDAT
; _this$ = ecx

; 14   : 	aListNode<T>* GetNext() { return this->m_nextNode; };

	mov	eax, DWORD PTR [ecx]
	ret	0
?GetNext@?$aListNode@UgzTextFilterStruct@@@@QAEPAV1@XZ ENDP ; aListNode<gzTextFilterStruct>::GetNext
_TEXT	ENDS
PUBLIC	?GetData@?$aListNode@UgzTextFilterStruct@@@@QAEPAUgzTextFilterStruct@@XZ ; aListNode<gzTextFilterStruct>::GetData
; Function compile flags: /Ogtpy
;	COMDAT ?GetData@?$aListNode@UgzTextFilterStruct@@@@QAEPAUgzTextFilterStruct@@XZ
_TEXT	SEGMENT
?GetData@?$aListNode@UgzTextFilterStruct@@@@QAEPAUgzTextFilterStruct@@XZ PROC ; aListNode<gzTextFilterStruct>::GetData, COMDAT
; _this$ = ecx

; 15   : 	T* GetData() { return this->data; };

	mov	eax, DWORD PTR [ecx+4]
	ret	0
?GetData@?$aListNode@UgzTextFilterStruct@@@@QAEPAUgzTextFilterStruct@@XZ ENDP ; aListNode<gzTextFilterStruct>::GetData
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0bad_alloc@std@@QAE@ABV01@@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx
	mov	eax, DWORD PTR ___that$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABV01@@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0bad_alloc@std@@QAE@ABV01@@Z ENDP			; std::bad_alloc::bad_alloc
_TEXT	ENDS
PUBLIC	??0?$allocator@D@std@@QAE@XZ			; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ??0?$allocator@D@std@@QAE@XZ
_TEXT	SEGMENT
??0?$allocator@D@std@@QAE@XZ PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

; 120  : 	allocator() _THROW0()

	mov	eax, ecx

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

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

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

	mov	eax, ecx

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

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

; 56   : 	if (_Ptr != 0)

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

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

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

; 62   : 		}
; 63   : 	}

	ret	0
??$_DebugHeapDelete@X@std@@YAXPAX@Z ENDP		; std::_DebugHeapDelete<void>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaString@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaString@@UAEPAXI@Z PROC				; aString::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@2
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@2:
	mov	eax, esi
	pop	esi
	ret	4
??_GaString@@UAEPAXI@Z ENDP				; aString::`scalar deleting destructor'
; 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@3
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@3:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideString@@UAEPAXI@Z ENDP				; aWideString::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?GetMatchCount@aRegex@@QAEHXZ			; aRegex::GetMatchCount
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\aregex.h
;	COMDAT ?GetMatchCount@aRegex@@QAEHXZ
_TEXT	SEGMENT
?GetMatchCount@aRegex@@QAEHXZ PROC			; aRegex::GetMatchCount, COMDAT
; _this$ = ecx

; 31   : 	int GetMatchCount() { return this->m_subData.Count(); };

	mov	eax, DWORD PTR [ecx+28]
	ret	0
?GetMatchCount@aRegex@@QAEHXZ ENDP			; aRegex::GetMatchCount
_TEXT	ENDS
PUBLIC	??_GgzAutoCompleteStruct@@QAEPAXI@Z		; gzAutoCompleteStruct::`scalar deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??_GgzAutoCompleteStruct@@QAEPAXI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??_GgzAutoCompleteStruct@@QAEPAXI@Z$0
__ehfuncinfo$??_GgzAutoCompleteStruct@@QAEPAXI@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??_GgzAutoCompleteStruct@@QAEPAXI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??_GgzAutoCompleteStruct@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___flags$ = 8						; size = 4
??_GgzAutoCompleteStruct@@QAEPAXI@Z PROC		; gzAutoCompleteStruct::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??_GgzAutoCompleteStruct@@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@4
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN14@scalar@4:
	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$??_GgzAutoCompleteStruct@@QAEPAXI@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??_GgzAutoCompleteStruct@@QAEPAXI@Z:
	mov	eax, OFFSET __ehfuncinfo$??_GgzAutoCompleteStruct@@QAEPAXI@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??_GgzAutoCompleteStruct@@QAEPAXI@Z ENDP		; gzAutoCompleteStruct::`scalar deleting destructor'
PUBLIC	??_C@_0M@LDCOBCHP@_PRIVATEMSG?$AA@		; `string'
PUBLIC	??_C@_0BC@DMCOPPLH@?$CFls?5?$CIto?5?$CFls?$CJ?3?5?$CFls?$AA@ ; `string'
PUBLIC	??_C@_0CE@NELJPDCL@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFls?5?$CIto?5?$CFls?$CJ?3?5?$CF@ ; `string'
PUBLIC	??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ ; `string'
PUBLIC	??_C@_01EEMJAFIK@?6?$AA@			; `string'
PUBLIC	??_C@_08BJFIHHNC@?$CInull?$CJ?3?5?$AA@		; `string'
PUBLIC	??_C@_05IAGMBLAD@?$CFls?3?5?$AA@		; `string'
PUBLIC	??_C@_07IBMMHECJ@?$FLTeam?$FN?5?$AA@		; `string'
PUBLIC	??_C@_0BC@MALIEGMD@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$AA@ ; `string'
PUBLIC	??_C@_01MCMALHOG@a?$AA@				; `string'
PUBLIC	??_C@_0BG@MMMBFLGC@renlog_?$CFd?9?$CFd?9?$CF04d?4txt?$AA@ ; `string'
PUBLIC	?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z ; gzChatManagerClass::Player_Chat
EXTRN	?gzLogger@@YAXPBD0ZZ:PROC			; gzLogger
EXTRN	??1aFile@@UAE@XZ:PROC				; aFile::~aFile
EXTRN	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z:PROC ; nc_cPlayerManager::Find_Player
EXTRN	?Write@aFile@@QAEIABVaString@@I@Z:PROC		; aFile::Write
EXTRN	?GetHour@aDateTime@@QAEIXZ:PROC			; aDateTime::GetHour
EXTRN	?GetMinute@aDateTime@@QAEIXZ:PROC		; aDateTime::GetMinute
EXTRN	?GetSecond@aDateTime@@QAEIXZ:PROC		; aDateTime::GetSecond
EXTRN	?IsOpened@aFile@@UAE_NXZ:PROC			; aFile::IsOpened
EXTRN	??0aFile@@QAE@ABVaString@@PBD@Z:PROC		; aFile::aFile
EXTRN	?Format@aString@@SA?AV1@PBDZZ:PROC		; aString::Format
EXTRN	?GetMonth@aDateTime@@QAEIXZ:PROC		; aDateTime::GetMonth
EXTRN	?GetDay@aDateTime@@QAEIXZ:PROC			; aDateTime::GetDay
EXTRN	?GetYear@aDateTime@@QAEIXZ:PROC			; aDateTime::GetYear
EXTRN	?Now@aDateTime@@SA?AV1@XZ:PROC			; aDateTime::Now
EXTRN	??1aRegex@@QAE@XZ:PROC				; aRegex::~aRegex
EXTRN	?Compile@aRegex@@QAEHABVaString@@H@Z:PROC	; aRegex::Compile
EXTRN	??0aRegex@@QAE@ABVaString@@@Z:PROC		; aRegex::aRegex
EXTRN	?Matches@aWideString@@QBE_NABV1@_N@Z:PROC	; aWideString::Matches
EXTRN	??0aWideString@@QAE@PB_W@Z:PROC			; aWideString::aWideString
EXTRN	??0aWideString@@QAE@ABVaString@@@Z:PROC		; aWideString::aWideString
EXTRN	??0aWideString@@QAE@PBD@Z:PROC			; aWideString::aWideString
EXTRN	??0aString@@QAE@PB_W@Z:PROC			; aString::aString
EXTRN	??4aWideString@@QAEAAV0@ABV0@@Z:PROC		; aWideString::operator=
EXTRN	??8aWideString@@QAE_NABV0@@Z:PROC		; aWideString::operator==
EXTRN	??8aWideString@@QAE_NPB_W@Z:PROC		; aWideString::operator==
;	COMDAT ??_C@_0M@LDCOBCHP@_PRIVATEMSG?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0M@LDCOBCHP@_PRIVATEMSG?$AA@ DB '_PRIVATEMSG', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@DMCOPPLH@?$CFls?5?$CIto?5?$CFls?$CJ?3?5?$CFls?$AA@
CONST	SEGMENT
??_C@_0BC@DMCOPPLH@?$CFls?5?$CIto?5?$CFls?$CJ?3?5?$CFls?$AA@ DB '%ls (to '
	DB	'%ls): %ls', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CE@NELJPDCL@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFls?5?$CIto?5?$CFls?$CJ?3?5?$CF@
CONST	SEGMENT
??_C@_0CE@NELJPDCL@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFls?5?$CIto?5?$CFls?$CJ?3?5?$CF@ DB '['
	DB	'%02d:%02d:%02d] %ls (to %ls): %ls', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@
CONST	SEGMENT
??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ DB '(', 00H
	DB	'n', 00H, 'u', 00H, 'l', 00H, 'l', 00H, ')', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_01EEMJAFIK@?6?$AA@
CONST	SEGMENT
??_C@_01EEMJAFIK@?6?$AA@ DB 0aH, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_08BJFIHHNC@?$CInull?$CJ?3?5?$AA@
CONST	SEGMENT
??_C@_08BJFIHHNC@?$CInull?$CJ?3?5?$AA@ DB '(null): ', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_05IAGMBLAD@?$CFls?3?5?$AA@
CONST	SEGMENT
??_C@_05IAGMBLAD@?$CFls?3?5?$AA@ DB '%ls: ', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_07IBMMHECJ@?$FLTeam?$FN?5?$AA@
CONST	SEGMENT
??_C@_07IBMMHECJ@?$FLTeam?$FN?5?$AA@ DB '[Team] ', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@MALIEGMD@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$AA@
CONST	SEGMENT
??_C@_0BC@MALIEGMD@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$AA@ DB '[%02d:%02'
	DB	'd:%02d] ', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_01MCMALHOG@a?$AA@
CONST	SEGMENT
??_C@_01MCMALHOG@a?$AA@ DB 'a', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@MMMBFLGC@renlog_?$CFd?9?$CFd?9?$CF04d?4txt?$AA@
CONST	SEGMENT
??_C@_0BG@MMMBFLGC@renlog_?$CFd?9?$CFd?9?$CF04d?4txt?$AA@ DB 'renlog_%d-%'
	DB	'd-%04d.txt', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z DD 019930522H
	DD	020H
	DD	FLAT:__unwindtable$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$2
	DD	01H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$3
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$4
	DD	04H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$5
	DD	05H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$6
	DD	03H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$7
	DD	07H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$8
	DD	08H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$9
	DD	07H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$9
	DD	03H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$10
	DD	03H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$11
	DD	0cH
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$12
	DD	03H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$13
	DD	0eH
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$14
	DD	03H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$14
	DD	010H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$15
	DD	011H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$16
	DD	03H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$17
	DD	013H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$18
	DD	03H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$18
	DD	015H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$19
	DD	015H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$20
	DD	015H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$21
	DD	015H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$22
	DD	015H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$23
	DD	015H
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$24
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$25
	DD	01cH
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$26
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$26
	DD	01eH
	DD	FLAT:__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$27
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.cpp
xdata$x	ENDS
;	COMDAT ?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z
_TEXT	SEGMENT
_Match$57912 = -193					; size = 1
_list$57901 = -192					; size = 4
_this$ = -192						; size = 4
$T65972 = -188						; size = 8
_retBuf$57894 = -188					; size = 8
$T65966 = -188						; size = 8
_cmd$57875 = -180					; size = 4
$T65982 = -176						; size = 8
$T65965 = -176						; size = 8
$T65962 = -176						; size = 8
$T65974 = -168						; size = 8
$T65968 = -168						; size = 4
$T65967 = -168						; size = 4
tv900 = -160						; size = 4
$T65970 = -156						; size = 8
_msg$57895 = -156					; size = 8
_renlog$57954 = -148					; size = 20
_renlog$57932 = -148					; size = 20
_now$57951 = -128					; size = 24
_now$57929 = -128					; size = 24
_regex$57921 = -128					; size = 32
$T65988 = -96						; size = 8
$T65977 = -96						; size = 8
$T65983 = -88						; size = 8
$T65979 = -88						; size = 8
$T65980 = -80						; size = 8
$T65963 = -72						; size = 8
$T65978 = -64						; size = 8
$T65981 = -56						; size = 8
$T65971 = -48						; size = 8
$T65975 = -40						; size = 8
$T65976 = -32						; size = 8
$T65969 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_evt$ = 8						; size = 4
?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z PROC ; gzChatManagerClass::Player_Chat, COMDAT
; _this$ = ecx

; 135  : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 184				; 000000b8H
	push	ebx

; 136  : 	gzPlayer *pData = gzPlayerManager::Find(evt.m_sender);

	mov	ebx, DWORD PTR _evt$[ebp]
	mov	eax, DWORD PTR [ebx+52]
	push	esi
	push	edi
	push	eax
	mov	DWORD PTR _this$[esp+212], ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	edi, eax
	add	esp, 4

; 137  : 	if (pData && evt.m_sender > 0 && (evt.m_type == 0 || evt.m_type == 1))

	test	edi, edi
	je	$LN37@Player_Cha@2
	cmp	DWORD PTR [ebx+52], 0
	jle	$LN37@Player_Cha@2
	mov	eax, DWORD PTR [ebx+40]
	test	eax, eax
	je	SHORT $LN46@Player_Cha@2
	cmp	eax, 1
	jne	$LN39@Player_Cha@2
$LN46@Player_Cha@2:

; 138  : 	{
; 139  : 		// Mute check
; 140  : 		for (unsigned int i = 0; i < this->m_muteList.Count(); i++)

	mov	ecx, DWORD PTR _this$[esp+208]
	xor	esi, esi
	cmp	DWORD PTR [ecx+100], esi
	jbe	SHORT $LN43@Player_Cha@2
$LL45@Player_Cha@2:

; 141  : 		{
; 142  : 			if (this->m_muteList[i] == pData->GetPlayerData()->PlayerName.m_Buffer)

	mov	ecx, DWORD PTR _this$[esp+208]
	push	esi
	lea	edx, DWORD PTR $T65962[esp+212]
	push	edx
	add	ecx, 88					; 00000058H
	call	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
	mov	ecx, DWORD PTR [edi+72]
	mov	ecx, DWORD PTR [ecx+1880]
	push	ecx
	mov	ecx, eax
	mov	DWORD PTR __$EHRec$[esp+220], 0
	call	??8aWideString@@QAE_NPB_W@Z		; aWideString::operator==
	lea	ecx, DWORD PTR $T65962[esp+208]
	mov	bl, al
	mov	DWORD PTR __$EHRec$[esp+216], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	SHORT $LN280@Player_Cha@2
	mov	edx, DWORD PTR _this$[esp+208]
	add	esi, 1
	cmp	esi, DWORD PTR [edx+100]
	jb	SHORT $LL45@Player_Cha@2

; 168  : 				{
; 169  : 					if ((evt.m_type == 0 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_ALL) == MSG_ALL) ||
; 170  : 						(evt.m_type == 1 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_TEAM) == MSG_TEAM) ||
; 171  : 						(evt.m_type == 2 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_PRIVATE) == MSG_PRIVATE))

	mov	ebx, DWORD PTR _evt$[ebp]
$LN43@Player_Cha@2:

; 145  : 				return;
; 146  : 			}
; 147  : 		}
; 148  : 
; 149  : 		for (aListNode<gzAutoCompleteStruct>* list = this->m_autoComplete.GetHead(); list != NULL; list = list->GetNext())

	mov	ecx, DWORD PTR _this$[esp+208]
	mov	edx, DWORD PTR [ecx+36]
	mov	eax, DWORD PTR [edx+4]
	add	ecx, 36					; 00000024H
	call	eax
	mov	esi, eax
	test	esi, esi
	je	SHORT $LN39@Player_Cha@2
	lea	edi, DWORD PTR [ebx+44]
$LL96@Player_Cha@2:

; 150  : 		{
; 151  : 			if (list->GetData()->input == evt.m_message)

	mov	ecx, DWORD PTR [esi+4]
	push	edi
	call	??8aWideString@@QAE_NABV0@@Z		; aWideString::operator==
	test	al, al
	jne	SHORT $LN281@Player_Cha@2
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL96@Player_Cha@2

; 168  : 				{
; 169  : 					if ((evt.m_type == 0 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_ALL) == MSG_ALL) ||
; 170  : 						(evt.m_type == 1 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_TEAM) == MSG_TEAM) ||
; 171  : 						(evt.m_type == 2 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_PRIVATE) == MSG_PRIVATE))

	jmp	SHORT $LN39@Player_Cha@2
$LN280@Player_Cha@2:

; 143  : 			{
; 144  : 				evt.Skip();

	mov	eax, DWORD PTR _evt$[ebp]
	mov	BYTE PTR [eax+60], 0

; 253  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+208]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
$LN281@Player_Cha@2:

; 152  : 			{
; 153  : 				evt.m_type = Team;

	mov	DWORD PTR [ebx+40], 1

; 154  : 				evt.m_message = list->GetData()->output;

	mov	esi, DWORD PTR [esi+4]
	add	esi, 8
	push	esi
	mov	ecx, edi
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
$LN39@Player_Cha@2:

; 155  : 				break;
; 156  : 			}
; 157  : 		}
; 158  : 	}
; 159  : 	if (pData && evt.m_sender > 0 && evt.m_type >= 0)

	cmp	DWORD PTR [ebx+52], 0
	jle	$LN37@Player_Cha@2
	cmp	DWORD PTR [ebx+40], 0
	jl	$LN37@Player_Cha@2

; 160  : 	{
; 161  : 		// Commands
; 162  : 		aToken cmd(evt.m_message.GetString());

	lea	eax, DWORD PTR [ebx+44]
	mov	DWORD PTR tv900[esp+208], eax
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN104@Player_Cha@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN105@Player_Cha@2
$LN104@Player_Cha@2:
	xor	eax, eax
$LN105@Player_Cha@2:
	push	eax
	lea	ecx, DWORD PTR $T65963[esp+212]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	lea	ecx, DWORD PTR $T65963[esp+208]
	push	ecx
	lea	ecx, DWORD PTR _cmd$57875[esp+212]
	mov	DWORD PTR __$EHRec$[esp+220], 1
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T65963[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 163  : 		for (unsigned int i = 0; i < gzChatManagerClass::m_chatCommandList.Count(); i++)

	xor	edi, edi
	cmp	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, edi
	jbe	$endofcmd$57898
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
$LL36@Player_Cha@2:

; 164  : 		{
; 165  : 			for (unsigned int j = 0; j < gzChatManagerClass::m_chatCommandList[i]->m_commandList.Count(); j++)

	mov	edx, DWORD PTR [eax+edi*4]
	xor	esi, esi
	cmp	DWORD PTR [edx+16], esi
	jbe	$LN35@Player_Cha@2
$LL33@Player_Cha@2:

; 166  : 			{
; 167  : 				if (gzChatManagerClass::m_chatCommandList[i]->m_commandList[j] == cmd.gettok(1, ' ').GetData().GetString())

	push	32					; 00000020H
	push	1
	lea	eax, DWORD PTR $T65967[esp+216]
	push	eax
	lea	ecx, DWORD PTR _cmd$57875[esp+220]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+216], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN119@Player_Cha@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN120@Player_Cha@2
$LN119@Player_Cha@2:
	xor	eax, eax
$LN120@Player_Cha@2:
	push	eax
	lea	ecx, DWORD PTR $T65966[esp+212]
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	push	esi
	lea	ecx, DWORD PTR $T65965[esp+212]
	push	ecx
	mov	ecx, DWORD PTR [edx+edi*4]
	add	ecx, 4
	mov	BYTE PTR __$EHRec$[esp+224], 5
	call	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
	lea	ecx, DWORD PTR $T65966[esp+208]
	push	ecx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+220], 6
	call	??8aWideString@@QAE_NABV0@@Z		; aWideString::operator==
	lea	ecx, DWORD PTR $T65965[esp+208]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+216], 5
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T65966[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 4
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T65967[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 3
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	test	bl, bl
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	je	SHORT $LN32@Player_Cha@2

; 168  : 				{
; 169  : 					if ((evt.m_type == 0 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_ALL) == MSG_ALL) ||
; 170  : 						(evt.m_type == 1 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_TEAM) == MSG_TEAM) ||
; 171  : 						(evt.m_type == 2 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_PRIVATE) == MSG_PRIVATE))

	mov	ebx, DWORD PTR _evt$[ebp]
	mov	ecx, DWORD PTR [ebx+40]
	test	ecx, ecx
	jne	SHORT $LN27@Player_Cha@2
	mov	edx, DWORD PTR [eax+edi*4]
	test	BYTE PTR [edx+20], 1
	jne	SHORT $LN28@Player_Cha@2
$LN27@Player_Cha@2:
	cmp	ecx, 1
	jne	SHORT $LN26@Player_Cha@2
	mov	edx, DWORD PTR [eax+edi*4]
	test	BYTE PTR [edx+20], 2
	jne	SHORT $LN28@Player_Cha@2
$LN26@Player_Cha@2:
	cmp	ecx, 2
	jne	SHORT $LN32@Player_Cha@2
	mov	ecx, DWORD PTR [eax+edi*4]
	test	BYTE PTR [ecx+20], 4
	jne	SHORT $LN28@Player_Cha@2
$LN32@Player_Cha@2:

; 164  : 		{
; 165  : 			for (unsigned int j = 0; j < gzChatManagerClass::m_chatCommandList[i]->m_commandList.Count(); j++)

	mov	edx, DWORD PTR [eax+edi*4]
	add	esi, 1
	cmp	esi, DWORD PTR [edx+16]
	jb	$LL33@Player_Cha@2
$LN35@Player_Cha@2:

; 163  : 		for (unsigned int i = 0; i < gzChatManagerClass::m_chatCommandList.Count(); i++)

	add	edi, 1
	cmp	edi, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	jb	$LL36@Player_Cha@2

; 168  : 				{
; 169  : 					if ((evt.m_type == 0 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_ALL) == MSG_ALL) ||
; 170  : 						(evt.m_type == 1 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_TEAM) == MSG_TEAM) ||
; 171  : 						(evt.m_type == 2 && (gzChatManagerClass::m_chatCommandList[i]->m_type & MSG_PRIVATE) == MSG_PRIVATE))

	jmp	$LN296@Player_Cha@2
$LN28@Player_Cha@2:

; 172  : 					{
; 173  : 						aWideString retBuf, msg = cmd.gettok(2, cmd.numtok(' ') - 1, ' ').GetData();

	lea	ecx, DWORD PTR _retBuf$57894[esp+208]
	call	??0aWideString@@QAE@XZ			; aWideString::aWideString
	push	32					; 00000020H
	push	32					; 00000020H
	lea	ecx, DWORD PTR _cmd$57875[esp+216]
	mov	BYTE PTR __$EHRec$[esp+224], 7
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	sub	eax, 1
	push	eax
	push	2
	lea	eax, DWORD PTR $T65968[esp+220]
	push	eax
	lea	ecx, DWORD PTR _cmd$57875[esp+224]
	call	?gettok@aToken@@QAE?AV1@HHE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+216], 8
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	lea	ecx, DWORD PTR _msg$57895[esp+212]
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	lea	ecx, DWORD PTR $T65968[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 10		; 0000000aH
	call	??1aToken@@QAE@XZ			; aToken::~aToken

; 174  : 						gzChatManagerClass::m_chatCommandList[i]->Activate(msg.GetString(), evt.m_type, evt.m_sender, evt.m_receiver, retBuf);

	mov	eax, DWORD PTR _msg$57895[esp+212]
	test	eax, eax
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	ecx, DWORD PTR [ecx+edi*4]
	je	SHORT $LN141@Player_Cha@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN142@Player_Cha@2
$LN141@Player_Cha@2:
	xor	eax, eax
$LN142@Player_Cha@2:
	mov	edx, DWORD PTR [ecx]
	lea	esi, DWORD PTR _retBuf$57894[esp+208]
	push	esi
	mov	esi, DWORD PTR [ebx+56]
	push	esi
	mov	esi, DWORD PTR [ebx+52]
	push	esi
	mov	esi, DWORD PTR [ebx+40]
	push	esi
	push	eax
	mov	eax, DWORD PTR [edx]
	call	eax

; 175  : 						if (!retBuf.IsEmpty())

	mov	eax, DWORD PTR _retBuf$57894[esp+212]
	test	eax, eax
	je	SHORT $LN25@Player_Cha@2
	cmp	DWORD PTR [eax+4], 0
	je	SHORT $LN25@Player_Cha@2
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN25@Player_Cha@2

; 176  : 							evt.m_message = retBuf;

	lea	ecx, DWORD PTR _retBuf$57894[esp+208]
	push	ecx
	mov	ecx, DWORD PTR tv900[esp+212]
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
$LN25@Player_Cha@2:

; 177  : 						goto endofcmd;
; 178  : 					}
; 179  : 				}
; 180  : 			}
; 181  : 		}
; 182  : endofcmd:

	lea	ecx, DWORD PTR _msg$57895[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 7
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR _retBuf$57894[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN296@Player_Cha@2:
	mov	ebx, DWORD PTR _evt$[ebp]
$endofcmd$57898:

; 183  : 
; 184  : 		// Text filter
; 185  : 		for (aListNode<gzTextFilterStruct>* list = this->m_textFilter.GetHead(); list != NULL; list = list->GetNext())

	mov	ecx, DWORD PTR _this$[esp+208]
	mov	edx, DWORD PTR [ecx+52]
	mov	eax, DWORD PTR [edx+4]
	add	ecx, 52					; 00000034H
	call	eax
	test	eax, eax
	mov	DWORD PTR _list$57901[esp+208], eax
	je	$LN21@Player_Cha@2
	jmp	SHORT $LN159@Player_Cha@2
	npad	4
$LL293@Player_Cha@2:
	mov	eax, DWORD PTR _list$57901[esp+208]
$LN159@Player_Cha@2:

; 186  : 		{
; 187  : 			if (list->GetData()->enable &&
; 188  : 				(((list->GetData()->type & MSG_ALL) == MSG_ALL && evt.m_type == 0) ||
; 189  : 				((list->GetData()->type & MSG_TEAM) == MSG_TEAM && evt.m_type == 1)))

	mov	eax, DWORD PTR [eax+4]
	cmp	BYTE PTR [eax+8], 0
	je	$LN22@Player_Cha@2
	test	BYTE PTR [eax+16], 1
	je	SHORT $LN18@Player_Cha@2
	cmp	DWORD PTR [ebx+40], 0
	je	SHORT $LN19@Player_Cha@2
$LN18@Player_Cha@2:
	test	BYTE PTR [eax+16], 2
	je	$LN22@Player_Cha@2
	cmp	DWORD PTR [ebx+40], 1
	jne	$LN22@Player_Cha@2
$LN19@Player_Cha@2:

; 190  : 			{
; 191  : 				for (unsigned int j = 0; j < list->GetData()->String.Count(); j++)

	xor	esi, esi
	cmp	DWORD PTR [eax+36], esi
	jbe	$LN22@Player_Cha@2
	mov	edi, DWORD PTR tv900[esp+208]
$LL17@Player_Cha@2:

; 192  : 				{
; 193  : 					bool Match = false;
; 194  : 					if (list->GetData()->cmpType == TYPE_NORM)

	cmp	DWORD PTR [eax+12], 1
	mov	BYTE PTR _Match$57912[esp+208], 0
	jne	SHORT $LN14@Player_Cha@2

; 195  : 						Match = (list->GetData()->String[j] == evt.m_message) ? true : false;

	push	esi
	lea	ecx, DWORD PTR $T65969[esp+212]
	push	ecx
	lea	ecx, DWORD PTR [eax+24]
	call	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
	push	edi
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+220], 11		; 0000000bH
	call	??8aWideString@@QAE_NABV0@@Z		; aWideString::operator==
	test	al, al
	lea	ecx, DWORD PTR $T65969[esp+208]
	setne	BYTE PTR _Match$57912[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	jmp	$LN10@Player_Cha@2
$LN14@Player_Cha@2:

; 196  : 
; 197  : 					else if (list->GetData()->cmpType == TYPE_WILDCARD)

	cmp	DWORD PTR [eax+12], 2
	jne	SHORT $LN12@Player_Cha@2

; 198  : 						Match = evt.m_message.Matches(list->GetData()->String[j].GetString());

	push	esi
	lea	edx, DWORD PTR $T65971[esp+212]
	push	edx
	lea	ecx, DWORD PTR [eax+24]
	call	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+216], 12		; 0000000cH
	je	SHORT $LN184@Player_Cha@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN185@Player_Cha@2
$LN184@Player_Cha@2:
	xor	eax, eax
$LN185@Player_Cha@2:
	push	eax
	lea	ecx, DWORD PTR $T65970[esp+212]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	push	0
	lea	eax, DWORD PTR $T65970[esp+212]
	push	eax
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+224], 13		; 0000000dH
	call	?Matches@aWideString@@QBE_NABV1@_N@Z	; aWideString::Matches
	lea	ecx, DWORD PTR $T65970[esp+208]
	mov	BYTE PTR _Match$57912[esp+208], al
	mov	BYTE PTR __$EHRec$[esp+216], 12		; 0000000cH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T65971[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	jmp	$LN10@Player_Cha@2
$LN12@Player_Cha@2:

; 199  : 
; 200  : 					else if (list->GetData()->cmpType == TYPE_REGEX)

	cmp	DWORD PTR [eax+12], 3
	jne	$LN16@Player_Cha@2

; 201  : 					{
; 202  : 						aRegex regex(evt.m_message.GetString());

	mov	eax, DWORD PTR [edi+4]
	test	eax, eax
	je	SHORT $LN198@Player_Cha@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN199@Player_Cha@2
$LN198@Player_Cha@2:
	xor	eax, eax
$LN199@Player_Cha@2:
	push	eax
	lea	ecx, DWORD PTR $T65972[esp+212]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	lea	ecx, DWORD PTR $T65972[esp+208]
	push	ecx
	lea	ecx, DWORD PTR _regex$57921[esp+212]
	mov	BYTE PTR __$EHRec$[esp+220], 14		; 0000000eH
	call	??0aRegex@@QAE@ABVaString@@@Z		; aRegex::aRegex
	lea	ecx, DWORD PTR $T65972[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 16		; 00000010H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 203  : 						if (regex.Compile(list->GetData()->String[j].GetString()) > 0)

	mov	edx, DWORD PTR _list$57901[esp+208]
	mov	eax, DWORD PTR [edx+4]
	push	esi
	lea	ecx, DWORD PTR $T65975[esp+212]
	push	ecx
	lea	ecx, DWORD PTR [eax+24]
	call	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+216], 17		; 00000011H
	je	SHORT $LN209@Player_Cha@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN210@Player_Cha@2
$LN209@Player_Cha@2:
	xor	eax, eax
$LN210@Player_Cha@2:
	push	eax
	lea	ecx, DWORD PTR $T65974[esp+212]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	push	64					; 00000040H
	lea	edx, DWORD PTR $T65974[esp+212]
	push	edx
	lea	ecx, DWORD PTR _regex$57921[esp+216]
	mov	BYTE PTR __$EHRec$[esp+224], 18		; 00000012H
	call	?Compile@aRegex@@QAEHABVaString@@H@Z	; aRegex::Compile
	test	eax, eax
	lea	ecx, DWORD PTR $T65974[esp+208]
	setg	bl
	mov	BYTE PTR __$EHRec$[esp+216], 17		; 00000011H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T65975[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 16		; 00000010H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN9@Player_Cha@2

; 204  : 							Match = (regex.GetMatchCount() > 0);

	cmp	DWORD PTR _regex$57921[esp+236], 0
	setg	BYTE PTR _Match$57912[esp+208]
$LN9@Player_Cha@2:

; 205  : 					}

	lea	ecx, DWORD PTR _regex$57921[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 3
	call	??1aRegex@@QAE@XZ			; aRegex::~aRegex
	mov	ebx, DWORD PTR _evt$[ebp]
$LN10@Player_Cha@2:

; 206  : 
; 207  : 					if (Match)

	cmp	BYTE PTR _Match$57912[esp+208], 0
	je	$LN16@Player_Cha@2

; 208  : 					{
; 209  : 						if ((list->GetData()->options & OPT_LOG) == OPT_LOG)

	mov	eax, DWORD PTR _list$57901[esp+208]
	mov	eax, DWORD PTR [eax+4]
	test	BYTE PTR [eax+20], 1
	je	$LN7@Player_Cha@2

; 210  : 						{
; 211  : 							aDateTime now = aDateTime::Now();

	lea	ecx, DWORD PTR _now$57929[esp+208]
	push	ecx
	call	?Now@aDateTime@@SA?AV1@XZ		; aDateTime::Now
	add	esp, 4

; 212  : 							aFile renlog(aString::Format("renlog_%d-%d-%04d.txt", now.GetMonth(), now.GetDay(), now.GetYear()), "a");

	lea	ecx, DWORD PTR _now$57929[esp+208]
	call	?GetYear@aDateTime@@QAEIXZ		; aDateTime::GetYear
	push	eax
	lea	ecx, DWORD PTR _now$57929[esp+212]
	call	?GetDay@aDateTime@@QAEIXZ		; aDateTime::GetDay
	push	eax
	lea	ecx, DWORD PTR _now$57929[esp+216]
	call	?GetMonth@aDateTime@@QAEIXZ		; aDateTime::GetMonth
	push	eax
	lea	edx, DWORD PTR $T65976[esp+220]
	push	OFFSET ??_C@_0BG@MMMBFLGC@renlog_?$CFd?9?$CFd?9?$CF04d?4txt?$AA@
	push	edx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 20					; 00000014H
	push	OFFSET ??_C@_01MCMALHOG@a?$AA@
	push	eax
	lea	ecx, DWORD PTR _renlog$57932[esp+216]
	mov	BYTE PTR __$EHRec$[esp+224], 19		; 00000013H
	call	??0aFile@@QAE@ABVaString@@PBD@Z		; aFile::aFile
	lea	ecx, DWORD PTR $T65976[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 21		; 00000015H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 213  : 							if (renlog.IsOpened()) // Able to open file

	lea	ecx, DWORD PTR _renlog$57932[esp+208]
	call	?IsOpened@aFile@@UAE_NXZ		; aFile::IsOpened
	test	al, al
	je	$LN6@Player_Cha@2

; 214  : 							{
; 215  : 								renlog.Write(aString::Format("[%02d:%02d:%02d] ", now.GetHour(), now.GetMinute(), now.GetSecond()));

	lea	ecx, DWORD PTR _now$57929[esp+208]
	call	?GetSecond@aDateTime@@QAEIXZ		; aDateTime::GetSecond
	push	eax
	lea	ecx, DWORD PTR _now$57929[esp+212]
	call	?GetMinute@aDateTime@@QAEIXZ		; aDateTime::GetMinute
	push	eax
	lea	ecx, DWORD PTR _now$57929[esp+216]
	call	?GetHour@aDateTime@@QAEIXZ		; aDateTime::GetHour
	push	eax
	lea	eax, DWORD PTR $T65977[esp+220]
	push	OFFSET ??_C@_0BC@MALIEGMD@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$AA@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 20					; 00000014H
	push	0
	push	eax
	lea	ecx, DWORD PTR _renlog$57932[esp+216]
	mov	BYTE PTR __$EHRec$[esp+224], 22		; 00000016H
	call	?Write@aFile@@QAEIABVaString@@I@Z	; aFile::Write
	lea	ecx, DWORD PTR $T65977[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 21		; 00000015H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 216  : 
; 217  : 								if (evt.m_type == 1) // Team message

	cmp	DWORD PTR [ebx+40], 1
	jne	SHORT $LN5@Player_Cha@2

; 218  : 									renlog.Write("[Team] ");

	push	OFFSET ??_C@_07IBMMHECJ@?$FLTeam?$FN?5?$AA@
	lea	ecx, DWORD PTR $T65978[esp+212]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	0
	lea	ecx, DWORD PTR $T65978[esp+212]
	push	ecx
	lea	ecx, DWORD PTR _renlog$57932[esp+216]
	mov	BYTE PTR __$EHRec$[esp+224], 23		; 00000017H
	call	?Write@aFile@@QAEIABVaString@@I@Z	; aFile::Write
	lea	ecx, DWORD PTR $T65978[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 21		; 00000015H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN5@Player_Cha@2:

; 219  : 
; 220  : 								if (nc_cPlayerManager::Find_Player(evt.m_sender)) // Player exists

	mov	edx, DWORD PTR [ebx+52]
	push	edx
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	test	eax, eax
	je	SHORT $LN4@Player_Cha@2

; 221  : 									renlog.Write(aString::Format("%ls: ", nc_cPlayerManager::Find_Player(evt.m_sender)->PlayerName.m_Buffer));

	mov	eax, DWORD PTR [ebx+52]
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	ecx, DWORD PTR [eax+1880]
	push	ecx
	lea	edx, DWORD PTR $T65979[esp+216]
	push	OFFSET ??_C@_05IAGMBLAD@?$CFls?3?5?$AA@
	push	edx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	push	0
	push	eax
	lea	ecx, DWORD PTR _renlog$57932[esp+216]
	mov	BYTE PTR __$EHRec$[esp+224], 24		; 00000018H
	call	?Write@aFile@@QAEIABVaString@@I@Z	; aFile::Write
	lea	ecx, DWORD PTR $T65979[esp+208]

; 222  : 
; 223  : 								else // Player does not exist

	jmp	SHORT $LN297@Player_Cha@2
$LN4@Player_Cha@2:

; 224  : 									renlog.Write("(null): ");

	push	OFFSET ??_C@_08BJFIHHNC@?$CInull?$CJ?3?5?$AA@
	lea	ecx, DWORD PTR $T65980[esp+212]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	0
	lea	eax, DWORD PTR $T65980[esp+212]
	push	eax
	lea	ecx, DWORD PTR _renlog$57932[esp+216]
	mov	BYTE PTR __$EHRec$[esp+224], 25		; 00000019H
	call	?Write@aFile@@QAEIABVaString@@I@Z	; aFile::Write
	lea	ecx, DWORD PTR $T65980[esp+208]
$LN297@Player_Cha@2:
	mov	BYTE PTR __$EHRec$[esp+216], 21		; 00000015H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 225  : 
; 226  : 								renlog.Write(evt.m_message.GetString());

	mov	eax, DWORD PTR [edi+4]
	test	eax, eax
	je	SHORT $LN242@Player_Cha@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN243@Player_Cha@2
$LN242@Player_Cha@2:
	xor	eax, eax
$LN243@Player_Cha@2:
	push	eax
	lea	ecx, DWORD PTR $T65981[esp+212]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	push	0
	lea	ecx, DWORD PTR $T65981[esp+212]
	push	ecx
	lea	ecx, DWORD PTR _renlog$57932[esp+216]
	mov	BYTE PTR __$EHRec$[esp+224], 26		; 0000001aH
	call	?Write@aFile@@QAEIABVaString@@I@Z	; aFile::Write
	lea	ecx, DWORD PTR $T65981[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 21		; 00000015H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 227  : 								renlog.Write("\n");

	push	OFFSET ??_C@_01EEMJAFIK@?6?$AA@
	lea	ecx, DWORD PTR $T65982[esp+212]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	0
	lea	edx, DWORD PTR $T65982[esp+212]
	push	edx
	lea	ecx, DWORD PTR _renlog$57932[esp+216]
	mov	BYTE PTR __$EHRec$[esp+224], 27		; 0000001bH
	call	?Write@aFile@@QAEIABVaString@@I@Z	; aFile::Write
	lea	ecx, DWORD PTR $T65982[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 21		; 00000015H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN6@Player_Cha@2:

; 228  : 							}
; 229  : 						}

	lea	ecx, DWORD PTR _renlog$57932[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], 3
	call	??1aFile@@UAE@XZ			; aFile::~aFile
$LN7@Player_Cha@2:

; 230  : 						evt.Skip();

	mov	BYTE PTR [ebx+60], 0
$LN16@Player_Cha@2:

; 190  : 			{
; 191  : 				for (unsigned int j = 0; j < list->GetData()->String.Count(); j++)

	mov	eax, DWORD PTR _list$57901[esp+208]
	mov	eax, DWORD PTR [eax+4]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+36]
	jb	$LL17@Player_Cha@2
$LN22@Player_Cha@2:

; 183  : 
; 184  : 		// Text filter
; 185  : 		for (aListNode<gzTextFilterStruct>* list = this->m_textFilter.GetHead(); list != NULL; list = list->GetNext())

	mov	ecx, DWORD PTR _list$57901[esp+208]
	mov	eax, DWORD PTR [ecx]
	test	eax, eax
	mov	DWORD PTR _list$57901[esp+208], eax
	jne	$LL293@Player_Cha@2
$LN21@Player_Cha@2:

; 231  : 					}
; 232  : 				}
; 233  : 			}
; 234  : 		}
; 235  : 	}

	lea	ecx, DWORD PTR _cmd$57875[esp+208]
	mov	DWORD PTR __$EHRec$[esp+216], -1
	call	??1aToken@@QAE@XZ			; aToken::~aToken
$LN37@Player_Cha@2:

; 236  : 
; 237  : 	// PM logging
; 238  : 	if (evt.m_type == 2 && evt.m_sender > 0 && evt.m_receiver > 0)

	cmp	DWORD PTR [ebx+40], 2
	jne	$LN2@Player_Cha@2
	cmp	DWORD PTR [ebx+52], 0
	jle	$LN2@Player_Cha@2
	cmp	DWORD PTR [ebx+56], 0
	jle	$LN2@Player_Cha@2

; 239  : 	{
; 240  : 		aDateTime now = aDateTime::Now();

	lea	edx, DWORD PTR _now$57951[esp+208]
	push	edx
	call	?Now@aDateTime@@SA?AV1@XZ		; aDateTime::Now
	add	esp, 4

; 241  : 		aFile renlog(aString::Format("renlog_%d-%d-%04d.txt", now.GetMonth(), now.GetDay(), now.GetYear()), "a");

	lea	ecx, DWORD PTR _now$57951[esp+208]
	call	?GetYear@aDateTime@@QAEIXZ		; aDateTime::GetYear
	push	eax
	lea	ecx, DWORD PTR _now$57951[esp+212]
	call	?GetDay@aDateTime@@QAEIXZ		; aDateTime::GetDay
	push	eax
	lea	ecx, DWORD PTR _now$57951[esp+216]
	call	?GetMonth@aDateTime@@QAEIXZ		; aDateTime::GetMonth
	push	eax
	lea	eax, DWORD PTR $T65983[esp+220]
	push	OFFSET ??_C@_0BG@MMMBFLGC@renlog_?$CFd?9?$CFd?9?$CF04d?4txt?$AA@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 20					; 00000014H
	push	OFFSET ??_C@_01MCMALHOG@a?$AA@
	push	eax
	lea	ecx, DWORD PTR _renlog$57954[esp+216]
	mov	DWORD PTR __$EHRec$[esp+224], 28	; 0000001cH
	call	??0aFile@@QAE@ABVaString@@PBD@Z		; aFile::aFile
	mov	bl, 30					; 0000001eH
	lea	ecx, DWORD PTR $T65983[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 242  : 		if (renlog.IsOpened()) // Able to open file

	lea	ecx, DWORD PTR _renlog$57954[esp+208]
	call	?IsOpened@aFile@@UAE_NXZ		; aFile::IsOpened
	test	al, al
	je	$LN1@Player_Cha@2

; 243  : 		{
; 244  : 			nc_cPlayer *pData[2] = {
; 245  : 				nc_cPlayerManager::Find_Player(evt.m_sender),

	mov	esi, DWORD PTR _evt$[ebp]
	mov	ecx, DWORD PTR [esi+52]
	push	ecx
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player

; 246  : 				nc_cPlayerManager::Find_Player(evt.m_receiver)
; 247  : 			};

	mov	edx, DWORD PTR [esi+56]
	push	edx
	mov	edi, eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	esi, eax
	add	esp, 8

; 248  : 			renlog.Write(aString::Format("[%02d:%02d:%02d] %ls (to %ls): %ls\n", now.GetHour(), now.GetMinute(), now.GetSecond(), pData[0] ? pData[0]->PlayerName.m_Buffer : L"(null)", pData[1] ? pData[1]->PlayerName.m_Buffer : L"(null)", evt.m_message.GetString()));

	test	esi, esi
	je	SHORT $LN50@Player_Cha@2
	mov	edx, DWORD PTR [esi+1880]
	jmp	SHORT $LN51@Player_Cha@2
$LN50@Player_Cha@2:
	mov	edx, OFFSET ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@
$LN51@Player_Cha@2:
	test	edi, edi
	je	SHORT $LN52@Player_Cha@2
	mov	ecx, DWORD PTR [edi+1880]
	jmp	SHORT $LN53@Player_Cha@2
$LN52@Player_Cha@2:
	mov	ecx, OFFSET ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@
$LN53@Player_Cha@2:
	mov	eax, DWORD PTR _evt$[ebp]
	mov	eax, DWORD PTR [eax+48]
	test	eax, eax
	je	SHORT $LN261@Player_Cha@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN262@Player_Cha@2
$LN261@Player_Cha@2:
	xor	eax, eax
$LN262@Player_Cha@2:
	push	eax
	push	edx
	push	ecx
	lea	ecx, DWORD PTR _now$57951[esp+220]
	call	?GetSecond@aDateTime@@QAEIXZ		; aDateTime::GetSecond
	push	eax
	lea	ecx, DWORD PTR _now$57951[esp+224]
	call	?GetMinute@aDateTime@@QAEIXZ		; aDateTime::GetMinute
	push	eax
	lea	ecx, DWORD PTR _now$57951[esp+228]
	call	?GetHour@aDateTime@@QAEIXZ		; aDateTime::GetHour
	push	eax
	lea	ecx, DWORD PTR $T65988[esp+232]
	push	OFFSET ??_C@_0CE@NELJPDCL@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFls?5?$CIto?5?$CFls?$CJ?3?5?$CF@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 32					; 00000020H
	push	0
	push	eax
	lea	ecx, DWORD PTR _renlog$57954[esp+216]
	mov	BYTE PTR __$EHRec$[esp+224], 31		; 0000001fH
	call	?Write@aFile@@QAEIABVaString@@I@Z	; aFile::Write
	lea	ecx, DWORD PTR $T65988[esp+208]
	mov	BYTE PTR __$EHRec$[esp+216], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 249  : 
; 250  : 			gzLogger("_PRIVATEMSG", "%ls (to %ls): %ls", pData[0] ? pData[0]->PlayerName.m_Buffer : L"(null)", pData[1] ? pData[1]->PlayerName.m_Buffer : L"(null)", evt.m_message.GetString());

	test	esi, esi
	je	SHORT $LN54@Player_Cha@2
	mov	esi, DWORD PTR [esi+1880]
	jmp	SHORT $LN55@Player_Cha@2
$LN54@Player_Cha@2:
	mov	esi, OFFSET ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@
$LN55@Player_Cha@2:
	test	edi, edi
	je	SHORT $LN56@Player_Cha@2
	mov	ecx, DWORD PTR [edi+1880]
	jmp	SHORT $LN57@Player_Cha@2
$LN56@Player_Cha@2:
	mov	ecx, OFFSET ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@
$LN57@Player_Cha@2:
	mov	edx, DWORD PTR _evt$[ebp]
	mov	eax, DWORD PTR [edx+48]
	test	eax, eax
	je	SHORT $LN270@Player_Cha@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN271@Player_Cha@2
$LN270@Player_Cha@2:
	xor	eax, eax
$LN271@Player_Cha@2:
	push	eax
	push	esi
	push	ecx
	push	OFFSET ??_C@_0BC@DMCOPPLH@?$CFls?5?$CIto?5?$CFls?$CJ?3?5?$CFls?$AA@
	push	OFFSET ??_C@_0M@LDCOBCHP@_PRIVATEMSG?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 20					; 00000014H
$LN1@Player_Cha@2:

; 251  : 		}
; 252  : 	}

	lea	ecx, DWORD PTR _renlog$57954[esp+208]
	mov	DWORD PTR __$EHRec$[esp+216], -1
	call	??1aFile@@UAE@XZ			; aFile::~aFile
$LN2@Player_Cha@2:

; 253  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+208]
	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$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$1:
	lea	ecx, DWORD PTR $T65962[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$2:
	lea	ecx, DWORD PTR $T65963[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$3:
	lea	ecx, DWORD PTR _cmd$57875[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$4:
	lea	ecx, DWORD PTR $T65967[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$5:
	lea	ecx, DWORD PTR $T65966[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$6:
	lea	ecx, DWORD PTR $T65965[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$7:
	lea	ecx, DWORD PTR _retBuf$57894[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$8:
	lea	ecx, DWORD PTR $T65968[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$9:
	lea	ecx, DWORD PTR _msg$57895[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$10:
	lea	ecx, DWORD PTR $T65969[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$11:
	lea	ecx, DWORD PTR $T65971[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$12:
	lea	ecx, DWORD PTR $T65970[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$13:
	lea	ecx, DWORD PTR $T65972[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$14:
	lea	ecx, DWORD PTR _regex$57921[ebp]
	jmp	??1aRegex@@QAE@XZ			; aRegex::~aRegex
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$15:
	lea	ecx, DWORD PTR $T65975[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$16:
	lea	ecx, DWORD PTR $T65974[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$17:
	lea	ecx, DWORD PTR $T65976[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$18:
	lea	ecx, DWORD PTR _renlog$57932[ebp]
	jmp	??1aFile@@UAE@XZ			; aFile::~aFile
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$19:
	lea	ecx, DWORD PTR $T65977[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$20:
	lea	ecx, DWORD PTR $T65978[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$21:
	lea	ecx, DWORD PTR $T65979[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$22:
	lea	ecx, DWORD PTR $T65980[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$23:
	lea	ecx, DWORD PTR $T65981[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$24:
	lea	ecx, DWORD PTR $T65982[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$25:
	lea	ecx, DWORD PTR $T65983[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$26:
	lea	ecx, DWORD PTR _renlog$57954[ebp]
	jmp	??1aFile@@UAE@XZ			; aFile::~aFile
__unwindfunclet$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z$27:
	lea	ecx, DWORD PTR $T65988[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z ENDP ; gzChatManagerClass::Player_Chat
PUBLIC	?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z ; gzChatManagerClass::Net_WolPage
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z$1
__ehfuncinfo$?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.cpp
xdata$x	ENDS
;	COMDAT ?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z
_TEXT	SEGMENT
_nick$ = -32						; size = 8
$T66412 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_evt$ = 8						; size = 4
?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z PROC ; gzChatManagerClass::Net_WolPage, COMDAT
; _this$ = ecx

; 255  : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H

; 256  : 	aWideString nick = evt.m_sender;

	mov	eax, DWORD PTR _evt$[ebp]
	push	ebx
	push	esi
	push	edi
	add	eax, 32					; 00000020H
	mov	edi, ecx
	push	eax
	lea	ecx, DWORD PTR _nick$[esp+52]
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	xor	esi, esi

; 257  : 
; 258  : 	// Mute check
; 259  : 	for (unsigned int i = 0; i < this->m_muteList.Count(); i++)

	cmp	DWORD PTR [edi+100], esi
	mov	DWORD PTR __$EHRec$[esp+56], esi
	jbe	SHORT $LN2@Net_WolPag
	npad	2
$LL4@Net_WolPag:

; 260  : 	{
; 261  : 		if (this->m_muteList[i] == nick)

	push	esi
	lea	ecx, DWORD PTR $T66412[esp+52]
	push	ecx
	lea	ecx, DWORD PTR [edi+88]
	call	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
	lea	edx, DWORD PTR _nick$[esp+48]
	push	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+60], 1
	call	??8aWideString@@QAE_NABV0@@Z		; aWideString::operator==
	lea	ecx, DWORD PTR $T66412[esp+48]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+56], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	SHORT $LN22@Net_WolPag
	add	esi, 1
	cmp	esi, DWORD PTR [edi+100]
	jb	SHORT $LL4@Net_WolPag
	jmp	SHORT $LN2@Net_WolPag
$LN22@Net_WolPag:

; 262  : 		{
; 263  : 			evt.Skip();

	mov	eax, DWORD PTR _evt$[ebp]
	mov	BYTE PTR [eax+48], 0
$LN2@Net_WolPag:

; 264  : 			break;
; 265  : 		}
; 266  : 	}
; 267  : }

	lea	ecx, DWORD PTR _nick$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	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	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z$0:
	lea	ecx, DWORD PTR _nick$[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z$1:
	lea	ecx, DWORD PTR $T66412[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z ENDP ; gzChatManagerClass::Net_WolPage
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzFloodBase@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzFloodBase@@UAEPAXI@Z PROC				; gzFloodBase::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
	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
??_GgzFloodBase@@UAEPAXI@Z ENDP				; gzFloodBase::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzChatFloodClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzChatFloodClass@@UAEPAXI@Z PROC			; gzChatFloodClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN10@scalar@6
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN10@scalar@6:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzChatFloodClass@@UAEPAXI@Z ENDP			; gzChatFloodClass::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzRadioFloodClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzRadioFloodClass@@UAEPAXI@Z PROC			; gzRadioFloodClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN10@scalar@7
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN10@scalar@7:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzRadioFloodClass@@UAEPAXI@Z ENDP			; gzRadioFloodClass::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0BI@KPHBBOFD@You?8re?5now?5being?5muted?4?$AA@ ; `string'
EXTRN	?PagePlayer@@YAXHPBDZZ:PROC			; PagePlayer
EXTRN	_atoi:PROC
;	COMDAT ??_C@_0BI@KPHBBOFD@You?8re?5now?5being?5muted?4?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BI@KPHBBOFD@You?8re?5now?5being?5muted?4?$AA@ DB 'You''re now bein'
	DB	'g muted.', 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@MuteConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@MuteConsoleFunction@@UAEXPAD@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@MuteConsoleFunction@@UAEXPAD@Z$1
__ehfuncinfo$?Activate@MuteConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Activate@MuteConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.cpp
xdata$x	ENDS
;	COMDAT ?Activate@MuteConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
$T66484 = -36						; size = 4
_player$ = -32						; size = 8
$T66483 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@MuteConsoleFunction@@UAEXPAD@Z PROC		; MuteConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 368  : 	{

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

; 369  : 		if (!*text)

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

; 370  : 			return;
; 371  : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(atoi(text));

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

; 372  : 		if (!pData)

	test	edi, edi
	je	$LN7@Activate@2

; 373  : 			return;
; 374  : 		for (unsigned int i = 0; i < gzChat->m_muteList.Count(); i++)

	mov	eax, DWORD PTR ?gzChat@@3PAVgzChatManagerClass@@A ; gzChat
	mov	ecx, DWORD PTR [eax+100]
	xor	esi, esi
	test	ecx, ecx
	jbe	SHORT $LN2@Activate@2
$LN4@Activate@2:

; 375  : 		{
; 376  : 			if (gzChat->m_muteList[i] == pData->PlayerName.m_Buffer)

	push	esi
	lea	ecx, DWORD PTR $T66483[esp+52]
	push	ecx
	lea	ecx, DWORD PTR [eax+88]
	call	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
	mov	edx, DWORD PTR [edi+1880]
	push	edx
	mov	ecx, eax
	mov	DWORD PTR __$EHRec$[esp+60], 0
	call	??8aWideString@@QAE_NPB_W@Z		; aWideString::operator==
	lea	ecx, DWORD PTR $T66483[esp+48]
	mov	bl, al
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	SHORT $LN7@Activate@2
	mov	eax, DWORD PTR ?gzChat@@3PAVgzChatManagerClass@@A ; gzChat
	add	esi, 1
	cmp	esi, DWORD PTR [eax+100]
	jb	SHORT $LN4@Activate@2
$LN2@Activate@2:

; 377  : 				return;
; 378  : 		}
; 379  : 		aWideString player = pData->PlayerName.m_Buffer;

	mov	eax, DWORD PTR [edi+1880]
	push	eax
	lea	ecx, DWORD PTR _player$[esp+52]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString

; 380  : 		gzChat->m_muteList.Add(player);

	sub	esp, 8
	mov	esi, esp
	lea	ecx, DWORD PTR _player$[esp+56]
	mov	DWORD PTR $T66484[esp+56], esp
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+68], 1
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [esi], OFFSET ??_7aWideString@@6B@
	mov	ecx, DWORD PTR ?gzChat@@3PAVgzChatManagerClass@@A ; gzChat
	add	ecx, 88					; 00000058H
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add

; 381  : 		PagePlayer(pData->PlayerId, "You're now being muted.");

	mov	edx, DWORD PTR [edi+1884]
	push	OFFSET ??_C@_0BI@KPHBBOFD@You?8re?5now?5being?5muted?4?$AA@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 382  : 	}

	lea	ecx, DWORD PTR _player$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN7@Activate@2:
	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	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@MuteConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T66483[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@MuteConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _player$[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Activate@MuteConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@MuteConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@MuteConsoleFunction@@UAEXPAD@Z ENDP		; MuteConsoleFunction::Activate
PUBLIC	??_C@_05LNLLNJNI@?7?$CFls?6?$AA@		; `string'
PUBLIC	??_C@_0M@FPGCKPHL@Mute?5list?3?6?$AA@		; `string'
EXTRN	?Out@gzConsole@@SAXPBDZZ:PROC			; gzConsole::Out
;	COMDAT ??_C@_05LNLLNJNI@?7?$CFls?6?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_05LNLLNJNI@?7?$CFls?6?$AA@ DB 09H, '%ls', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@FPGCKPHL@Mute?5list?3?6?$AA@
CONST	SEGMENT
??_C@_0M@FPGCKPHL@Mute?5list?3?6?$AA@ DB 'Mute list:', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@MuteListConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@MuteListConsoleFunction@@UAEXPAD@Z$0
__ehfuncinfo$?Activate@MuteListConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Activate@MuteListConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.cpp
xdata$x	ENDS
;	COMDAT ?Activate@MuteListConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
$T66517 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@MuteListConsoleFunction@@UAEXPAD@Z PROC	; MuteListConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 397  : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@MuteListConsoleFunction@@UAEXPAD@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H
	push	esi

; 398  : 		gzConsole::Out("Mute list:\n");

	push	OFFSET ??_C@_0M@FPGCKPHL@Mute?5list?3?6?$AA@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out

; 399  : 		for (unsigned int i = 0; i < gzChat->m_muteList.Count(); i++)

	mov	eax, DWORD PTR ?gzChat@@3PAVgzChatManagerClass@@A ; gzChat
	xor	esi, esi
	add	esp, 4
	cmp	DWORD PTR [eax+100], esi
	jbe	SHORT $LN1@Activate@3
$LL3@Activate@3:

; 400  : 			gzConsole::Out("\t%ls\n", gzChat->m_muteList[i].GetString());

	push	esi
	lea	ecx, DWORD PTR $T66517[esp+36]
	push	ecx
	lea	ecx, DWORD PTR [eax+88]
	call	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+40], 0
	je	SHORT $LN11@Activate@3
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN12@Activate@3
$LN11@Activate@3:
	xor	eax, eax
$LN12@Activate@3:
	push	eax
	push	OFFSET ??_C@_05LNLLNJNI@?7?$CFls?6?$AA@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	add	esp, 8
	lea	ecx, DWORD PTR $T66517[esp+32]
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	eax, DWORD PTR ?gzChat@@3PAVgzChatManagerClass@@A ; gzChat
	add	esi, 1
	cmp	esi, DWORD PTR [eax+100]
	jb	SHORT $LL3@Activate@3
$LN1@Activate@3:

; 401  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	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@MuteListConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T66517[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Activate@MuteListConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@MuteListConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@MuteListConsoleFunction@@UAEXPAD@Z ENDP	; MuteListConsoleFunction::Activate
PUBLIC	??_C@_0BH@FIFECOHD@You?5have?5been?5unmuted?4?$AA@ ; `string'
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z:PROC ; gzPlayerManager::Find
;	COMDAT ??_C@_0BH@FIFECOHD@You?5have?5been?5unmuted?4?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BH@FIFECOHD@You?5have?5been?5unmuted?4?$AA@ DB 'You have been unmu'
	DB	'ted.', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@UnmuteConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@UnmuteConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@UnmuteConsoleFunction@@UAEXPAD@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@UnmuteConsoleFunction@@UAEXPAD@Z$2
__ehfuncinfo$?Activate@UnmuteConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Activate@UnmuteConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.cpp
xdata$x	ENDS
;	COMDAT ?Activate@UnmuteConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_nick$ = -32						; size = 8
$T66554 = -24						; size = 8
$T66553 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@UnmuteConsoleFunction@@UAEXPAD@Z PROC		; UnmuteConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 416  : 	{

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

; 417  : 		if (!*text)

	mov	eax, DWORD PTR _text$[ebp]
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	je	$LN7@Activate@4

; 418  : 			return;
; 419  : 		aWideString nick = text;

	push	eax
	lea	ecx, DWORD PTR _nick$[esp+44]
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString

; 420  : 		for (unsigned int i = 0; i < gzChat->m_muteList.Count(); i++)

	mov	eax, DWORD PTR ?gzChat@@3PAVgzChatManagerClass@@A ; gzChat
	xor	esi, esi
	cmp	DWORD PTR [eax+100], esi
	mov	DWORD PTR __$EHRec$[esp+48], 0
	jbe	$LN1@Activate@4
	npad	2
$LL5@Activate@4:

; 421  : 		{
; 422  : 			if (gzChat->m_muteList[i] == nick)

	push	esi
	lea	ecx, DWORD PTR $T66553[esp+44]
	push	ecx
	lea	ecx, DWORD PTR [eax+88]
	call	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
	lea	edx, DWORD PTR _nick$[esp+40]
	push	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+52], 1
	call	??8aWideString@@QAE_NABV0@@Z		; aWideString::operator==
	lea	ecx, DWORD PTR $T66553[esp+40]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+48], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	SHORT $LN32@Activate@4
	mov	eax, DWORD PTR ?gzChat@@3PAVgzChatManagerClass@@A ; gzChat
	add	esi, 1
	cmp	esi, DWORD PTR [eax+100]
	jb	SHORT $LL5@Activate@4
	jmp	SHORT $LN1@Activate@4
$LN32@Activate@4:

; 423  : 			{
; 424  : 				gzChat->m_muteList.Delete(i);

	mov	ecx, DWORD PTR ?gzChat@@3PAVgzChatManagerClass@@A ; gzChat
	mov	eax, DWORD PTR [ecx+88]
	mov	edx, DWORD PTR [eax+20]
	add	ecx, 88					; 00000058H
	push	esi
	call	edx

; 425  : 
; 426  : 				gzPlayer *gzData = gzPlayerManager::Find(nick.GetString());

	mov	eax, DWORD PTR _nick$[esp+44]
	test	eax, eax
	je	SHORT $LN19@Activate@4
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN20@Activate@4
$LN19@Activate@4:
	xor	eax, eax
$LN20@Activate@4:
	push	eax
	lea	ecx, DWORD PTR $T66554[esp+44]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	lea	eax, DWORD PTR $T66554[esp+40]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+52], 2
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ; gzPlayerManager::Find
	add	esp, 4
	lea	ecx, DWORD PTR $T66554[esp+40]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+48], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 427  : 				if (gzData)

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

; 428  : 					PagePlayer(gzData->GetPlayerData()->PlayerId, "You have been unmuted.");

	mov	esi, DWORD PTR [esi+72]
	mov	ecx, DWORD PTR [esi+1884]
	push	OFFSET ??_C@_0BH@FIFECOHD@You?5have?5been?5unmuted?4?$AA@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN1@Activate@4:

; 429  : 				break;
; 430  : 			}
; 431  : 		}
; 432  : 	}

	lea	ecx, DWORD PTR _nick$[esp+40]
	mov	DWORD PTR __$EHRec$[esp+48], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN7@Activate@4:
	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	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@UnmuteConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR _nick$[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@UnmuteConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR $T66553[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@UnmuteConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T66554[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Activate@UnmuteConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@UnmuteConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@UnmuteConsoleFunction@@UAEXPAD@Z ENDP		; UnmuteConsoleFunction::Activate
PUBLIC	?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ; std::_DebugHeapAllocator<char>::deallocate
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
;	COMDAT ?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z PROC ; std::_DebugHeapAllocator<char>::deallocate, COMDAT
; _this$ = ecx

; 102  : 		_DELETE_CRT_VEC(_Ptr);

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

; 103  : 		}

	ret	8
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ENDP ; std::_DebugHeapAllocator<char>::deallocate
_TEXT	ENDS
PUBLIC	??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

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		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	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@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

; 36   : 	};

	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	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@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

; 114  : 	{

	push	esi
	push	edi

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

; 116  : 			return;
; 117  : 		this->m_vector[index]->DecRef();

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+edi*4]
	call	?DecRef@aStringData@@QAEXXZ		; aStringData::DecRef

; 118  : 		this->aVector<aStringData*>::Delete(index);

	push	edi
	mov	ecx, esi
	call	?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z ; aVector<aStringData *>::Delete
$LN2@Delete@3:
	pop	edi
	pop	esi

; 119  : 	};

	ret	4
?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z ENDP	; aStringArrayBase<aWideString>::Delete
_TEXT	ENDS
PUBLIC	??1?$aList@UgzAutoCompleteStruct@@@@UAE@XZ	; aList<gzAutoCompleteStruct>::~aList<gzAutoCompleteStruct>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\alist.h
;	COMDAT ??1?$aList@UgzAutoCompleteStruct@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aList@UgzAutoCompleteStruct@@@@UAE@XZ PROC		; aList<gzAutoCompleteStruct>::~aList<gzAutoCompleteStruct>, COMDAT
; _this$ = ecx

; 39   : 	{

	mov	DWORD PTR [ecx], OFFSET ??_7?$aList@UgzAutoCompleteStruct@@@@6B@

; 40   : 		this->RemoveAll();

	jmp	?RemoveAll@?$aList@UgzAutoCompleteStruct@@@@UAEXXZ ; aList<gzAutoCompleteStruct>::RemoveAll
??1?$aList@UgzAutoCompleteStruct@@@@UAE@XZ ENDP		; aList<gzAutoCompleteStruct>::~aList<gzAutoCompleteStruct>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertAfter@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@0@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_afterData$ = 12					; size = 4
?InsertAfter@?$aList@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@0@Z PROC ; aList<gzAutoCompleteStruct>::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@DJFGAGNF@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@UgzAutoCompleteStruct@@@@UAE_NPAUgzAutoCompleteStruct@@0@Z ENDP ; aList<gzAutoCompleteStruct>::InsertAfter
_TEXT	ENDS
PUBLIC	??1?$aList@UgzTextFilterStruct@@@@UAE@XZ	; aList<gzTextFilterStruct>::~aList<gzTextFilterStruct>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aList@UgzTextFilterStruct@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aList@UgzTextFilterStruct@@@@UAE@XZ PROC		; aList<gzTextFilterStruct>::~aList<gzTextFilterStruct>, COMDAT
; _this$ = ecx

; 39   : 	{

	mov	DWORD PTR [ecx], OFFSET ??_7?$aList@UgzTextFilterStruct@@@@6B@

; 40   : 		this->RemoveAll();

	jmp	?RemoveAll@?$aList@UgzTextFilterStruct@@@@UAEXXZ ; aList<gzTextFilterStruct>::RemoveAll
??1?$aList@UgzTextFilterStruct@@@@UAE@XZ ENDP		; aList<gzTextFilterStruct>::~aList<gzTextFilterStruct>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertAfter@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@0@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_afterData$ = 12					; size = 4
?InsertAfter@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@0@Z PROC ; aList<gzTextFilterStruct>::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@2
	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@2
$LL5@InsertAfte@2:

; 126  : 			{
; 127  : 				if (list->data == afterData)

	cmp	DWORD PTR [esi+4], ebx
	je	SHORT $LN14@InsertAfte@2
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL5@InsertAfte@2
	pop	esi
	pop	edi

; 136  : 					break;
; 137  : 				}
; 138  : 			}
; 139  : 		}
; 140  : 		return false;

	xor	al, al
	pop	ebx

; 141  : 	};

	ret	8
$LN14@InsertAfte@2:

; 128  : 				{
; 129  : 					aListNode<T>* newNode = new aListNode<T>;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	129					; 00000081H
	push	OFFSET ??_C@_0CE@DJFGAGNF@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@2
	cmp	ebx, DWORD PTR [ecx+4]
	jne	SHORT $LN1@InsertAfte@2

; 134  : 						this->m_Tail = newNode;

	mov	DWORD PTR [edi+12], eax
$LN1@InsertAfte@2:

; 135  : 					this->m_count++;

	add	DWORD PTR [edi+4], 1
$LN16@InsertAfte@2:
	pop	esi
$LN17@InsertAfte@2:
	pop	edi

; 136  : 					break;
; 137  : 				}
; 138  : 			}
; 139  : 		}
; 140  : 		return false;

	xor	al, al
	pop	ebx

; 141  : 	};

	ret	8
?InsertAfter@?$aList@UgzTextFilterStruct@@@@UAE_NPAUgzTextFilterStruct@@0@Z ENDP ; aList<gzTextFilterStruct>::InsertAfter
_TEXT	ENDS
PUBLIC	??1?$aVector@PAVgzChatCommandBase@@@@UAE@XZ	; aVector<gzChatCommandBase *>::~aVector<gzChatCommandBase *>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??1?$aVector@PAVgzChatCommandBase@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAVgzChatCommandBase@@@@UAE@XZ PROC	; aVector<gzChatCommandBase *>::~aVector<gzChatCommandBase *>, COMDAT
; _this$ = ecx

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVgzChatCommandBase@@@@6B@
	je	SHORT $LN8@aVector@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@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

; 36   : 	};

	ret	0
??1?$aVector@PAVgzChatCommandBase@@@@UAE@XZ ENDP	; aVector<gzChatCommandBase *>::~aVector<gzChatCommandBase *>
_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@8
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@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@8:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@8
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@8:
	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?$aList@UgzAutoCompleteStruct@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aList@UgzAutoCompleteStruct@@@@UAEPAXI@Z PROC	; aList<gzAutoCompleteStruct>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$aList@UgzAutoCompleteStruct@@@@6B@
	call	?RemoveAll@?$aList@UgzAutoCompleteStruct@@@@UAEXXZ ; aList<gzAutoCompleteStruct>::RemoveAll
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN6@scalar@9
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN6@scalar@9:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aList@UgzAutoCompleteStruct@@@@UAEPAXI@Z ENDP	; aList<gzAutoCompleteStruct>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aList@UgzTextFilterStruct@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aList@UgzTextFilterStruct@@@@UAEPAXI@Z PROC	; aList<gzTextFilterStruct>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$aList@UgzTextFilterStruct@@@@6B@
	call	?RemoveAll@?$aList@UgzTextFilterStruct@@@@UAEXXZ ; aList<gzTextFilterStruct>::RemoveAll
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN6@scalar@10
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN6@scalar@10:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aList@UgzTextFilterStruct@@@@UAEPAXI@Z ENDP	; aList<gzTextFilterStruct>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAVgzChatCommandBase@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAVgzChatCommandBase@@@@UAEPAXI@Z PROC	; aVector<gzChatCommandBase *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVgzChatCommandBase@@@@6B@
	je	SHORT $LN6@scalar@11
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@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@PAVgzChatCommandBase@@@@UAEPAXI@Z ENDP	; aVector<gzChatCommandBase *>::`scalar deleting destructor'
_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	??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>
; 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@12
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@12:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z ENDP	; aStringArrayBase<aWideString>::`scalar deleting destructor'
_TEXT	ENDS
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	??1gzTextFilterStruct@@QAE@XZ			; gzTextFilterStruct::~gzTextFilterStruct
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzTextFilterStruct@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzTextFilterStruct@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1gzTextFilterStruct@@QAE@XZ$1
__ehfuncinfo$??1gzTextFilterStruct@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??1gzTextFilterStruct@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzTextFilterStruct@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzTextFilterStruct@@QAE@XZ PROC			; gzTextFilterStruct::~gzTextFilterStruct, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzTextFilterStruct@@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+40]
	mov	DWORD PTR __$EHRec$[esp+28], 1
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	lea	ecx, DWORD PTR [esi+24]
	mov	BYTE PTR __$EHRec$[esp+28], 0
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	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$??1gzTextFilterStruct@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??1gzTextFilterStruct@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1aWideStringArray@@UAE@XZ
__ehhandler$??1gzTextFilterStruct@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzTextFilterStruct@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzTextFilterStruct@@QAE@XZ ENDP			; gzTextFilterStruct::~gzTextFilterStruct
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@13
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@13:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideStringArray@@UAEPAXI@Z ENDP			; aWideStringArray::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_GgzChatCommandBase@@QAEPAXI@Z		; gzChatCommandBase::`scalar deleting destructor'
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzChatCommandBase@@QAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzChatCommandBase@@QAEPAXI@Z PROC			; gzChatCommandBase::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzChatCommandBase@@QAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@14
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@14:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzChatCommandBase@@QAEPAXI@Z ENDP			; gzChatCommandBase::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_GgzTextFilterStruct@@QAEPAXI@Z		; gzTextFilterStruct::`scalar deleting destructor'
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzTextFilterStruct@@QAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzTextFilterStruct@@QAEPAXI@Z PROC			; gzTextFilterStruct::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzTextFilterStruct@@QAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@15
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@15:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzTextFilterStruct@@QAEPAXI@Z ENDP			; gzTextFilterStruct::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0gzTextFilterStruct@@QAE@XZ			; gzTextFilterStruct::gzTextFilterStruct
EXTRN	??0aString@@QAE@XZ:PROC				; aString::aString
; Function compile flags: /Ogtpy
;	COMDAT ??0gzTextFilterStruct@@QAE@XZ
_TEXT	SEGMENT
??0gzTextFilterStruct@@QAE@XZ PROC			; gzTextFilterStruct::gzTextFilterStruct, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0aString@@QAE@XZ			; aString::aString
	xor	eax, eax
	mov	DWORD PTR [esi+28], eax
	mov	DWORD PTR [esi+32], eax
	mov	DWORD PTR [esi+36], eax
	mov	ecx, OFFSET ??_7aWideStringArray@@6B@
	mov	DWORD PTR [esi+24], ecx
	mov	DWORD PTR [esi+44], eax
	mov	DWORD PTR [esi+48], eax
	mov	DWORD PTR [esi+52], eax
	mov	DWORD PTR [esi+40], ecx
	mov	eax, esi
	pop	esi
	ret	0
??0gzTextFilterStruct@@QAE@XZ ENDP			; gzTextFilterStruct::gzTextFilterStruct
_TEXT	ENDS
PUBLIC	??_7gzChatManagerClass@@6B@			; gzChatManagerClass::`vftable'
PUBLIC	??0gzChatManagerClass@@QAE@XZ			; gzChatManagerClass::gzChatManagerClass
PUBLIC	??_R4gzChatManagerClass@@6B@			; gzChatManagerClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChatManagerClass@@@8			; gzChatManagerClass `RTTI Type Descriptor'
PUBLIC	??_R3gzChatManagerClass@@8			; gzChatManagerClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChatManagerClass@@8			; gzChatManagerClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChatManagerClass@@8		; gzChatManagerClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetName@gzChatManagerClass@@UAEPBDXZ		; gzChatManagerClass::GetName
PUBLIC	?Delete@gzChatManagerClass@@UAEXXZ		; gzChatManagerClass::Delete
PUBLIC	?Level_Loaded@gzChatManagerClass@@UAEXXZ	; gzChatManagerClass::Level_Loaded
EXTRN	??_EgzChatManagerClass@@UAEPAXI@Z:PROC		; gzChatManagerClass::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzChatManagerClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChatManagerClass@@8 DD FLAT:??_R0?AVgzChatManagerClass@@@8 ; gzChatManagerClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChatManagerClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChatManagerClass@@8
rdata$r	SEGMENT
??_R2gzChatManagerClass@@8 DD FLAT:??_R1A@?0A@EA@gzChatManagerClass@@8 ; gzChatManagerClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzEvtHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChatManagerClass@@8
rdata$r	SEGMENT
??_R3gzChatManagerClass@@8 DD 00H			; gzChatManagerClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2gzChatManagerClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChatManagerClass@@@8
_DATA	SEGMENT
??_R0?AVgzChatManagerClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzChatManagerClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChatManagerClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChatManagerClass@@6B@
rdata$r	SEGMENT
??_R4gzChatManagerClass@@6B@ DD 00H			; gzChatManagerClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChatManagerClass@@@8
	DD	FLAT:??_R3gzChatManagerClass@@8
rdata$r	ENDS
;	COMDAT ??_7gzChatManagerClass@@6B@
CONST	SEGMENT
??_7gzChatManagerClass@@6B@ DD FLAT:??_R4gzChatManagerClass@@6B@ ; gzChatManagerClass::`vftable'
	DD	FLAT:??_EgzChatManagerClass@@UAEPAXI@Z
	DD	FLAT:?GetName@gzChatManagerClass@@UAEPBDXZ
	DD	FLAT:?Delete@gzChatManagerClass@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzChatManagerClass@@UAEXXZ
	DD	FLAT:?Level_Ended@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Think@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@gzChatManagerClass@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@gzChatManagerClass@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzChatManagerClass@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzChatManagerClass@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzChatManagerClass@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzChatManagerClass@@QAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0gzChatManagerClass@@QAE@XZ$3
__ehfuncinfo$??0gzChatManagerClass@@QAE@XZ DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??0gzChatManagerClass@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.cpp
xdata$x	ENDS
;	COMDAT ??0gzChatManagerClass@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzChatManagerClass@@QAE@XZ PROC			; gzChatManagerClass::gzChatManagerClass, COMDAT
; _this$ = ecx

; 10   : {

	push	-1
	push	__ehhandler$??0gzChatManagerClass@@QAE@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
	call	??0gzEvtHandler@@QAE@XZ			; gzEvtHandler::gzEvtHandler
	xor	edi, edi
	mov	DWORD PTR [esi], OFFSET ??_7gzChatManagerClass@@6B@
	mov	DWORD PTR __$EHRec$[esp+32], edi
	mov	DWORD PTR [esi+36], OFFSET ??_7?$aList@UgzAutoCompleteStruct@@@@6B@
	mov	DWORD PTR [esi+44], edi
	mov	DWORD PTR [esi+48], edi
	mov	DWORD PTR [esi+40], edi
	mov	DWORD PTR [esi+52], OFFSET ??_7?$aList@UgzTextFilterStruct@@@@6B@
	mov	DWORD PTR [esi+60], edi
	mov	DWORD PTR [esi+64], edi
	mov	DWORD PTR [esi+56], edi
	mov	DWORD PTR [esi+92], edi
	mov	DWORD PTR [esi+96], edi
	mov	DWORD PTR [esi+100], edi
	mov	DWORD PTR [esi+88], OFFSET ??_7aWideStringArray@@6B@

; 11   : 	this->RegisterEvent(gzEVT_GAME_LEVEL_LOADED);

	push	edi
	push	4096					; 00001000H
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+40], 3
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 12   : 	this->RegisterEvent(gzEVT_PLAYER_CHAT);

	push	edi
	push	8195					; 00002003H
	mov	ecx, esi
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 13   : 	this->RegisterEvent(gzEVT_NET_WOLPAGE);

	push	edi
	push	16384					; 00004000H
	mov	ecx, esi
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 14   : 
; 15   : 	this->m_autoCompleteModTime = 0;
; 16   : 	this->m_textFilterModTime = 0;
; 17   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	DWORD PTR [esi+72], edi
	mov	DWORD PTR [esi+76], edi
	mov	DWORD PTR [esi+80], edi
	mov	DWORD PTR [esi+84], edi
	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$??0gzChatManagerClass@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
__unwindfunclet$??0gzChatManagerClass@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 36					; 00000024H
	jmp	??1?$aList@UgzAutoCompleteStruct@@@@UAE@XZ ; aList<gzAutoCompleteStruct>::~aList<gzAutoCompleteStruct>
__unwindfunclet$??0gzChatManagerClass@@QAE@XZ$2:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 52					; 00000034H
	jmp	??1?$aList@UgzTextFilterStruct@@@@UAE@XZ ; aList<gzTextFilterStruct>::~aList<gzTextFilterStruct>
__unwindfunclet$??0gzChatManagerClass@@QAE@XZ$3:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 88					; 00000058H
	jmp	??1aWideStringArray@@UAE@XZ
__ehhandler$??0gzChatManagerClass@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzChatManagerClass@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzChatManagerClass@@QAE@XZ ENDP			; gzChatManagerClass::gzChatManagerClass
PUBLIC	??_C@_0BD@DJDOPGGL@gzChatManagerClass?$AA@	; `string'
;	COMDAT ??_C@_0BD@DJDOPGGL@gzChatManagerClass?$AA@
; File d:\source code\gzgm\gzchat.h
CONST	SEGMENT
??_C@_0BD@DJDOPGGL@gzChatManagerClass?$AA@ DB 'gzChatManagerClass', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzChatManagerClass@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzChatManagerClass@@UAEPBDXZ PROC		; gzChatManagerClass::GetName, COMDAT
; _this$ = ecx

; 50   : 		return "gzChatManagerClass";

	mov	eax, OFFSET ??_C@_0BD@DJDOPGGL@gzChatManagerClass?$AA@

; 51   : 	};

	ret	0
?GetName@gzChatManagerClass@@UAEPBDXZ ENDP		; gzChatManagerClass::GetName
_TEXT	ENDS
PUBLIC	??1gzChatManagerClass@@UAE@XZ			; gzChatManagerClass::~gzChatManagerClass
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzChatManagerClass@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzChatManagerClass@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1gzChatManagerClass@@UAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??1gzChatManagerClass@@UAE@XZ$2
__ehfuncinfo$??1gzChatManagerClass@@UAE@XZ DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??1gzChatManagerClass@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzChatManagerClass@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzChatManagerClass@@UAE@XZ PROC			; gzChatManagerClass::~gzChatManagerClass, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzChatManagerClass@@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+88]
	mov	DWORD PTR __$EHRec$[esp+28], 2
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	lea	ecx, DWORD PTR [esi+52]
	mov	BYTE PTR __$EHRec$[esp+28], 1
	mov	DWORD PTR [ecx], OFFSET ??_7?$aList@UgzTextFilterStruct@@@@6B@
	call	?RemoveAll@?$aList@UgzTextFilterStruct@@@@UAEXXZ ; aList<gzTextFilterStruct>::RemoveAll
	lea	ecx, DWORD PTR [esi+36]
	mov	BYTE PTR __$EHRec$[esp+28], 0
	mov	DWORD PTR [ecx], OFFSET ??_7?$aList@UgzAutoCompleteStruct@@@@6B@
	call	?RemoveAll@?$aList@UgzAutoCompleteStruct@@@@UAEXXZ ; aList<gzAutoCompleteStruct>::RemoveAll
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
	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$??1gzChatManagerClass@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
__unwindfunclet$??1gzChatManagerClass@@UAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 36					; 00000024H
	jmp	??1?$aList@UgzAutoCompleteStruct@@@@UAE@XZ ; aList<gzAutoCompleteStruct>::~aList<gzAutoCompleteStruct>
__unwindfunclet$??1gzChatManagerClass@@UAE@XZ$2:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 52					; 00000034H
	jmp	??1?$aList@UgzTextFilterStruct@@@@UAE@XZ ; aList<gzTextFilterStruct>::~aList<gzTextFilterStruct>
__ehhandler$??1gzChatManagerClass@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzChatManagerClass@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzChatManagerClass@@UAE@XZ ENDP			; gzChatManagerClass::~gzChatManagerClass
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzChatManagerClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzChatManagerClass@@UAEPAXI@Z PROC			; gzChatManagerClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzChatManagerClass@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@16
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@16:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzChatManagerClass@@UAEPAXI@Z ENDP			; gzChatManagerClass::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0N@OPNIKJJI@?4?2gzchat?4cpp?$AA@		; `string'
;	COMDAT ??_C@_0N@OPNIKJJI@?4?2gzchat?4cpp?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0N@OPNIKJJI@?4?2gzchat?4cpp?$AA@ DB '.\gzchat.cpp', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Delete@gzChatManagerClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Delete@gzChatManagerClass@@UAEXXZ$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Delete@gzChatManagerClass@@UAEXXZ$4
	DD	01H
	DD	FLAT:__unwindfunclet$?Delete@gzChatManagerClass@@UAEXXZ$5
__ehfuncinfo$?Delete@gzChatManagerClass@@UAEXXZ DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Delete@gzChatManagerClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.cpp
xdata$x	ENDS
;	COMDAT ?Delete@gzChatManagerClass@@UAEXXZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T67000 = -16						; size = 4
$T66994 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Delete@gzChatManagerClass@@UAEXXZ PROC			; gzChatManagerClass::Delete, COMDAT
; _this$ = ecx

; 19   : {

	push	-1
	push	__ehhandler$?Delete@gzChatManagerClass@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	push	ebx
	push	ebp
	push	esi
	push	edi

; 20   : 	for (unsigned int i = 0; i < this->m_chatCommandList.Count(); i++)

	xor	ebx, ebx
	mov	ebp, ecx
	xor	edi, edi
	cmp	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, ebx
	mov	DWORD PTR _this$[esp+36], ebp
	jbe	SHORT $LN80@Delete@4
	npad	2
$LL9@Delete@4:

; 21   : 	{
; 22   : 		//this->m_chatCommandList[i]->m_commandList.Clear();
; 23   : 		//this->m_chatCommandList[i]->m_keyhook_Key.Free_String();
; 24   : 		//this->m_chatCommandList[i]->m_keyhook_Param.Free_String();
; 25   : 		delete this->m_chatCommandList[i];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	25					; 00000019H
	push	OFFSET ??_C@_0N@OPNIKJJI@?4?2gzchat?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	esi, DWORD PTR [eax+edi*4]
	add	esp, 12					; 0000000cH
	cmp	esi, ebx
	je	SHORT $LN8@Delete@4
	mov	ecx, esi
	call	??1gzChatCommandBase@@QAE@XZ
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN8@Delete@4:
	add	edi, 1
	cmp	edi, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	jb	SHORT $LL9@Delete@4
$LN80@Delete@4:

; 26   : 	}
; 27   : 	this->m_chatCommandList.Clear();

	cmp	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4, ebx
	je	SHORT $LN31@Delete@4
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4, ebx
$LN31@Delete@4:

; 28   : 
; 29   : 	for (aListNode<gzAutoCompleteStruct>* list = this->m_autoComplete.GetHead(); list != NULL; list = list->GetNext())

	add	ebp, 36					; 00000024H
	mov	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8, ebx
	mov	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, ebx
	mov	edx, DWORD PTR [ebp]
	mov	eax, DWORD PTR [edx+4]
	mov	ecx, ebp
	call	eax
	mov	edi, eax
	cmp	edi, ebx
	je	SHORT $LN4@Delete@4
	npad	8
$LL36@Delete@4:

; 30   : 		delete list->GetData();

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	30					; 0000001eH
	push	OFFSET ??_C@_0N@OPNIKJJI@?4?2gzchat?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	esi, DWORD PTR [edi+4]
	add	esp, 12					; 0000000cH
	cmp	esi, ebx
	mov	DWORD PTR $T66994[esp+36], esi
	je	SHORT $LN5@Delete@4
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+44], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+44], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN5@Delete@4:
	mov	edi, DWORD PTR [edi]
	cmp	edi, ebx
	jne	SHORT $LL36@Delete@4
$LN4@Delete@4:

; 31   : 	this->m_autoComplete.RemoveAll();

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

; 32   : 
; 33   : 	for (aListNode<gzTextFilterStruct>* list = this->m_textFilter.GetHead(); list != NULL; list = list->GetNext())

	mov	ebp, DWORD PTR _this$[esp+36]
	mov	edx, DWORD PTR [ebp+52]
	mov	eax, DWORD PTR [edx+4]
	add	ebp, 52					; 00000034H
	mov	ecx, ebp
	call	eax
	mov	edi, eax
	cmp	edi, ebx
	je	SHORT $LN1@Delete@4
	mov	ebx, 2
	npad	1
$LL53@Delete@4:

; 34   : 		delete list->GetData();

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	34					; 00000022H
	push	OFFSET ??_C@_0N@OPNIKJJI@?4?2gzchat?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	esi, DWORD PTR [edi+4]
	add	esp, 12					; 0000000cH
	test	esi, esi
	mov	DWORD PTR $T67000[esp+36], esi
	je	SHORT $LN2@Delete@4
	lea	ecx, DWORD PTR [esi+40]
	mov	DWORD PTR __$EHRec$[esp+44], ebx
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	lea	ecx, DWORD PTR [esi+24]
	mov	BYTE PTR __$EHRec$[esp+44], 1
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+44], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN2@Delete@4:
	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $LL53@Delete@4
$LN1@Delete@4:

; 35   : 	this->m_textFilter.RemoveAll();

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

; 36   : 
; 37   : 	this->m_muteList.Clear();

	mov	ecx, DWORD PTR _this$[esp+36]
	mov	edx, DWORD PTR [ecx+88]
	mov	eax, DWORD PTR [edx+4]
	add	ecx, 88					; 00000058H
	call	eax

; 38   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Delete@gzChatManagerClass@@UAEXXZ$0:
	mov	ecx, DWORD PTR $T66994[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Delete@gzChatManagerClass@@UAEXXZ$4:
	mov	ecx, DWORD PTR $T67000[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Delete@gzChatManagerClass@@UAEXXZ$5:
	mov	ecx, DWORD PTR $T67000[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1aWideStringArray@@UAE@XZ
__ehhandler$?Delete@gzChatManagerClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Delete@gzChatManagerClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Delete@gzChatManagerClass@@UAEXXZ ENDP			; gzChatManagerClass::Delete
PUBLIC	??_C@_05JNJINIGK@REGEX?$AA@			; `string'
PUBLIC	??_C@_08OJKDCEEB@WILDCARD?$AA@			; `string'
PUBLIC	??_C@_04DHIGGNDH@NORM?$AA@			; `string'
PUBLIC	??_C@_09NICECIEO@?$CFs?4Enable?$AA@		; `string'
PUBLIC	??_C@_03MLIHNEFJ@LOG?$AA@			; `string'
PUBLIC	??_C@_06CJHLBMGC@Option?$AA@			; `string'
PUBLIC	??_C@_07MBOMJGGF@Compare?$AA@			; `string'
PUBLIC	??_C@_04GMALBPFJ@TEAM?$AA@			; `string'
PUBLIC	??_C@_03NIFPGLBG@ALL?$AA@			; `string'
PUBLIC	??_C@_04KOACHJEN@Type?$AA@			; `string'
PUBLIC	??_C@_06CKGENIKG@Enable?$AA@			; `string'
PUBLIC	??_C@_06ENNEIMBA@String?$AA@			; `string'
PUBLIC	??_C@_07FDIJADGH@?$CFs?4?$FL?$CFd?$FN?$AA@	; `string'
PUBLIC	??_C@_01GBGANLPD@0?$AA@				; `string'
PUBLIC	??_C@_04KBDJOJNB@?$FL?$CFd?$FN?$AA@		; `string'
PUBLIC	??_C@_0P@DDIDEIAD@TextFilter?4ini?$AA@		; `string'
PUBLIC	??_C@_0BC@JFLNBGDA@AutoComplete?4?$FL?$CFd?$FN?$AA@ ; `string'
PUBLIC	??_C@_0N@FGLBBGBJ@AutoComplete?$AA@		; `string'
PUBLIC	??_C@_0BB@IEMFLDMH@AutoComplete?4ini?$AA@	; `string'
EXTRN	??0aString@@QAE@H@Z:PROC			; aString::aString
EXTRN	??8aString@@QAE_NPBD@Z:PROC			; aString::operator==
EXTRN	??4aString@@QAEAAV0@ABV0@@Z:PROC		; aString::operator=
EXTRN	?GetRootCount@aConfigBase@@UAEHXZ:PROC		; aConfigBase::GetRootCount
EXTRN	??1aTextConfig@@UAE@XZ:PROC			; aTextConfig::~aTextConfig
EXTRN	?GetData@aConfigBase@@UAE?AVaString@@ABV2@0@Z:PROC ; aConfigBase::GetData
EXTRN	?GetItem@aConfigBase@@UAE?AVaString@@ABV2@0@Z:PROC ; aConfigBase::GetItem
EXTRN	?GetSubCount@aConfigBase@@UAEHABVaWideString@@@Z:PROC ; aConfigBase::GetSubCount
EXTRN	?IsLoaded@aTextConfig@@UAE_NXZ:PROC		; aTextConfig::IsLoaded
EXTRN	??0aTextConfig@@QAE@ABVaString@@_N@Z:PROC	; aTextConfig::aTextConfig
;	COMDAT ??_C@_05JNJINIGK@REGEX?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_05JNJINIGK@REGEX?$AA@ DB 'REGEX', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_08OJKDCEEB@WILDCARD?$AA@
CONST	SEGMENT
??_C@_08OJKDCEEB@WILDCARD?$AA@ DB 'WILDCARD', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_04DHIGGNDH@NORM?$AA@
CONST	SEGMENT
??_C@_04DHIGGNDH@NORM?$AA@ DB 'NORM', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_09NICECIEO@?$CFs?4Enable?$AA@
CONST	SEGMENT
??_C@_09NICECIEO@?$CFs?4Enable?$AA@ DB '%s.Enable', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_03MLIHNEFJ@LOG?$AA@
CONST	SEGMENT
??_C@_03MLIHNEFJ@LOG?$AA@ DB 'LOG', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_06CJHLBMGC@Option?$AA@
CONST	SEGMENT
??_C@_06CJHLBMGC@Option?$AA@ DB 'Option', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07MBOMJGGF@Compare?$AA@
CONST	SEGMENT
??_C@_07MBOMJGGF@Compare?$AA@ DB 'Compare', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_04GMALBPFJ@TEAM?$AA@
CONST	SEGMENT
??_C@_04GMALBPFJ@TEAM?$AA@ DB 'TEAM', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03NIFPGLBG@ALL?$AA@
CONST	SEGMENT
??_C@_03NIFPGLBG@ALL?$AA@ DB 'ALL', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_04KOACHJEN@Type?$AA@
CONST	SEGMENT
??_C@_04KOACHJEN@Type?$AA@ DB 'Type', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_06CKGENIKG@Enable?$AA@
CONST	SEGMENT
??_C@_06CKGENIKG@Enable?$AA@ DB 'Enable', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_06ENNEIMBA@String?$AA@
CONST	SEGMENT
??_C@_06ENNEIMBA@String?$AA@ DB 'String', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07FDIJADGH@?$CFs?4?$FL?$CFd?$FN?$AA@
CONST	SEGMENT
??_C@_07FDIJADGH@?$CFs?4?$FL?$CFd?$FN?$AA@ DB '%s.[%d]', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_01GBGANLPD@0?$AA@
CONST	SEGMENT
??_C@_01GBGANLPD@0?$AA@ DB '0', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_04KBDJOJNB@?$FL?$CFd?$FN?$AA@
CONST	SEGMENT
??_C@_04KBDJOJNB@?$FL?$CFd?$FN?$AA@ DB '[%d]', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@DDIDEIAD@TextFilter?4ini?$AA@
CONST	SEGMENT
??_C@_0P@DDIDEIAD@TextFilter?4ini?$AA@ DB 'TextFilter.ini', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@JFLNBGDA@AutoComplete?4?$FL?$CFd?$FN?$AA@
CONST	SEGMENT
??_C@_0BC@JFLNBGDA@AutoComplete?4?$FL?$CFd?$FN?$AA@ DB 'AutoComplete.[%d]'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@FGLBBGBJ@AutoComplete?$AA@
CONST	SEGMENT
??_C@_0N@FGLBBGBJ@AutoComplete?$AA@ DB 'AutoComplete', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@IEMFLDMH@AutoComplete?4ini?$AA@
CONST	SEGMENT
??_C@_0BB@IEMFLDMH@AutoComplete?4ini?$AA@ DB 'AutoComplete.ini', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Level_Loaded@gzChatManagerClass@@UAEXXZ DD 019930522H
	DD	036H
	DD	FLAT:__unwindtable$?Level_Loaded@gzChatManagerClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Level_Loaded@gzChatManagerClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$44
	DD	02H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$3
	DD	05H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$49
	DD	02H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$4
	DD	07H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$5
	DD	08H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$6
	DD	09H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$7
	DD	02H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$8
	DD	0bH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$9
	DD	0cH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$10
	DD	0dH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$11
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$12
	DD	0fH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$13
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$13
	DD	011H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$60
	DD	012H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$61
	DD	011H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$14
	DD	011H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$15
	DD	015H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$16
	DD	016H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$17
	DD	011H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$18
	DD	011H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$19
	DD	019H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$20
	DD	01aH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$21
	DD	019H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$21
	DD	011H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$21
	DD	01dH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$22
	DD	01eH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$23
	DD	01fH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$24
	DD	01eH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$24
	DD	01dH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$24
	DD	022H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$77
	DD	022H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$26
	DD	024H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$27
	DD	022H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$27
	DD	026H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$28
	DD	027H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$29
	DD	028H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$30
	DD	026H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$31
	DD	02aH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$32
	DD	026H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$33
	DD	02cH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$34
	DD	026H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$35
	DD	02eH
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$36
	DD	026H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$37
	DD	030H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$38
	DD	026H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$39
	DD	032H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$40
	DD	026H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$41
	DD	034H
	DD	FLAT:__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$42
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.cpp
xdata$x	ENDS
;	COMDAT ?Level_Loaded@gzChatManagerClass@@UAEXXZ
_TEXT	SEGMENT
_dataTok$57796 = -392					; size = 4
$T67128 = -385						; size = 1
_option$57781 = -384					; size = 8
$T67129 = -384						; size = 8
_i$57762 = -376						; size = 4
_this$ = -376						; size = 4
_j$57775 = -372						; size = 4
$T67152 = -372						; size = 4
tv999 = -368						; size = 4
$T67131 = -368						; size = 4
$T67122 = -368						; size = 4
$T67187 = -364						; size = 8
$T67140 = -364						; size = 8
$T67175 = -356						; size = 8
$T67141 = -356						; size = 8
$T67184 = -348						; size = 8
$T67121 = -348						; size = 8
$T67181 = -340						; size = 8
$T67136 = -340						; size = 8
$T67178 = -332						; size = 8
$T67137 = -332						; size = 8
$T67185 = -324						; size = 4
$T67145 = -324						; size = 4
$T67161 = -320						; size = 8
$T67167 = -312						; size = 8
$T67138 = -312						; size = 8
$T67168 = -304						; size = 8
$T67139 = -304						; size = 8
$T67162 = -296						; size = 8
$T67142 = -296						; size = 8
_data$57787 = -288					; size = 8
$T67164 = -280						; size = 8
$T67143 = -280						; size = 8
$T67172 = -272						; size = 8
$T67179 = -264						; size = 4
$T67182 = -260						; size = 4
$T67176 = -256						; size = 4
$T67188 = -252						; size = 4
$T67490 = -248						; size = 8
$T67173 = -236						; size = 4
$T67144 = -232						; size = 8
$T67157 = -224						; size = 8
$T67165 = -216						; size = 8
$T67170 = -208						; size = 8
$T67169 = -200						; size = 8
$T67163 = -192						; size = 8
$T67159 = -184						; size = 8
$T67158 = -176						; size = 8
_tfcfg$57752 = -168					; size = 52
_accfg$57719 = -116					; size = 52
_attrib$ = -64						; size = 48
__$EHRec$ = -12						; size = 12
?Level_Loaded@gzChatManagerClass@@UAEXXZ PROC		; gzChatManagerClass::Level_Loaded, COMDAT
; _this$ = ecx

; 40   : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Level_Loaded@gzChatManagerClass@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 380				; 0000017cH
	push	ebx
	push	ebp
	push	esi
	push	edi

; 41   : 	// Auto complete
; 42   : 	struct stat attrib;
; 43   : 	stat("AutoComplete.ini", &attrib);

	lea	eax, DWORD PTR _attrib$[esp+408]
	push	eax
	mov	ebx, ecx
	push	OFFSET ??_C@_0BB@IEMFLDMH@AutoComplete?4ini?$AA@
	mov	DWORD PTR _this$[esp+416], ebx
	call	__stat64i32

; 44   : 	if (attrib.st_mtime != this->m_autoCompleteModTime)

	mov	eax, DWORD PTR _attrib$[esp+448]
	mov	ecx, DWORD PTR _attrib$[esp+452]
	add	esp, 8
	cmp	eax, DWORD PTR [ebx+72]
	jne	SHORT $LN323@Level_Load
	cmp	ecx, DWORD PTR [ebx+76]
	je	$LN41@Level_Load
$LN323@Level_Load:

; 45   : 	{
; 46   : 		this->m_autoCompleteModTime = attrib.st_mtime;

	mov	DWORD PTR [ebx+76], ecx

; 47   : 
; 48   : 		aTextConfig accfg("AutoComplete.ini");

	push	OFFSET ??_C@_0BB@IEMFLDMH@AutoComplete?4ini?$AA@
	lea	ecx, DWORD PTR $T67121[esp+412]
	mov	DWORD PTR [ebx+72], eax
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	0
	lea	ecx, DWORD PTR $T67121[esp+412]
	push	ecx
	lea	ecx, DWORD PTR _accfg$57719[esp+416]
	mov	DWORD PTR __$EHRec$[esp+424], 0
	call	??0aTextConfig@@QAE@ABVaString@@_N@Z	; aTextConfig::aTextConfig
	lea	ecx, DWORD PTR $T67121[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 49   : 		if (accfg.IsLoaded())

	lea	ecx, DWORD PTR _accfg$57719[esp+408]
	call	?IsLoaded@aTextConfig@@UAE_NXZ		; aTextConfig::IsLoaded
	test	al, al
	je	$LN34@Level_Load

; 50   : 		{
; 51   : 			for (aListNode<gzAutoCompleteStruct>* list = this->m_autoComplete.GetHead(); list != NULL; list = list->GetNext())

	mov	edx, DWORD PTR [ebx+36]
	mov	eax, DWORD PTR [edx+4]
	lea	ebp, DWORD PTR [ebx+36]
	mov	ecx, ebp
	call	eax
	mov	edi, eax
	test	edi, edi
	je	SHORT $LN37@Level_Load
	npad	10
$LL108@Level_Load:

; 52   : 				delete list->GetData();

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	52					; 00000034H
	push	OFFSET ??_C@_0N@OPNIKJJI@?4?2gzchat?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	esi, DWORD PTR [edi+4]
	add	esp, 12					; 0000000cH
	test	esi, esi
	mov	DWORD PTR $T67122[esp+408], esi
	je	SHORT $LN38@Level_Load
	lea	ecx, DWORD PTR [esi+8]
	mov	BYTE PTR __$EHRec$[esp+416], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+416], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN38@Level_Load:
	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $LL108@Level_Load
$LN37@Level_Load:

; 53   : 			this->m_autoComplete.RemoveAll();

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

; 54   : 
; 55   : 			for (int i = 1; i <= accfg.GetSubCount("AutoComplete"); i++)

	push	OFFSET ??_C@_0N@FGLBBGBJ@AutoComplete?$AA@
	lea	ecx, DWORD PTR $T67129[esp+412]
	mov	esi, 1
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T67129[esp+408]
	push	ecx
	lea	ecx, DWORD PTR _accfg$57719[esp+412]
	mov	BYTE PTR __$EHRec$[esp+420], 4
	call	?GetSubCount@aConfigBase@@UAEHABVaWideString@@@Z ; aConfigBase::GetSubCount
	cmp	eax, esi
	lea	ecx, DWORD PTR $T67129[esp+408]
	setge	BYTE PTR $T67128[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T67128[esp+408], 0
	je	$LN34@Level_Load
$LN36@Level_Load:

; 56   : 			{
; 57   : 				gzAutoCompleteStruct* ac = new gzAutoCompleteStruct;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	57					; 00000039H
	push	OFFSET ??_C@_0N@OPNIKJJI@?4?2gzchat?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	mov	ebx, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T67131[esp+408], ebx
	test	ebx, ebx
	mov	BYTE PTR __$EHRec$[esp+416], 5
	je	SHORT $LN48@Level_Load
	mov	ecx, ebx
	call	??0aWideString@@QAE@XZ			; aWideString::aWideString
	lea	ecx, DWORD PTR [ebx+8]
	mov	BYTE PTR __$EHRec$[esp+416], 6
	call	??0aWideString@@QAE@XZ			; aWideString::aWideString
	mov	edi, ebx
	jmp	SHORT $LN49@Level_Load
$LN48@Level_Load:
	xor	edi, edi
$LN49@Level_Load:

; 58   : 				ac->input = accfg.GetItem(aString::Format("AutoComplete.[%d]", i), "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T67137[esp+412]
	mov	BYTE PTR __$EHRec$[esp+420], 2
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	esi
	lea	edx, DWORD PTR $T67138[esp+412]
	push	OFFSET ??_C@_0BC@JFLNBGDA@AutoComplete?4?$FL?$CFd?$FN?$AA@
	push	edx
	mov	BYTE PTR __$EHRec$[esp+428], 7
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T67137[esp+408]
	push	ecx
	push	eax
	lea	edx, DWORD PTR $T67139[esp+416]
	push	edx
	lea	ecx, DWORD PTR _accfg$57719[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 8
	call	?GetItem@aConfigBase@@UAE?AVaString@@ABV2@0@Z ; aConfigBase::GetItem
	push	eax
	lea	ecx, DWORD PTR $T67136[esp+412]
	mov	BYTE PTR __$EHRec$[esp+420], 9
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	lea	eax, DWORD PTR $T67136[esp+408]
	push	eax
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+420], 10		; 0000000aH
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T67136[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 9
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67139[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 8
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67138[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 7
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67137[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 59   : 				ac->output = accfg.GetData(aString::Format("AutoComplete.[%d]", i), "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T67141[esp+412]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	esi
	lea	ecx, DWORD PTR $T67142[esp+412]
	push	OFFSET ??_C@_0BC@JFLNBGDA@AutoComplete?4?$FL?$CFd?$FN?$AA@
	push	ecx
	mov	BYTE PTR __$EHRec$[esp+428], 11		; 0000000bH
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	lea	edx, DWORD PTR $T67141[esp+408]
	push	edx
	push	eax
	lea	eax, DWORD PTR $T67143[esp+416]
	push	eax
	lea	ecx, DWORD PTR _accfg$57719[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 12		; 0000000cH
	call	?GetData@aConfigBase@@UAE?AVaString@@ABV2@0@Z ; aConfigBase::GetData
	push	eax
	lea	ecx, DWORD PTR $T67140[esp+412]
	mov	BYTE PTR __$EHRec$[esp+420], 13		; 0000000dH
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	lea	ecx, DWORD PTR $T67140[esp+408]
	push	ecx
	lea	ecx, DWORD PTR [edi+8]
	mov	BYTE PTR __$EHRec$[esp+420], 14		; 0000000eH
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T67140[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 13		; 0000000dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67143[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 12		; 0000000cH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67142[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 11		; 0000000bH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67141[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 60   : 				this->m_autoComplete.AddTail(ac);

	mov	edx, DWORD PTR [ebp]
	mov	eax, DWORD PTR [edx+24]
	push	edi
	mov	ecx, ebp
	call	eax
	push	OFFSET ??_C@_0N@FGLBBGBJ@AutoComplete?$AA@
	lea	ecx, DWORD PTR $T67129[esp+412]
	add	esi, 1
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T67129[esp+408]
	push	ecx
	lea	ecx, DWORD PTR _accfg$57719[esp+412]
	mov	BYTE PTR __$EHRec$[esp+420], 4
	call	?GetSubCount@aConfigBase@@UAEHABVaWideString@@@Z ; aConfigBase::GetSubCount
	cmp	esi, eax
	lea	ecx, DWORD PTR $T67129[esp+408]
	setle	bl
	mov	BYTE PTR __$EHRec$[esp+416], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	$LN36@Level_Load

; 54   : 
; 55   : 			for (int i = 1; i <= accfg.GetSubCount("AutoComplete"); i++)

	mov	ebx, DWORD PTR _this$[esp+408]
$LN34@Level_Load:

; 61   : 			}
; 62   : 		}
; 63   : 	}

	lea	ecx, DWORD PTR _accfg$57719[esp+408]
	mov	DWORD PTR __$EHRec$[esp+416], -1
	call	??1aTextConfig@@UAE@XZ			; aTextConfig::~aTextConfig
$LN41@Level_Load:

; 64   : 	
; 65   : 	// Text filter
; 66   : 	stat("TextFilter.ini", &attrib);

	lea	edx, DWORD PTR _attrib$[esp+408]
	push	edx
	push	OFFSET ??_C@_0P@DDIDEIAD@TextFilter?4ini?$AA@
	call	__stat64i32

; 67   : 	if (attrib.st_mtime != this->m_textFilterModTime)

	mov	eax, DWORD PTR _attrib$[esp+448]
	mov	ecx, DWORD PTR _attrib$[esp+452]
	add	esp, 8
	cmp	eax, DWORD PTR [ebx+80]
	jne	SHORT $LN324@Level_Load
	cmp	ecx, DWORD PTR [ebx+84]
	je	$LN33@Level_Load
$LN324@Level_Load:

; 68   : 	{
; 69   : 		this->m_textFilterModTime = attrib.st_mtime;

	mov	DWORD PTR [ebx+84], ecx

; 70   : 		aTextConfig tfcfg("TextFilter.ini");

	push	OFFSET ??_C@_0P@DDIDEIAD@TextFilter?4ini?$AA@
	lea	ecx, DWORD PTR $T67144[esp+412]
	mov	DWORD PTR [ebx+80], eax
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	0
	lea	eax, DWORD PTR $T67144[esp+412]
	push	eax
	lea	ecx, DWORD PTR _tfcfg$57752[esp+416]
	mov	DWORD PTR __$EHRec$[esp+424], 15	; 0000000fH
	call	??0aTextConfig@@QAE@ABVaString@@_N@Z	; aTextConfig::aTextConfig
	lea	ecx, DWORD PTR $T67144[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 17		; 00000011H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 71   : 		if (tfcfg.IsLoaded())

	lea	ecx, DWORD PTR _tfcfg$57752[esp+408]
	call	?IsLoaded@aTextConfig@@UAE_NXZ		; aTextConfig::IsLoaded
	test	al, al
	je	$LN26@Level_Load

; 72   : 		{
; 73   : 			for (aListNode<gzTextFilterStruct>* list = this->m_textFilter.GetHead(); list != NULL; list = list->GetNext())

	mov	edx, DWORD PTR [ebx+52]
	mov	eax, DWORD PTR [edx+4]
	lea	ebp, DWORD PTR [ebx+52]
	mov	ecx, ebp
	mov	DWORD PTR tv999[esp+408], ebp
	call	eax
	mov	edi, eax
	test	edi, edi
	je	SHORT $LN29@Level_Load
	mov	bl, 18					; 00000012H
	npad	5
$LL161@Level_Load:

; 74   : 				delete list->GetData();

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	74					; 0000004aH
	push	OFFSET ??_C@_0N@OPNIKJJI@?4?2gzchat?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	esi, DWORD PTR [edi+4]
	add	esp, 12					; 0000000cH
	test	esi, esi
	mov	DWORD PTR $T67145[esp+408], esi
	je	SHORT $LN30@Level_Load
	lea	ecx, DWORD PTR [esi+40]
	mov	BYTE PTR __$EHRec$[esp+416], 19		; 00000013H
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	lea	ecx, DWORD PTR [esi+24]
	mov	BYTE PTR __$EHRec$[esp+416], bl
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+416], 17		; 00000011H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN30@Level_Load:
	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $LL161@Level_Load
$LN29@Level_Load:

; 75   : 			this->m_textFilter.RemoveAll();

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

; 76   : 
; 77   : 			for (int i = 1; i <= tfcfg.GetRootCount(); i++)

	lea	ecx, DWORD PTR _tfcfg$57752[esp+408]
	mov	DWORD PTR _i$57762[esp+408], 1
	call	?GetRootCount@aConfigBase@@UAEHXZ	; aConfigBase::GetRootCount
	cmp	eax, 1
	jl	$LN26@Level_Load
$LN28@Level_Load:

; 78   : 			{
; 79   : 				gzTextFilterStruct *filter = new gzTextFilterStruct;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	79					; 0000004fH
	push	OFFSET ??_C@_0N@OPNIKJJI@?4?2gzchat?4cpp?$AA@
	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 $T67152[esp+408], esi
	xor	edi, edi
	cmp	esi, edi
	mov	BYTE PTR __$EHRec$[esp+416], 20		; 00000014H
	je	SHORT $LN56@Level_Load
	mov	ecx, esi
	call	??0aString@@QAE@XZ			; aString::aString
	mov	DWORD PTR [esi+28], edi
	mov	DWORD PTR [esi+32], edi
	mov	DWORD PTR [esi+36], edi
	mov	eax, OFFSET ??_7aWideStringArray@@6B@
	mov	DWORD PTR [esi+24], eax
	mov	DWORD PTR [esi+44], edi
	mov	DWORD PTR [esi+48], edi
	mov	DWORD PTR [esi+52], edi
	mov	DWORD PTR [esi+40], eax
	jmp	SHORT $LN57@Level_Load
$LN56@Level_Load:
	xor	esi, esi
$LN57@Level_Load:

; 80   : 				filter->name = tfcfg.GetItem(aString::Format("[%d]", i), "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T67157[esp+412]
	mov	BYTE PTR __$EHRec$[esp+420], 17		; 00000011H
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR _i$57762[esp+408]
	push	ecx
	lea	edx, DWORD PTR $T67158[esp+412]
	push	OFFSET ??_C@_04KBDJOJNB@?$FL?$CFd?$FN?$AA@
	push	edx
	mov	BYTE PTR __$EHRec$[esp+428], 21		; 00000015H
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T67157[esp+408]
	push	ecx
	push	eax
	lea	edx, DWORD PTR $T67159[esp+416]
	push	edx
	lea	ecx, DWORD PTR _tfcfg$57752[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 22		; 00000016H
	call	?GetItem@aConfigBase@@UAE?AVaString@@ABV2@0@Z ; aConfigBase::GetItem
	push	eax
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+420], 23		; 00000017H
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T67159[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 22		; 00000016H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67158[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 21		; 00000015H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67157[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 17		; 00000011H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 81   : 				filter->String.Clear();

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

; 82   : 				filter->cmpType = TYPE_NONE;
; 83   : 				filter->enable = false;
; 84   : 				filter->type = MSG_NONE;
; 85   : 				for (int j = 1; j <= tfcfg.GetSubCount(filter->name); j++)

	mov	ebp, 1
	push	esi
	lea	ecx, DWORD PTR $T67161[esp+412]
	mov	DWORD PTR [esi+12], edi
	mov	BYTE PTR [esi+8], 0
	mov	DWORD PTR [esi+16], edi
	mov	DWORD PTR _j$57775[esp+412], ebp
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	lea	eax, DWORD PTR $T67161[esp+408]
	push	eax
	lea	ecx, DWORD PTR _tfcfg$57752[esp+412]
	mov	BYTE PTR __$EHRec$[esp+420], 24		; 00000018H
	call	?GetSubCount@aConfigBase@@UAEHABVaWideString@@@Z ; aConfigBase::GetSubCount
	cmp	eax, ebp
	lea	ecx, DWORD PTR $T67161[esp+408]
	setge	bl
	mov	BYTE PTR __$EHRec$[esp+416], 17		; 00000011H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN23@Level_Load
	jmp	SHORT $LN25@Level_Load
	npad	9
$LL337@Level_Load:
	xor	edi, edi
$LN25@Level_Load:

; 86   : 				{
; 87   : 					aString option = tfcfg.GetItem(aString::Format("%s.[%d]", filter->name.GetString(), j));

	push	OFFSET ??_C@_01GBGANLPD@0?$AA@
	lea	ecx, DWORD PTR $T67162[esp+412]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	ebp
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+420], 25		; 00000019H
	call	?GetString@aString@@QBEPBDXZ		; aString::GetString
	push	eax
	lea	ecx, DWORD PTR $T67163[esp+416]
	push	OFFSET ??_C@_07FDIJADGH@?$CFs?4?$FL?$CFd?$FN?$AA@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR $T67162[esp+408]
	push	edx
	push	eax
	lea	eax, DWORD PTR _option$57781[esp+416]
	push	eax
	lea	ecx, DWORD PTR _tfcfg$57752[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 26		; 0000001aH
	call	?GetItem@aConfigBase@@UAE?AVaString@@ABV2@0@Z ; aConfigBase::GetItem
	lea	ecx, DWORD PTR $T67163[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 28		; 0000001cH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67162[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 29		; 0000001dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 88   : 					aString data = tfcfg.GetData(aString::Format("%s.[%d]", filter->name.GetString(), j));

	push	OFFSET ??_C@_01GBGANLPD@0?$AA@
	lea	ecx, DWORD PTR $T67164[esp+412]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	ebp
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+420], 30		; 0000001eH
	call	?GetString@aString@@QBEPBDXZ		; aString::GetString
	push	eax
	lea	ecx, DWORD PTR $T67165[esp+416]
	push	OFFSET ??_C@_07FDIJADGH@?$CFs?4?$FL?$CFd?$FN?$AA@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR $T67164[esp+408]
	push	edx
	push	eax
	lea	eax, DWORD PTR _data$57787[esp+416]
	push	eax
	lea	ecx, DWORD PTR _tfcfg$57752[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 31		; 0000001fH
	call	?GetData@aConfigBase@@UAE?AVaString@@ABV2@0@Z ; aConfigBase::GetData
	lea	ecx, DWORD PTR $T67165[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 33		; 00000021H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67164[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 34		; 00000022H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 89   : 					if (option == "String")

	push	OFFSET ??_C@_06ENNEIMBA@String?$AA@
	lea	ecx, DWORD PTR _option$57781[esp+412]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al

; 90   : 					{
; 91   : 						if (!data.IsEmpty())

	mov	eax, DWORD PTR _data$57787[esp+412]
	je	$LN22@Level_Load
	cmp	eax, edi
	je	$LN20@Level_Load
	cmp	DWORD PTR [eax+4], edi
	je	$LN20@Level_Load
	cmp	DWORD PTR [eax], edi
	je	$LN20@Level_Load

; 92   : 							filter->String.Add(data);

	lea	ecx, DWORD PTR _data$57787[esp+408]
	push	ecx
	lea	ecx, DWORD PTR $T67490[esp+412]
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	eax, DWORD PTR [esi+32]
	mov	edx, DWORD PTR [esi+24]
	mov	edx, DWORD PTR [edx+8]
	lea	edi, DWORD PTR [esi+24]
	add	eax, 1
	push	eax
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+420], 35		; 00000023H
	call	edx
	test	al, al
	je	SHORT $LN231@Level_Load
	mov	ecx, DWORD PTR $T67490[esp+412]
	call	?IncRef@aStringData@@QAEXXZ		; aStringData::IncRef
	mov	eax, DWORD PTR [edi+8]
	mov	ecx, DWORD PTR [edi+4]
	mov	edx, DWORD PTR $T67490[esp+412]
	mov	DWORD PTR [ecx+eax*4-4], edx
	add	DWORD PTR [edi+12], 1
$LN231@Level_Load:
	lea	ecx, DWORD PTR $T67490[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 34		; 00000022H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 93   : 					}
; 94   : 					else

	jmp	$LN343@Level_Load
$LN22@Level_Load:

; 95   : 					{
; 96   : 						aToken dataTok(data.GetString());

	cmp	eax, edi
	je	SHORT $LN244@Level_Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN245@Level_Load
$LN244@Level_Load:
	xor	eax, eax
$LN245@Level_Load:
	push	eax
	lea	ecx, DWORD PTR $T67167[esp+412]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T67167[esp+408]
	push	eax
	lea	ecx, DWORD PTR _dataTok$57796[esp+412]
	mov	BYTE PTR __$EHRec$[esp+420], 36		; 00000024H
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T67167[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 38		; 00000026H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 97   : 						for (int k = 1; k <= dataTok.numtok(' '); k++)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _dataTok$57796[esp+412]
	mov	ebp, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, ebp
	jl	$LN4@Level_Load
	npad	1
$LL19@Level_Load:

; 98   : 						{
; 99   : 							if (option == "Enable")

	push	OFFSET ??_C@_06CKGENIKG@Enable?$AA@
	lea	ecx, DWORD PTR _option$57781[esp+412]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN314@Level_Load

; 102  : 								break;
; 103  : 							}
; 104  : 							else if (option == "Type")

	push	OFFSET ??_C@_04KOACHJEN@Type?$AA@
	lea	ecx, DWORD PTR _option$57781[esp+412]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	je	$LN14@Level_Load

; 105  : 							{
; 106  : 								if (dataTok.gettok(k,' ').GetData() == "ALL")

	push	OFFSET ??_C@_03NIFPGLBG@ALL?$AA@
	lea	ecx, DWORD PTR $T67172[esp+412]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	ebp
	lea	ecx, DWORD PTR $T67173[esp+416]
	push	ecx
	lea	ecx, DWORD PTR _dataTok$57796[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 42		; 0000002aH
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+416], 43		; 0000002bH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	edi, eax
	mov	ecx, edi
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	lea	ecx, DWORD PTR $T67172[esp+408]
	mov	ebx, eax
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	cmp	ebx, eax
	jne	SHORT $LN262@Level_Load
	push	0
	push	-1
	lea	edx, DWORD PTR $T67172[esp+416]
	push	edx
	mov	ecx, edi
	call	?Compare@aString@@QBE_NABV1@H_N@Z	; aString::Compare
	test	al, al
	je	SHORT $LN262@Level_Load
	mov	bl, 1
	jmp	SHORT $LN263@Level_Load
$LN262@Level_Load:
	xor	bl, bl
$LN263@Level_Load:
	lea	ecx, DWORD PTR $T67173[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 42		; 0000002aH
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T67172[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 38		; 00000026H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN13@Level_Load

; 107  : 									filter->type |= MSG_ALL;

	or	DWORD PTR [esi+16], 1
	jmp	$LN18@Level_Load
$LN13@Level_Load:

; 108  : 								else if (dataTok.gettok(k,' ').GetData() == "TEAM")

	push	OFFSET ??_C@_04GMALBPFJ@TEAM?$AA@
	lea	ecx, DWORD PTR $T67175[esp+412]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	ebp
	lea	eax, DWORD PTR $T67176[esp+416]
	push	eax
	lea	ecx, DWORD PTR _dataTok$57796[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 44		; 0000002cH
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+416], 45		; 0000002dH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	edi, eax
	mov	ecx, edi
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	lea	ecx, DWORD PTR $T67175[esp+408]
	mov	ebx, eax
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	cmp	ebx, eax
	jne	SHORT $LN269@Level_Load
	push	0
	push	-1
	lea	ecx, DWORD PTR $T67175[esp+416]
	push	ecx
	mov	ecx, edi
	call	?Compare@aString@@QBE_NABV1@H_N@Z	; aString::Compare
	test	al, al
	je	SHORT $LN269@Level_Load
	mov	bl, 1
	jmp	SHORT $LN270@Level_Load
$LN269@Level_Load:
	xor	bl, bl
$LN270@Level_Load:
	lea	ecx, DWORD PTR $T67176[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 44		; 0000002cH
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T67175[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 38		; 00000026H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN18@Level_Load

; 109  : 									filter->type |= MSG_TEAM;

	or	DWORD PTR [esi+16], 2

; 110  : 							}

	jmp	$LN18@Level_Load
$LN14@Level_Load:

; 111  : 							else if (option == "Compare")

	push	OFFSET ??_C@_07MBOMJGGF@Compare?$AA@
	lea	ecx, DWORD PTR _option$57781[esp+412]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN315@Level_Load

; 119  : 								break;
; 120  : 							}
; 121  : 							else if (option == "Option")

	push	OFFSET ??_C@_06CJHLBMGC@Option?$AA@
	lea	ecx, DWORD PTR _option$57781[esp+412]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	je	$LN18@Level_Load

; 122  : 							{
; 123  : 								if (dataTok.gettok(k,' ').GetData() == "LOG")

	push	OFFSET ??_C@_03MLIHNEFJ@LOG?$AA@
	lea	ecx, DWORD PTR $T67187[esp+412]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	ebp
	lea	edx, DWORD PTR $T67188[esp+416]
	push	edx
	lea	ecx, DWORD PTR _dataTok$57796[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 52		; 00000034H
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+416], 53		; 00000035H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	edi, eax
	mov	ecx, edi
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	lea	ecx, DWORD PTR $T67187[esp+408]
	mov	ebx, eax
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	cmp	ebx, eax
	jne	SHORT $LN297@Level_Load
	push	0
	push	-1
	lea	eax, DWORD PTR $T67187[esp+416]
	push	eax
	mov	ecx, edi
	call	?Compare@aString@@QBE_NABV1@H_N@Z	; aString::Compare
	test	al, al
	je	SHORT $LN297@Level_Load
	mov	bl, 1
	jmp	SHORT $LN298@Level_Load
$LN297@Level_Load:
	xor	bl, bl
$LN298@Level_Load:
	lea	ecx, DWORD PTR $T67188[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 52		; 00000034H
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T67187[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 38		; 00000026H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN18@Level_Load

; 124  : 									filter->options |= OPT_LOG;

	or	DWORD PTR [esi+20], 1
$LN18@Level_Load:

; 97   : 						for (int k = 1; k <= dataTok.numtok(' '); k++)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _dataTok$57796[esp+412]
	add	ebp, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	ebp, eax
	jle	$LL19@Level_Load

; 111  : 							else if (option == "Compare")

	jmp	$LN4@Level_Load
$LN314@Level_Load:

; 100  : 							{
; 101  : 								filter->enable = tfcfg.GetData(aString::Format("%s.Enable", filter->name.GetString()), false) == 0 ? false : true;

	push	0
	lea	ecx, DWORD PTR $T67168[esp+412]
	call	??0aString@@QAE@H@Z			; aString::aString
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+416], 39		; 00000027H
	call	?GetString@aString@@QBEPBDXZ		; aString::GetString
	push	eax
	lea	ecx, DWORD PTR $T67169[esp+412]
	push	OFFSET ??_C@_09NICECIEO@?$CFs?4Enable?$AA@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	lea	edx, DWORD PTR $T67168[esp+408]
	push	edx
	push	eax
	lea	eax, DWORD PTR $T67170[esp+416]
	push	eax
	lea	ecx, DWORD PTR _tfcfg$57752[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 40		; 00000028H
	call	?GetData@aConfigBase@@UAE?AVaString@@ABV2@0@Z ; aConfigBase::GetData
	push	0
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+420], 41		; 00000029H
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	sete	cl
	mov	BYTE PTR [esi+8], cl
	lea	ecx, DWORD PTR $T67170[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 40		; 00000028H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67169[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 39		; 00000027H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67168[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 38		; 00000026H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	jmp	$LN4@Level_Load
$LN315@Level_Load:

; 112  : 							{
; 113  : 								if (dataTok.gettok(k,' ').GetData() == "NORM")

	push	OFFSET ??_C@_04DHIGGNDH@NORM?$AA@
	lea	ecx, DWORD PTR $T67178[esp+412]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	ebp
	lea	edx, DWORD PTR $T67179[esp+416]
	push	edx
	lea	ecx, DWORD PTR _dataTok$57796[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 46		; 0000002eH
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+416], 47		; 0000002fH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	edi, eax
	mov	ecx, edi
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	lea	ecx, DWORD PTR $T67178[esp+408]
	mov	ebx, eax
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	cmp	ebx, eax
	jne	SHORT $LN276@Level_Load
	push	0
	push	-1
	lea	eax, DWORD PTR $T67178[esp+416]
	push	eax
	mov	ecx, edi
	call	?Compare@aString@@QBE_NABV1@H_N@Z	; aString::Compare
	test	al, al
	je	SHORT $LN276@Level_Load
	mov	bl, 1
	jmp	SHORT $LN277@Level_Load
$LN276@Level_Load:
	xor	bl, bl
$LN277@Level_Load:
	lea	ecx, DWORD PTR $T67179[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 46		; 0000002eH
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T67178[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 38		; 00000026H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN8@Level_Load

; 114  : 									filter->cmpType |= TYPE_NORM;

	or	DWORD PTR [esi+12], 1
	jmp	$LN4@Level_Load
$LN8@Level_Load:

; 115  : 								else if (dataTok.gettok(k,' ').GetData() == "WILDCARD")

	push	OFFSET ??_C@_08OJKDCEEB@WILDCARD?$AA@
	lea	ecx, DWORD PTR $T67181[esp+412]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	ebp
	lea	ecx, DWORD PTR $T67182[esp+416]
	push	ecx
	lea	ecx, DWORD PTR _dataTok$57796[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 48		; 00000030H
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+416], 49		; 00000031H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	edi, eax
	mov	ecx, edi
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	lea	ecx, DWORD PTR $T67181[esp+408]
	mov	ebx, eax
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	cmp	ebx, eax
	jne	SHORT $LN283@Level_Load
	push	0
	push	-1
	lea	edx, DWORD PTR $T67181[esp+416]
	push	edx
	mov	ecx, edi
	call	?Compare@aString@@QBE_NABV1@H_N@Z	; aString::Compare
	test	al, al
	je	SHORT $LN283@Level_Load
	mov	bl, 1
	jmp	SHORT $LN284@Level_Load
$LN283@Level_Load:
	xor	bl, bl
$LN284@Level_Load:
	lea	ecx, DWORD PTR $T67182[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 48		; 00000030H
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T67181[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 38		; 00000026H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN6@Level_Load

; 116  : 									filter->cmpType |= TYPE_WILDCARD;

	or	DWORD PTR [esi+12], 2
	jmp	$LN4@Level_Load
$LN6@Level_Load:

; 117  : 								else if (dataTok.gettok(k,' ').GetData() == "REGEX")

	push	OFFSET ??_C@_05JNJINIGK@REGEX?$AA@
	lea	ecx, DWORD PTR $T67184[esp+412]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	ebp
	lea	eax, DWORD PTR $T67185[esp+416]
	push	eax
	lea	ecx, DWORD PTR _dataTok$57796[esp+420]
	mov	BYTE PTR __$EHRec$[esp+428], 50		; 00000032H
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+416], 51		; 00000033H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	edi, eax
	mov	ecx, edi
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	lea	ecx, DWORD PTR $T67184[esp+408]
	mov	ebx, eax
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	cmp	ebx, eax
	jne	SHORT $LN290@Level_Load
	push	0
	push	-1
	lea	ecx, DWORD PTR $T67184[esp+416]
	push	ecx
	mov	ecx, edi
	call	?Compare@aString@@QBE_NABV1@H_N@Z	; aString::Compare
	test	al, al
	je	SHORT $LN290@Level_Load
	mov	bl, 1
	jmp	SHORT $LN291@Level_Load
$LN290@Level_Load:
	xor	bl, bl
$LN291@Level_Load:
	lea	ecx, DWORD PTR $T67185[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 50		; 00000032H
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T67184[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 38		; 00000026H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN4@Level_Load

; 118  : 									filter->cmpType |= TYPE_REGEX;

	or	DWORD PTR [esi+12], 3
$LN4@Level_Load:

; 125  : 							}
; 126  : 						}
; 127  : 					}

	lea	ecx, DWORD PTR _dataTok$57796[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 34		; 00000022H
	call	??1aToken@@QAE@XZ			; aToken::~aToken
$LN343@Level_Load:
	mov	ebp, DWORD PTR _j$57775[esp+408]
$LN20@Level_Load:

; 128  : 				}

	lea	ecx, DWORD PTR _data$57787[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 29		; 0000001dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR _option$57781[esp+408]
	mov	BYTE PTR __$EHRec$[esp+416], 17		; 00000011H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	add	ebp, 1
	push	esi
	lea	ecx, DWORD PTR $T67161[esp+412]
	mov	DWORD PTR _j$57775[esp+412], ebp
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	lea	edx, DWORD PTR $T67161[esp+408]
	push	edx
	lea	ecx, DWORD PTR _tfcfg$57752[esp+412]
	mov	BYTE PTR __$EHRec$[esp+420], 24		; 00000018H
	call	?GetSubCount@aConfigBase@@UAEHABVaWideString@@@Z ; aConfigBase::GetSubCount
	cmp	ebp, eax
	lea	ecx, DWORD PTR $T67161[esp+408]
	setle	bl
	mov	BYTE PTR __$EHRec$[esp+416], 17		; 00000011H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	$LL337@Level_Load
$LN23@Level_Load:

; 129  : 				this->m_textFilter.AddTail(filter);

	mov	ecx, DWORD PTR tv999[esp+408]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+24]
	push	esi
	call	edx
	mov	esi, DWORD PTR _i$57762[esp+408]
	add	esi, 1
	lea	ecx, DWORD PTR _tfcfg$57752[esp+408]
	mov	DWORD PTR _i$57762[esp+408], esi
	call	?GetRootCount@aConfigBase@@UAEHXZ	; aConfigBase::GetRootCount
	cmp	esi, eax
	jle	$LN28@Level_Load
$LN26@Level_Load:

; 130  : 			}
; 131  : 		}
; 132  : 	}

	lea	ecx, DWORD PTR _tfcfg$57752[esp+408]
	mov	DWORD PTR __$EHRec$[esp+416], -1
	call	??1aTextConfig@@UAE@XZ			; aTextConfig::~aTextConfig
$LN33@Level_Load:

; 133  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+408]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	pop	ebp
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$0:
	lea	ecx, DWORD PTR $T67121[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$1:
	lea	ecx, DWORD PTR _accfg$57719[ebp]
	jmp	??1aTextConfig@@UAE@XZ			; aTextConfig::~aTextConfig
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$44:
	mov	ecx, DWORD PTR $T67122[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$2:
	lea	ecx, DWORD PTR $T67129[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$3:
	mov	eax, DWORD PTR $T67131[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$49:
	mov	ecx, DWORD PTR $T67131[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$4:
	lea	ecx, DWORD PTR $T67137[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$5:
	lea	ecx, DWORD PTR $T67138[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$6:
	lea	ecx, DWORD PTR $T67139[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$7:
	lea	ecx, DWORD PTR $T67136[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$8:
	lea	ecx, DWORD PTR $T67141[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$9:
	lea	ecx, DWORD PTR $T67142[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$10:
	lea	ecx, DWORD PTR $T67143[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$11:
	lea	ecx, DWORD PTR $T67140[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$12:
	lea	ecx, DWORD PTR $T67144[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$13:
	lea	ecx, DWORD PTR _tfcfg$57752[ebp]
	jmp	??1aTextConfig@@UAE@XZ			; aTextConfig::~aTextConfig
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$60:
	mov	ecx, DWORD PTR $T67145[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$61:
	mov	ecx, DWORD PTR $T67145[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1aWideStringArray@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$14:
	mov	eax, DWORD PTR $T67152[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$15:
	lea	ecx, DWORD PTR $T67157[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$16:
	lea	ecx, DWORD PTR $T67158[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$17:
	lea	ecx, DWORD PTR $T67159[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$18:
	lea	ecx, DWORD PTR $T67161[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$19:
	lea	ecx, DWORD PTR $T67162[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$20:
	lea	ecx, DWORD PTR $T67163[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$21:
	lea	ecx, DWORD PTR _option$57781[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$22:
	lea	ecx, DWORD PTR $T67164[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$23:
	lea	ecx, DWORD PTR $T67165[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$24:
	lea	ecx, DWORD PTR _data$57787[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$77:
	lea	ecx, DWORD PTR $T67490[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$26:
	lea	ecx, DWORD PTR $T67167[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$27:
	lea	ecx, DWORD PTR _dataTok$57796[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$31:
	lea	ecx, DWORD PTR $T67172[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$32:
	lea	ecx, DWORD PTR $T67173[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$33:
	lea	ecx, DWORD PTR $T67175[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$34:
	lea	ecx, DWORD PTR $T67176[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$41:
	lea	ecx, DWORD PTR $T67187[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$42:
	lea	ecx, DWORD PTR $T67188[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$28:
	lea	ecx, DWORD PTR $T67168[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$29:
	lea	ecx, DWORD PTR $T67169[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$30:
	lea	ecx, DWORD PTR $T67170[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$35:
	lea	ecx, DWORD PTR $T67178[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$36:
	lea	ecx, DWORD PTR $T67179[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$37:
	lea	ecx, DWORD PTR $T67181[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$38:
	lea	ecx, DWORD PTR $T67182[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$39:
	lea	ecx, DWORD PTR $T67184[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Loaded@gzChatManagerClass@@UAEXXZ$40:
	lea	ecx, DWORD PTR $T67185[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__ehhandler$?Level_Loaded@gzChatManagerClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Level_Loaded@gzChatManagerClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Level_Loaded@gzChatManagerClass@@UAEXXZ ENDP		; gzChatManagerClass::Level_Loaded
EXTRN	_atexit:PROC
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzinc.h
;	COMDAT ??__EgzCritical@@YAXXZ
text$yc	SEGMENT
??__EgzCritical@@YAXXZ PROC				; `dynamic initializer for 'gzCritical'', COMDAT

; 53   : 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_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
_DATA	SEGMENT
?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A DD FLAT:??_7?$aVector@PAVgzChatCommandBase@@@@6B@ ; gzChatManagerClass::m_chatCommandList
	DD	00H
	DD	00H
	DD	00H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.cpp
_DATA	ENDS
;	COMDAT ??__E?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A@@YAXXZ
text$yc	SEGMENT
??__E?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A@@YAXXZ PROC ; `dynamic initializer for 'gzChatManagerClass::m_chatCommandList'', COMDAT

; 7    : aVector<gzChatCommandBase *> gzChatManagerClass::m_chatCommandList;

	push	OFFSET ??__F?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A@@YAXXZ ; `dynamic atexit destructor for 'gzChatManagerClass::m_chatCommandList''
	call	_atexit
	pop	ecx
	ret	0
??__E?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A@@YAXXZ ENDP ; `dynamic initializer for 'gzChatManagerClass::m_chatCommandList''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Emute@@YAXXZ
text$yc	SEGMENT
??__Emute@@YAXXZ PROC					; `dynamic initializer for 'mute'', COMDAT

; 384  : MuteConsoleFunction mute;

	mov	ecx, OFFSET ?mute@@3VMuteConsoleFunction@@A ; mute
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?mute@@3VMuteConsoleFunction@@A, OFFSET ??_7MuteConsoleFunction@@6B@ ; mute
	ret	0
??__Emute@@YAXXZ ENDP					; `dynamic initializer for 'mute''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Emutelist@@YAXXZ
text$yc	SEGMENT
??__Emutelist@@YAXXZ PROC				; `dynamic initializer for 'mutelist'', COMDAT

; 403  : MuteListConsoleFunction mutelist;

	mov	ecx, OFFSET ?mutelist@@3VMuteListConsoleFunction@@A ; mutelist
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?mutelist@@3VMuteListConsoleFunction@@A, OFFSET ??_7MuteListConsoleFunction@@6B@ ; mutelist
	ret	0
??__Emutelist@@YAXXZ ENDP				; `dynamic initializer for 'mutelist''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Eunmute@@YAXXZ
text$yc	SEGMENT
??__Eunmute@@YAXXZ PROC					; `dynamic initializer for 'unmute'', COMDAT

; 434  : UnmuteConsoleFunction unmute;

	mov	ecx, OFFSET ?unmute@@3VUnmuteConsoleFunction@@A ; unmute
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?unmute@@3VUnmuteConsoleFunction@@A, OFFSET ??_7UnmuteConsoleFunction@@6B@ ; unmute
	ret	0
??__Eunmute@@YAXXZ ENDP					; `dynamic initializer for 'unmute''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Eteamamsg@@YAXXZ
text$yc	SEGMENT
??__Eteamamsg@@YAXXZ PROC				; `dynamic initializer for 'teamamsg'', COMDAT

; 474  : TeamAdminMsgConsoleFunction teamamsg;

	mov	ecx, OFFSET ?teamamsg@@3VTeamAdminMsgConsoleFunction@@A ; teamamsg
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?teamamsg@@3VTeamAdminMsgConsoleFunction@@A, OFFSET ??_7TeamAdminMsgConsoleFunction@@6B@ ; teamamsg
	ret	0
??__Eteamamsg@@YAXXZ ENDP				; `dynamic initializer for 'teamamsg''
; 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 ??__F?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A@@YAXXZ
text$yd	SEGMENT
??__F?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A@@YAXXZ PROC ; `dynamic atexit destructor for 'gzChatManagerClass::m_chatCommandList'', COMDAT
	push	esi
	xor	esi, esi
	cmp	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4, esi
	mov	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A, OFFSET ??_7?$aVector@PAVgzChatCommandBase@@@@6B@
	je	SHORT $LN10@m_chatComm
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4, esi
$LN10@m_chatComm:
	mov	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, esi
	mov	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8, esi
	pop	esi
	ret	0
??__F?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A@@YAXXZ ENDP ; `dynamic atexit destructor for 'gzChatManagerClass::m_chatCommandList''
text$yd	ENDS
PUBLIC	?unmute@@3VUnmuteConsoleFunction@@A		; unmute
PUBLIC	?teamamsg@@3VTeamAdminMsgConsoleFunction@@A	; teamamsg
PUBLIC	?mutelist@@3VMuteListConsoleFunction@@A		; mutelist
PUBLIC	?mute@@3VMuteConsoleFunction@@A			; mute
_BSS	SEGMENT
?unmute@@3VUnmuteConsoleFunction@@A DD 01H DUP (?)	; unmute
?teamamsg@@3VTeamAdminMsgConsoleFunction@@A DD 01H DUP (?) ; teamamsg
?mutelist@@3VMuteListConsoleFunction@@A DD 01H DUP (?)	; mutelist
?mute@@3VMuteConsoleFunction@@A DD 01H DUP (?)		; mute
_gzCritical DB	018H DUP (?)
_BSS	ENDS
CRT$XCU	SEGMENT
_gzCritical$initializer$ DD FLAT:??__EgzCritical@@YAXXZ
?m_chatCommandList$initializer$@gzChatManagerClass@@2P6AXXZA DD FLAT:??__E?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A@@YAXXZ ; gzChatManagerClass::m_chatCommandList$initializer$
_mute$initializer$ DD FLAT:??__Emute@@YAXXZ
_mutelist$initializer$ DD FLAT:??__Emutelist@@YAXXZ
_unmute$initializer$ DD FLAT:??__Eunmute@@YAXXZ
_teamamsg$initializer$ DD FLAT:??__Eteamamsg@@YAXXZ
CRT$XCU	ENDS
END
