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

	TITLE	d:\Source Code\STGM\stteamcommander.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	?gzTeamCommander@@3PAVgzTeamCommanderClass@@A	; gzTeamCommander
_BSS	SEGMENT
?gzTeamCommander@@3PAVgzTeamCommanderClass@@A DD 01H DUP (?) ; gzTeamCommander
_BSS	ENDS
;	COMDAT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?end@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 02H		; std::_Iosb<int>::end
CONST	ENDS
;	COMDAT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 01H		; std::_Iosb<int>::cur
CONST	ENDS
;	COMDAT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 00H		; std::_Iosb<int>::beg
CONST	ENDS
;	COMDAT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?binary@?$_Iosb@H@std@@2W4_Openmode@12@B DD 020H	; std::_Iosb<int>::binary
CONST	ENDS
;	COMDAT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B DD 080H	; std::_Iosb<int>::_Noreplace
CONST	ENDS
;	COMDAT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 040H	; std::_Iosb<int>::_Nocreate
CONST	ENDS
;	COMDAT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B DD 010H		; std::_Iosb<int>::trunc
CONST	ENDS
;	COMDAT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?app@?$_Iosb@H@std@@2W4_Openmode@12@B DD 08H		; std::_Iosb<int>::app
CONST	ENDS
;	COMDAT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?ate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 04H		; std::_Iosb<int>::ate
CONST	ENDS
;	COMDAT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?out@?$_Iosb@H@std@@2W4_Openmode@12@B DD 02H		; std::_Iosb<int>::out
CONST	ENDS
;	COMDAT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?in@?$_Iosb@H@std@@2W4_Openmode@12@B DD 01H		; std::_Iosb<int>::in
CONST	ENDS
;	COMDAT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B DD 010H	; std::_Iosb<int>::_Hardfail
CONST	ENDS
;	COMDAT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 04H		; std::_Iosb<int>::badbit
CONST	ENDS
;	COMDAT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 02H		; std::_Iosb<int>::failbit
CONST	ENDS
;	COMDAT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 01H		; std::_Iosb<int>::eofbit
CONST	ENDS
;	COMDAT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 00H		; std::_Iosb<int>::goodbit
CONST	ENDS
;	COMDAT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 03000H	; std::_Iosb<int>::floatfield
CONST	ENDS
;	COMDAT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0e00H	; std::_Iosb<int>::basefield
CONST	ENDS
;	COMDAT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01c0H	; std::_Iosb<int>::adjustfield
CONST	ENDS
;	COMDAT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08000H	; std::_Iosb<int>::_Stdio
CONST	ENDS
;	COMDAT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04000H	; std::_Iosb<int>::boolalpha
CONST	ENDS
;	COMDAT ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02000H	; std::_Iosb<int>::fixed
CONST	ENDS
;	COMDAT ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01000H	; std::_Iosb<int>::scientific
CONST	ENDS
;	COMDAT ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0800H		; std::_Iosb<int>::hex
CONST	ENDS
;	COMDAT ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0400H		; std::_Iosb<int>::oct
CONST	ENDS
;	COMDAT ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0200H		; std::_Iosb<int>::dec
CONST	ENDS
;	COMDAT ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0100H	; std::_Iosb<int>::internal
CONST	ENDS
;	COMDAT ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 080H		; std::_Iosb<int>::right
CONST	ENDS
;	COMDAT ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 040H		; std::_Iosb<int>::left
CONST	ENDS
;	COMDAT ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 020H	; std::_Iosb<int>::showpos
CONST	ENDS
;	COMDAT ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 010H	; std::_Iosb<int>::showpoint
CONST	ENDS
;	COMDAT ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08H	; std::_Iosb<int>::showbase
CONST	ENDS
;	COMDAT ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04H	; std::_Iosb<int>::uppercase
CONST	ENDS
;	COMDAT ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02H	; std::_Iosb<int>::unitbuf
CONST	ENDS
;	COMDAT ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01H		; std::_Iosb<int>::skipws
CONST	ENDS
;	COMDAT ?table_size@?$ctype@D@std@@2IB
CONST	SEGMENT
?table_size@?$ctype@D@std@@2IB DD 0100H			; std::ctype<char>::table_size
CONST	ENDS
;	COMDAT ?none@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?none@?$_Locbase@H@std@@2HB DD 00H			; std::_Locbase<int>::none
CONST	ENDS
;	COMDAT ?all@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?all@?$_Locbase@H@std@@2HB DD 03fH			; std::_Locbase<int>::all
CONST	ENDS
;	COMDAT ?messages@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?messages@?$_Locbase@H@std@@2HB DD 020H			; std::_Locbase<int>::messages
CONST	ENDS
;	COMDAT ?time@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?time@?$_Locbase@H@std@@2HB DD 010H			; std::_Locbase<int>::time
CONST	ENDS
;	COMDAT ?numeric@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?numeric@?$_Locbase@H@std@@2HB DD 08H			; std::_Locbase<int>::numeric
CONST	ENDS
;	COMDAT ?monetary@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?monetary@?$_Locbase@H@std@@2HB DD 04H			; std::_Locbase<int>::monetary
CONST	ENDS
;	COMDAT ?ctype@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?ctype@?$_Locbase@H@std@@2HB DD 02H			; std::_Locbase<int>::ctype
CONST	ENDS
;	COMDAT ?collate@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?collate@?$_Locbase@H@std@@2HB DD 01H			; std::_Locbase<int>::collate
CONST	ENDS
_DATA	SEGMENT
__bad_alloc_Message DD FLAT:??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
_DATA	ENDS
;	COMDAT ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
CONST	SEGMENT
??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ DB 'bad allocation', 00H ; `string'
CONST	ENDS
PUBLIC	??_7bad_alloc@std@@6B@				; std::bad_alloc::`vftable'
PUBLIC	??0bad_alloc@std@@QAE@PBD@Z			; std::bad_alloc::bad_alloc
PUBLIC	??_R4bad_alloc@std@@6B@				; std::bad_alloc::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVbad_alloc@std@@@8			; std::bad_alloc `RTTI Type Descriptor'
PUBLIC	??_R3bad_alloc@std@@8				; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2bad_alloc@std@@8				; std::bad_alloc::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@bad_alloc@std@@8			; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@exception@std@@8			; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVexception@std@@@8			; std::exception `RTTI Type Descriptor'
PUBLIC	??_R3exception@std@@8				; std::exception::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2exception@std@@8				; std::exception::`RTTI Base Class Array'
EXTRN	??0exception@std@@QAE@ABQBD@Z:PROC		; std::exception::exception
EXTRN	??_7type_info@@6B@:QWORD			; type_info::`vftable'
EXTRN	??_Ebad_alloc@std@@UAEPAXI@Z:PROC		; std::bad_alloc::`vector deleting destructor'
EXTRN	?what@exception@std@@UBEPBDXZ:PROC		; std::exception::what
;	COMDAT ??_R2exception@std@@8
; File c:\program files (x86)\microsoft visual studio 8\vc\include\exception
rdata$r	SEGMENT
??_R2exception@std@@8 DD FLAT:??_R1A@?0A@EA@exception@std@@8 ; std::exception::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3exception@std@@8
rdata$r	SEGMENT
??_R3exception@std@@8 DD 00H				; std::exception::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVexception@std@@@8
_DATA	SEGMENT
??_R0?AVexception@std@@@8 DD FLAT:??_7type_info@@6B@	; std::exception `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVexception@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@exception@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@exception@std@@8 DD FLAT:??_R0?AVexception@std@@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@bad_alloc@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@bad_alloc@std@@8 DD FLAT:??_R0?AVbad_alloc@std@@@8 ; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_R2bad_alloc@std@@8
rdata$r	SEGMENT
??_R2bad_alloc@std@@8 DD FLAT:??_R1A@?0A@EA@bad_alloc@std@@8 ; std::bad_alloc::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R3bad_alloc@std@@8
rdata$r	SEGMENT
??_R3bad_alloc@std@@8 DD 00H				; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVbad_alloc@std@@@8
_DATA	SEGMENT
??_R0?AVbad_alloc@std@@@8 DD FLAT:??_7type_info@@6B@	; std::bad_alloc `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVbad_alloc@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4bad_alloc@std@@6B@
rdata$r	SEGMENT
??_R4bad_alloc@std@@6B@ DD 00H				; std::bad_alloc::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVbad_alloc@std@@@8
	DD	FLAT:??_R3bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_7bad_alloc@std@@6B@
CONST	SEGMENT
??_7bad_alloc@std@@6B@ DD FLAT:??_R4bad_alloc@std@@6B@	; std::bad_alloc::`vftable'
	DD	FLAT:??_Ebad_alloc@std@@UAEPAXI@Z
	DD	FLAT:?what@exception@std@@UBEPBDXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@PBD@Z
_TEXT	SEGMENT
__Message$ = 8						; size = 4
??0bad_alloc@std@@QAE@PBD@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx

; 371  : 		{	// construct from message string

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

; 372  : 		}

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

; 380  : 		{	// destroy the object

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

; 381  : 		}

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

; 7    : 	aCriticalSection()

	push	esi
	mov	esi, ecx

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

	push	esi
	call	DWORD PTR __imp__InitializeCriticalSection@4

; 10   : 	};

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

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

	push	ecx
	call	DWORD PTR __imp__DeleteCriticalSection@4

; 14   : 	};

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

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

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

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

	mov	eax, DWORD PTR [ecx+4]
	ret	0
?GetData@aStringBase@@QBEPAVaStringData@@XZ ENDP	; aStringBase::GetData
_TEXT	ENDS
PUBLIC	??1aString@@UAE@XZ				; aString::~aString
EXTRN	??1aStringBase@@UAE@XZ:PROC			; aStringBase::~aStringBase
; Function compile flags: /Ogtpy
;	COMDAT ??1aString@@UAE@XZ
_TEXT	SEGMENT
??1aString@@UAE@XZ PROC					; aString::~aString, COMDAT
; _this$ = ecx
	jmp	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
??1aString@@UAE@XZ ENDP					; aString::~aString
_TEXT	ENDS
PUBLIC	??_7aWideString@@6B@				; aWideString::`vftable'
PUBLIC	??0aWideString@@QAE@ABV0@@Z			; aWideString::aWideString
PUBLIC	??_R4aWideString@@6B@				; aWideString::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaWideString@@@8				; aWideString `RTTI Type Descriptor'
PUBLIC	??_R3aWideString@@8				; aWideString::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aWideString@@8				; aWideString::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aWideString@@8			; aWideString::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@aStringBase@@8			; aStringBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVaStringBase@@@8				; aStringBase `RTTI Type Descriptor'
PUBLIC	??_R3aStringBase@@8				; aStringBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aStringBase@@8				; aStringBase::`RTTI Base Class Array'
PUBLIC	?CharSize@aWideString@@UBEIXZ			; aWideString::CharSize
EXTRN	??0aStringBase@@QAE@ABV0@@Z:PROC		; aStringBase::aStringBase
EXTRN	??_EaWideString@@UAEPAXI@Z:PROC			; aWideString::`vector deleting destructor'
;	COMDAT ??_R2aStringBase@@8
rdata$r	SEGMENT
??_R2aStringBase@@8 DD FLAT:??_R1A@?0A@EA@aStringBase@@8 ; aStringBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3aStringBase@@8
rdata$r	SEGMENT
??_R3aStringBase@@8 DD 00H				; aStringBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaStringBase@@@8
_DATA	SEGMENT
??_R0?AVaStringBase@@@8 DD FLAT:??_7type_info@@6B@	; aStringBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaStringBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@aStringBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aStringBase@@8 DD FLAT:??_R0?AVaStringBase@@@8 ; aStringBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@aWideString@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aWideString@@8 DD FLAT:??_R0?AVaWideString@@@8 ; aWideString::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aWideString@@8
rdata$r	ENDS
;	COMDAT ??_R2aWideString@@8
rdata$r	SEGMENT
??_R2aWideString@@8 DD FLAT:??_R1A@?0A@EA@aWideString@@8 ; aWideString::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R3aWideString@@8
rdata$r	SEGMENT
??_R3aWideString@@8 DD 00H				; aWideString::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2aWideString@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaWideString@@@8
_DATA	SEGMENT
??_R0?AVaWideString@@@8 DD FLAT:??_7type_info@@6B@	; aWideString `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaWideString@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aWideString@@6B@
rdata$r	SEGMENT
??_R4aWideString@@6B@ DD 00H				; aWideString::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaWideString@@@8
	DD	FLAT:??_R3aWideString@@8
rdata$r	ENDS
;	COMDAT ??_7aWideString@@6B@
CONST	SEGMENT
??_7aWideString@@6B@ DD FLAT:??_R4aWideString@@6B@	; aWideString::`vftable'
	DD	FLAT:??_EaWideString@@UAEPAXI@Z
	DD	FLAT:?CharSize@aWideString@@UBEIXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aWideString@@QAE@ABV0@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??0aWideString@@QAE@ABV0@@Z PROC			; aWideString::aWideString, COMDAT
; _this$ = ecx

; 229  : 	aWideString(const aWideString& str) : aStringBase(str) { };

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

; 238  : 	unsigned int CharSize() const { return 2; };

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

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

	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	je	SHORT $LN3@GetString
	mov	eax, DWORD PTR [eax]
	ret	0
$LN3@GetString:
	xor	eax, eax
	ret	0
?GetString@aWideString@@QBEPB_WXZ ENDP			; aWideString::GetString
_TEXT	ENDS
PUBLIC	??1aWideString@@UAE@XZ				; aWideString::~aWideString
; Function compile flags: /Ogtpy
;	COMDAT ??1aWideString@@UAE@XZ
_TEXT	SEGMENT
??1aWideString@@UAE@XZ PROC				; aWideString::~aWideString, COMDAT
; _this$ = ecx
	jmp	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
??1aWideString@@UAE@XZ ENDP				; aWideString::~aWideString
_TEXT	ENDS
PUBLIC	?Get@aRandom@@AAEKXZ				; aRandom::Get
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\arandom.h
;	COMDAT ?Get@aRandom@@AAEKXZ
_TEXT	SEGMENT
?Get@aRandom@@AAEKXZ PROC				; aRandom::Get, COMDAT
; _this$ = ecx

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

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

; 10   : 			this->m_count = 1;

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

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

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

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

	movzx	eax, WORD PTR [ecx+6]

; 13   : 	};

	ret	0
?Get@aRandom@@AAEKXZ ENDP				; aRandom::Get
_TEXT	ENDS
PUBLIC	?Get_Int@aRandom@@QAEJJJ@Z			; aRandom::Get_Int
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Int@aRandom@@QAEJJJ@Z
_TEXT	SEGMENT
_Min$ = 8						; size = 4
_Max$ = 12						; size = 4
?Get_Int@aRandom@@QAEJJJ@Z PROC				; aRandom::Get_Int, COMDAT
; _this$ = ecx

; 46   : 		if (Min == Max)

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

; 47   : 			return Min;

	je	SHORT $LN3@Get_Int
	push	edi

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

	mov	edi, eax

; 49   : 		if (Min > Max)

	jle	SHORT $LN1@Get_Int

; 50   : 		{
; 51   : 			Minimum = Max;

	mov	edi, esi

; 52   : 			Maximum = Min;

	mov	esi, eax
$LN1@Get_Int:

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

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

; 55   : 	};

	ret	8
?Get_Int@aRandom@@QAEJJJ@Z ENDP				; aRandom::Get_Int
_TEXT	ENDS
PUBLIC	?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ ; gzEventPlayerBase::GetPlayer
; Function compile flags: /Ogtpy
; File d:\source code\stgm\steventbase.h
;	COMDAT ?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ
_TEXT	SEGMENT
?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ PROC	; gzEventPlayerBase::GetPlayer, COMDAT
; _this$ = ecx

; 134  : 		return this->m_player;

	mov	eax, DWORD PTR [ecx+24]

; 135  : 	};

	ret	0
?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ ENDP	; gzEventPlayerBase::GetPlayer
_TEXT	ENDS
PUBLIC	??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@	; `string'
PUBLIC	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z	; stSettingsBase::Load_Bool
EXTRN	?ToLong@aString@@QAEJXZ:PROC			; aString::ToLong
EXTRN	?Format@aString@@SA?AV1@PBDZZ:PROC		; aString::Format
EXTRN	??0aString@@QAE@H@Z:PROC			; aString::aString
EXTRN	___CxxFrameHandler3:PROC
;	COMDAT ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@ DB '"%s".%s', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$2
__ehfuncinfo$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z
_TEXT	SEGMENT
$T66090 = -36						; size = 8
$T66092 = -28						; size = 8
$T66091 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_section$ = 8						; size = 4
_item$ = 12						; size = 4
_default$ = 16						; size = 1
?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z PROC		; stSettingsBase::Load_Bool, COMDAT
; _this$ = ecx

; 38   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	esi
	mov	esi, ecx

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

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

; 40   : 			return (this->m_cfg->GetData(aString::Format("\"%s\".%s", section, item), default).ToLong() == 0) ? false : true;

	movzx	eax, BYTE PTR _default$[esp+36]
	push	ebx
	push	eax
	lea	ecx, DWORD PTR $T66090[esp+48]
	call	??0aString@@QAE@H@Z			; aString::aString
	mov	ecx, DWORD PTR _item$[esp+40]
	mov	edx, DWORD PTR _section$[esp+40]
	push	ecx
	push	edx
	lea	eax, DWORD PTR $T66091[esp+52]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+68], 0
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	lea	esi, DWORD PTR $T66090[esp+44]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T66092[esp+52]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+64], 1
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+52], 2
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	test	eax, eax
	lea	ecx, DWORD PTR $T66092[esp+44]
	setne	bl
	mov	BYTE PTR __$EHRec$[esp+52], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66091[esp+44]
	mov	BYTE PTR __$EHRec$[esp+52], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	al, bl
	pop	ebx
	pop	esi

; 41   : 		return default;
; 42   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	12					; 0000000cH
$LN1@Load_Bool:
	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	mov	al, BYTE PTR _default$[esp+36]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	12					; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$0:
	lea	ecx, DWORD PTR $T66090[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$1:
	lea	ecx, DWORD PTR $T66091[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$2:
	lea	ecx, DWORD PTR $T66092[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ENDP		; stSettingsBase::Load_Bool
PUBLIC	?Load_Int@stSettingsBase@@IAEHPBD0H@Z		; stSettingsBase::Load_Int
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?Load_Int@stSettingsBase@@IAEHPBD0H@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBD0H@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBD0H@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBD0H@Z$2
__ehfuncinfo$?Load_Int@stSettingsBase@@IAEHPBD0H@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Load_Int@stSettingsBase@@IAEHPBD0H@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Int@stSettingsBase@@IAEHPBD0H@Z
_TEXT	SEGMENT
$T66121 = -36						; size = 8
$T66123 = -28						; size = 8
$T66122 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_section$ = 8						; size = 4
_item$ = 12						; size = 4
_default$ = 16						; size = 4
?Load_Int@stSettingsBase@@IAEHPBD0H@Z PROC		; stSettingsBase::Load_Int, COMDAT
; _this$ = ecx

; 74   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Load_Int@stSettingsBase@@IAEHPBD0H@Z
	push	eax

; 75   : 		if (this->m_cfg != NULL)
; 76   : 			return this->m_cfg->GetData(aString::Format("\"%s\".%s", section, item), default).ToLong();

	mov	eax, DWORD PTR _default$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+12], 0
	je	$LN2@Load_Int
	push	eax
	lea	ecx, DWORD PTR $T66121[esp+44]
	call	??0aString@@QAE@H@Z			; aString::aString
	mov	ecx, DWORD PTR _item$[esp+36]
	mov	edx, DWORD PTR _section$[esp+36]
	push	ecx
	push	edx
	lea	eax, DWORD PTR $T66122[esp+48]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+64], 0
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	lea	esi, DWORD PTR $T66121[esp+40]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T66123[esp+48]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+60], 1
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+48], 2
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	lea	ecx, DWORD PTR $T66123[esp+40]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+48], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66122[esp+40]
	mov	BYTE PTR __$EHRec$[esp+48], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66121[esp+40]
	mov	DWORD PTR __$EHRec$[esp+48], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	eax, esi
$LN2@Load_Int:

; 77   : 		return default;
; 78   : 	};

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

; 101  : 	stSettingsBase()

	push	ecx

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

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

; 104  : 		this->m_confModTime = 0;

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

; 105  : 		this->m_owner = NULL;

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

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

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

; 107  : 	};

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

; 108  : 	virtual void Delete() { };

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

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

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

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

	mov	eax, DWORD PTR [ecx+76]
	ret	0
?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ ENDP	; gzPlayer::GetPlayerData
_TEXT	ENDS
PUBLIC	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ	; gzPlayer::GetPlayerName
; Function compile flags: /Ogtpy
;	COMDAT ?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ
_TEXT	SEGMENT
$T66162 = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ PROC	; gzPlayer::GetPlayerName, COMDAT
; _this$ = ecx

; 107  : 	inline aWideString GetPlayerName() { return this->m_name; };

	push	ecx
	push	esi
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+4]
	add	ecx, 80					; 00000050H
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR $T66162[esp+12], 0
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [esi], OFFSET ??_7aWideString@@6B@
	mov	eax, esi
	pop	esi
	pop	ecx
	ret	4
?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ENDP	; gzPlayer::GetPlayerName
_TEXT	ENDS
PUBLIC	?GetStId@gzPlayer@@QAEHXZ			; gzPlayer::GetStId
; Function compile flags: /Ogtpy
;	COMDAT ?GetStId@gzPlayer@@QAEHXZ
_TEXT	SEGMENT
?GetStId@gzPlayer@@QAEHXZ PROC				; gzPlayer::GetStId, COMDAT
; _this$ = ecx

; 111  : 	inline int GetStId() { return this->m_stId; };

	mov	eax, DWORD PTR [ecx+148]
	ret	0
?GetStId@gzPlayer@@QAEHXZ ENDP				; gzPlayer::GetStId
_TEXT	ENDS
PUBLIC	?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ ; gzGameManager::GetGame
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.h
;	COMDAT ?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ
_TEXT	SEGMENT
?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ PROC	; gzGameManager::GetGame, COMDAT
; _this$ = ecx

; 108  : 	gzGameModeBase *GetGame() { return this->m_gameMode; };

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

; 15   : 	this->m_commanderList.Clear();

	mov	eax, DWORD PTR [ecx+36]
	mov	edx, DWORD PTR [eax+4]
	add	ecx, 36					; 00000024H
	jmp	edx
?Delete@gzSettingsTeamCommanderClass@@UAEXXZ ENDP	; gzSettingsTeamCommanderClass::Delete
_TEXT	ENDS
PUBLIC	??_7gzSettingsEvent@@6B@			; gzSettingsEvent::`vftable'
PUBLIC	??0gzSettingsEvent@@QAE@XZ			; gzSettingsEvent::gzSettingsEvent
PUBLIC	??_R4gzSettingsEvent@@6B@			; gzSettingsEvent::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzSettingsEvent@@@8			; gzSettingsEvent `RTTI Type Descriptor'
PUBLIC	??_R3gzSettingsEvent@@8				; gzSettingsEvent::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzSettingsEvent@@8				; gzSettingsEvent::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzSettingsEvent@@8		; gzSettingsEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
;	COMDAT ??_R1A@?0A@EA@gzSettingsEvent@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzSettingsEvent@@8 DD FLAT:??_R0?AVgzSettingsEvent@@@8 ; gzSettingsEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R2gzSettingsEvent@@8
rdata$r	SEGMENT
??_R2gzSettingsEvent@@8 DD FLAT:??_R1A@?0A@EA@gzSettingsEvent@@8 ; gzSettingsEvent::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzSettingsEvent@@8
rdata$r	SEGMENT
??_R3gzSettingsEvent@@8 DD 00H				; gzSettingsEvent::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzSettingsEvent@@@8
_DATA	SEGMENT
??_R0?AVgzSettingsEvent@@@8 DD FLAT:??_7type_info@@6B@	; gzSettingsEvent `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzSettingsEvent@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzSettingsEvent@@6B@
rdata$r	SEGMENT
??_R4gzSettingsEvent@@6B@ DD 00H			; gzSettingsEvent::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzSettingsEvent@@@8
	DD	FLAT:??_R3gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_7gzSettingsEvent@@6B@
CONST	SEGMENT
??_7gzSettingsEvent@@6B@ DD FLAT:??_R4gzSettingsEvent@@6B@ ; gzSettingsEvent::`vftable'
	DD	FLAT:__purecall
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzSettingsEvent@@QAE@XZ
_TEXT	SEGMENT
??0gzSettingsEvent@@QAE@XZ PROC				; gzSettingsEvent::gzSettingsEvent, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET ??_7gzSettingsEvent@@6B@
	ret	0
??0gzSettingsEvent@@QAE@XZ ENDP				; gzSettingsEvent::gzSettingsEvent
_TEXT	ENDS
PUBLIC	__real@00000000
PUBLIC	?Settings_Loaded@gzTeamCommanderClass@@UAEXXZ	; gzTeamCommanderClass::Settings_Loaded
EXTRN	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z:PROC ; nc_DefinitionMgrClass::Find_Definition
EXTRN	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z:PROC ; nc_BaseControllerClass::Find_Building
EXTRN	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z:PROC ; nc_BaseControllerClass::Find_Base
EXTRN	__fltused:DWORD
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Settings_Loaded@gzTeamCommanderClass@@UAEXXZ
_TEXT	SEGMENT
tv473 = -4						; size = 4
?Settings_Loaded@gzTeamCommanderClass@@UAEXXZ PROC	; gzTeamCommanderClass::Settings_Loaded, COMDAT
; _this$ = ecx

; 69   : {

	push	ecx
	push	ebx
	push	ebp
	mov	ebx, ecx
	push	esi

; 70   : 	for (int i = 0; i < 2; i++)

	lea	ecx, DWORD PTR [ebx+40]
	xor	eax, eax
	push	edi
	xor	ebp, ebp
	mov	DWORD PTR tv473[esp+20], ecx
	lea	esi, DWORD PTR [ebx+20]
	jmp	SHORT $LN8@Settings_L
$LL15@Settings_L:
	xor	eax, eax
$LN8@Settings_L:

; 71   : 	{
; 72   : 		this->m_commander[i] = NULL;
; 73   : 		this->m_teamPool[i] = 0;
; 74   : 		this->m_canRequestVehicleNotify[i] = false;
; 75   : 		nc_BuildingGameObj *Refinery = nc_BaseControllerClass::Find_Base(i)->Find_Building(nc_REFINERY);

	push	3
	mov	DWORD PTR [esi-8], eax
	mov	DWORD PTR [esi-16], eax
	push	ebp
	mov	BYTE PTR [ebx+ebp+36], 0
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	add	esp, 4
	mov	ecx, eax
	call	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z ; nc_BaseControllerClass::Find_Building
	mov	edi, eax

; 76   : 		if (Refinery && Refinery->As_RefineryGameObj() && ((nc_RefineryGameObjDef *)Refinery->As_RefineryGameObj()->definition)->Harvester != 0)

	test	edi, edi
	je	SHORT $LN5@Settings_L
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+132]
	mov	ecx, edi
	call	eax
	test	eax, eax
	je	SHORT $LN5@Settings_L
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+132]
	mov	ecx, edi
	call	eax
	mov	ecx, DWORD PTR [eax+1724]
	cmp	DWORD PTR [ecx+172], 0
	je	SHORT $LN5@Settings_L

; 77   : 			this->m_harvMaxEngineTorque[i] = ((nc_TrackedVehicleDefClass *)nc_DefinitionMgrClass::Find_Definition(((nc_VehicleGameObjDef *)nc_DefinitionMgrClass::Find_Definition(((nc_RefineryGameObjDef *)Refinery->As_RefineryGameObj()->definition)->Harvester, true))->PhysDefID, true))->MaxEngineTorque;

	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+132]
	push	1
	push	1
	mov	ecx, edi
	call	eax
	mov	ecx, DWORD PTR [eax+1724]
	mov	edx, DWORD PTR [ecx+172]
	push	edx
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	mov	eax, DWORD PTR [eax+148]
	add	esp, 8
	push	eax
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	fld	DWORD PTR [eax+92]
	add	esp, 8

; 78   : 		else

	jmp	SHORT $LN16@Settings_L
$LN5@Settings_L:

; 79   : 			this->m_harvMaxEngineTorque[i] = 0.0f;

	fldz
$LN16@Settings_L:

; 80   : 		for (int j = 0; j < sizeof(this->m_buildingWarn[i]) / sizeof(int); j++)
; 81   : 			this->m_buildingWarn[i][j] = 0;

	mov	edx, DWORD PTR tv473[esp+20]
	fstp	DWORD PTR [esi]
	xor	eax, eax
	mov	edi, edx
	mov	ecx, 128				; 00000080H
	rep stosd

; 82   : 		this->m_lastBuildingWarn[i] = -1;

	mov	DWORD PTR [esi+1044], -1

; 83   : 		this->m_nextPurchaseTime[i] = this->m_settings->m_vehiclePurchaseInterval;

	mov	ecx, DWORD PTR [ebx+1088]
	mov	eax, DWORD PTR [ecx+28]
	mov	DWORD PTR [esi+8], eax
	add	ebp, 1
	add	edx, 512				; 00000200H
	add	esi, 4
	cmp	ebp, 2
	mov	DWORD PTR tv473[esp+20], edx
	jl	$LL15@Settings_L
	pop	edi
	pop	esi
	pop	ebp

; 84   : 	}
; 85   : 	this->m_lastSelection = 0;

	mov	DWORD PTR [ebx+1072], 0
	pop	ebx

; 86   : }

	pop	ecx
	ret	0
?Settings_Loaded@gzTeamCommanderClass@@UAEXXZ ENDP	; gzTeamCommanderClass::Settings_Loaded
_TEXT	ENDS
PUBLIC	??_C@_0CP@FBIDEGC@msg?5?$CFls?5is?5no?5longer?5the?5Team?5Co@ ; `string'
PUBLIC	??_C@_03IOFAJBDH@GDI?$AA@			; `string'
PUBLIC	??_C@_03OHGKCNFD@Nod?$AA@			; `string'
PUBLIC	?Player_Left@gzTeamCommanderClass@@UAEXAAVgzEventPlayerBase@@@Z ; gzTeamCommanderClass::Player_Left
EXTRN	?In@stConsole@@SAXPBDZZ:PROC			; stConsole::In
EXTRN	?Get@nc_IntDataSafeClass@@QAEHXZ:PROC		; nc_IntDataSafeClass::Get
;	COMDAT ??_C@_0CP@FBIDEGC@msg?5?$CFls?5is?5no?5longer?5the?5Team?5Co@
; File d:\source code\stgm\steventbase.h
CONST	SEGMENT
??_C@_0CP@FBIDEGC@msg?5?$CFls?5is?5no?5longer?5the?5Team?5Co@ DB 'msg %ls'
	DB	' is no longer the Team Commander of %s.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_03IOFAJBDH@GDI?$AA@
CONST	SEGMENT
??_C@_03IOFAJBDH@GDI?$AA@ DB 'GDI', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03OHGKCNFD@Nod?$AA@
CONST	SEGMENT
??_C@_03OHGKCNFD@Nod?$AA@ DB 'Nod', 00H			; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stteamcommander.cpp
CONST	ENDS
;	COMDAT ?Player_Left@gzTeamCommanderClass@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
tv75 = 8						; size = 4
_evt$ = 8						; size = 4
?Player_Left@gzTeamCommanderClass@@UAEXAAVgzEventPlayerBase@@@Z PROC ; gzTeamCommanderClass::Player_Left, COMDAT
; _this$ = ecx

; 300  : {

	push	esi

; 301  : 	if (this->m_commander[evt.GetPlayer()->PlayerType.Get()] && this->m_commander[evt.GetPlayer()->PlayerType.Get()]->GetPlayerData() == evt.GetPlayer())

	mov	esi, DWORD PTR _evt$[esp]
	mov	eax, DWORD PTR [esi+24]
	push	edi
	mov	edi, ecx
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	DWORD PTR [edi+eax*4+48], 0
	je	$LN3@Player_Lef
	mov	eax, DWORD PTR [esi+24]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	eax, DWORD PTR [edi+eax*4+48]
	mov	ecx, DWORD PTR [esi+24]
	cmp	DWORD PTR [eax+76], ecx
	jne	$LN3@Player_Lef
	push	ebx

; 302  : 	{
; 303  : 		nc_BuildingGameObj *Refinery = nc_BaseControllerClass::Find_Base(evt.GetPlayer()->PlayerType.Get())->Find_Building(nc_REFINERY);

	push	3
	add	ecx, 1900				; 0000076cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	push	eax
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	add	esp, 4
	mov	ecx, eax
	call	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z ; nc_BaseControllerClass::Find_Building
	mov	ebx, eax

; 304  : 		if (Refinery && Refinery->As_RefineryGameObj())

	test	ebx, ebx
	je	$LN28@Player_Lef
	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+132]
	mov	ecx, ebx
	call	edx
	test	eax, eax
	je	$LN28@Player_Lef

; 305  : 		{
; 306  : 			if (((nc_TrackedVehicleDefClass *)nc_DefinitionMgrClass::Find_Definition(((nc_VehicleGameObjDef *)nc_DefinitionMgrClass::Find_Definition(((nc_RefineryGameObjDef *)Refinery->definition)->Harvester, true))->PhysDefID, true))->MaxEngineTorque != this->m_harvMaxEngineTorque[evt.GetPlayer()->PlayerType.Get()])

	mov	eax, DWORD PTR [ebx+1724]
	mov	ecx, DWORD PTR [eax+172]
	push	ebp
	mov	ebp, DWORD PTR [esi+24]
	push	1
	push	1
	push	ecx
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	mov	edx, DWORD PTR [eax+148]
	add	esp, 8
	push	edx
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	add	eax, 92					; 0000005cH
	add	esp, 8
	lea	ecx, DWORD PTR [ebp+1900]
	mov	DWORD PTR tv75[esp+12], eax
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	fld	DWORD PTR [edi+eax*4+56]
	mov	eax, DWORD PTR tv75[esp+12]
	fcomp	DWORD PTR [eax]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN29@Player_Lef

; 307  : 				((nc_TrackedVehicleDefClass *)nc_DefinitionMgrClass::Find_Definition(((nc_VehicleGameObjDef *)nc_DefinitionMgrClass::Find_Definition(((nc_RefineryGameObjDef *)Refinery->definition)->Harvester, true))->PhysDefID, true))->MaxEngineTorque = this->m_harvMaxEngineTorque[evt.GetPlayer()->PlayerType.Get()];

	mov	eax, DWORD PTR [esi+24]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR [ebx+1724]
	mov	edx, DWORD PTR [ecx+172]
	push	1
	push	1
	push	edx
	lea	ebp, DWORD PTR [edi+eax*4+56]
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	mov	eax, DWORD PTR [eax+148]
	add	esp, 8
	push	eax
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	fld	DWORD PTR [ebp]
	fstp	DWORD PTR [eax+92]
	add	esp, 8
$LN29@Player_Lef:
	pop	ebp
$LN28@Player_Lef:

; 308  : 		}
; 309  : 		this->m_commander[evt.GetPlayer()->PlayerType.Get()] = NULL;

	mov	eax, DWORD PTR [esi+24]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	DWORD PTR [edi+eax*4+48], 0

; 310  : 		stConsole::In("msg %ls is no longer the Team Commander of %s.", evt.GetPlayer()->PlayerName.m_Buffer, evt.GetPlayer()->PlayerType.Get() == 0 ? "Nod" : "GDI");

	mov	eax, DWORD PTR [esi+24]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	test	eax, eax
	pop	ebx
	mov	eax, OFFSET ??_C@_03OHGKCNFD@Nod?$AA@
	je	SHORT $LN7@Player_Lef
	mov	eax, OFFSET ??_C@_03IOFAJBDH@GDI?$AA@
$LN7@Player_Lef:
	mov	ecx, DWORD PTR [esi+24]
	mov	edx, DWORD PTR [ecx+1880]
	push	eax
	push	edx
	push	OFFSET ??_C@_0CP@FBIDEGC@msg?5?$CFls?5is?5no?5longer?5the?5Team?5Co@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In
	add	esp, 12					; 0000000cH
$LN3@Player_Lef:
	pop	edi
	pop	esi

; 311  : 	}
; 312  : }

	ret	4
?Player_Left@gzTeamCommanderClass@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; gzTeamCommanderClass::Player_Left
_TEXT	ENDS
PUBLIC	?Object_Created@gzTeamCommanderClass@@UAEXAAVgzEventObjectCreate@@@Z ; gzTeamCommanderClass::Object_Created
; Function compile flags: /Ogtpy
;	COMDAT ?Object_Created@gzTeamCommanderClass@@UAEXAAVgzEventObjectCreate@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_Created@gzTeamCommanderClass@@UAEXAAVgzEventObjectCreate@@@Z PROC ; gzTeamCommanderClass::Object_Created, COMDAT
; _this$ = ecx

; 314  : {

	push	edi

; 315  : 	// Commander harvester control
; 316  : 	if (evt.m_obj->As_VehicleGameObj())

	mov	edi, DWORD PTR _evt$[esp]
	mov	ecx, DWORD PTR [edi+24]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+40]
	call	edx
	test	eax, eax
	je	$LN1@Object_Cre

; 317  : 	{
; 318  : 		nc_BaseControllerClass *Base = nc_BaseControllerClass::Find_Base(evt.m_obj->As_DamageableGameObj()->PlayerType);

	mov	ecx, DWORD PTR [edi+24]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+60]
	call	edx
	mov	eax, DWORD PTR [eax+1892]
	push	eax
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	add	esp, 4

; 319  : 		if (Base)

	test	eax, eax
	je	$LN1@Object_Cre
	push	esi

; 320  : 		{
; 321  : 			nc_BuildingGameObj *Refinery = Base->Find_Building(nc_REFINERY);

	push	3
	mov	ecx, eax
	call	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z ; nc_BaseControllerClass::Find_Building
	mov	esi, eax

; 322  : 			if (Refinery && !Refinery->As_RefineryGameObj()->Harvester)

	test	esi, esi
	je	$LN7@Object_Cre
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+132]
	mov	ecx, esi
	call	eax
	cmp	DWORD PTR [eax+2092], 0
	jne	SHORT $LN7@Object_Cre

; 323  : 			{
; 324  : 				if (!evt.m_obj->As_VehicleGameObj()->Owner.Reference && ((nc_RefineryGameObjDef *)Refinery->definition)->Harvester == evt.m_obj->definition->Get_ID())

	mov	ecx, DWORD PTR [edi+24]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	call	eax
	cmp	DWORD PTR [eax+2528], 0
	jne	SHORT $LN7@Object_Cre
	mov	ecx, DWORD PTR [edi+24]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+36]
	call	eax
	mov	ecx, DWORD PTR [esi+1724]
	cmp	DWORD PTR [ecx+172], eax
	jne	SHORT $LN7@Object_Cre

; 325  : 					((nc_TrackedVehicleDefClass *)nc_DefinitionMgrClass::Find_Definition(((nc_VehicleGameObjDef *)nc_DefinitionMgrClass::Find_Definition(((nc_RefineryGameObjDef *)Refinery->definition)->Harvester, true))->PhysDefID, true))->MaxEngineTorque = gzTeamCommander->m_harvMaxEngineTorque[evt.m_obj->As_DamageableGameObj()->PlayerType];

	mov	ecx, DWORD PTR [edi+24]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+60]
	call	eax
	mov	ecx, DWORD PTR [eax+1892]
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	eax, DWORD PTR [esi+1724]
	push	1
	lea	edi, DWORD PTR [edx+ecx*4+56]
	mov	ecx, DWORD PTR [eax+172]
	push	1
	push	ecx
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	mov	edx, DWORD PTR [eax+148]
	add	esp, 8
	push	edx
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	fld	DWORD PTR [edi]
	fstp	DWORD PTR [eax+92]
	add	esp, 8
$LN7@Object_Cre:
	pop	esi
$LN1@Object_Cre:
	pop	edi

; 326  : 			}
; 327  : 		}
; 328  : 	}
; 329  : }

	ret	4
?Object_Created@gzTeamCommanderClass@@UAEXAAVgzEventObjectCreate@@@Z ENDP ; gzTeamCommanderClass::Object_Created
_TEXT	ENDS
PUBLIC	?IsCommander@gzTeamCommanderClass@@QAE_NHH@Z	; gzTeamCommanderClass::IsCommander
; Function compile flags: /Ogtpy
;	COMDAT ?IsCommander@gzTeamCommanderClass@@QAE_NHH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
_pID$ = 12						; size = 4
?IsCommander@gzTeamCommanderClass@@QAE_NHH@Z PROC	; gzTeamCommanderClass::IsCommander, COMDAT
; _this$ = ecx

; 345  : 	if (this->m_commander[Team] == NULL)

	mov	eax, DWORD PTR _Team$[esp-4]
	mov	ecx, DWORD PTR [ecx+eax*4+48]
	test	ecx, ecx
	jne	SHORT $LN4@IsCommande
$LN2@IsCommande:

; 346  : 		return false;

	xor	al, al

; 350  : }

	ret	8
$LN4@IsCommande:

; 347  : 	if ((Team != 0 && Team != 1) || this->m_commander[Team]->GetPlayerData()->PlayerId != pID)

	test	eax, eax
	je	SHORT $LN1@IsCommande
	cmp	eax, 1
	jne	SHORT $LN2@IsCommande
$LN1@IsCommande:
	mov	eax, DWORD PTR [ecx+76]
	mov	ecx, DWORD PTR [eax+1884]
	cmp	ecx, DWORD PTR _pID$[esp-4]

; 348  : 		return false;

	jne	SHORT $LN2@IsCommande

; 349  : 	return true;

	mov	al, 1

; 350  : }

	ret	8
?IsCommander@gzTeamCommanderClass@@QAE_NHH@Z ENDP	; gzTeamCommanderClass::IsCommander
_TEXT	ENDS
PUBLIC	??_C@_0BE@EFPMAOKO@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFs?$AA@ ; `string'
PUBLIC	??_C@_01MCMALHOG@a?$AA@				; `string'
PUBLIC	??_C@_0BB@EDJMOEKP@tc_?$CFd?9?$CFd?9?$CF4d?4txt?$AA@ ; `string'
PUBLIC	??_C@_0BG@LIMFAEEA@?4?2stteamcommander?4cpp?$AA@ ; `string'
PUBLIC	??_C@_00CNPNBAHC@?$AA@				; `string'
PUBLIC	?Log@gzTeamCommanderClass@@QAAXPBDZZ		; gzTeamCommanderClass::Log
EXTRN	??1aFile@@UAE@XZ:PROC				; aFile::~aFile
EXTRN	??_V@YAXPAX@Z:PROC				; operator delete[]
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	?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	_vsprintf:PROC
EXTRN	??_U@YAPAXI@Z:PROC				; operator new[]
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
EXTRN	__vscprintf:PROC
;	COMDAT ??_C@_0BE@EFPMAOKO@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFs?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BE@EFPMAOKO@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFs?$AA@ DB '[%02'
	DB	'd:%02d:%02d] %s', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_01MCMALHOG@a?$AA@
CONST	SEGMENT
??_C@_01MCMALHOG@a?$AA@ DB 'a', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@EDJMOEKP@tc_?$CFd?9?$CFd?9?$CF4d?4txt?$AA@
CONST	SEGMENT
??_C@_0BB@EDJMOEKP@tc_?$CFd?9?$CFd?9?$CF4d?4txt?$AA@ DB 'tc_%d-%d-%4d.txt'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@LIMFAEEA@?4?2stteamcommander?4cpp?$AA@
CONST	SEGMENT
??_C@_0BG@LIMFAEEA@?4?2stteamcommander?4cpp?$AA@ DB '.\stteamcommander.cp'
	DB	'p', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_00CNPNBAHC@?$AA@
CONST	SEGMENT
??_C@_00CNPNBAHC@?$AA@ DB 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Log@gzTeamCommanderClass@@QAAXPBDZZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Log@gzTeamCommanderClass@@QAAXPBDZZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Log@gzTeamCommanderClass@@QAAXPBDZZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Log@gzTeamCommanderClass@@QAAXPBDZZ$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Log@gzTeamCommanderClass@@QAAXPBDZZ$2
__ehfuncinfo$?Log@gzTeamCommanderClass@@QAAXPBDZZ DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?Log@gzTeamCommanderClass@@QAAXPBDZZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stteamcommander.cpp
xdata$x	ENDS
;	COMDAT ?Log@gzTeamCommanderClass@@QAAXPBDZZ
_TEXT	SEGMENT
$T66257 = -72						; size = 8
$T66258 = -64						; size = 8
_log$ = -56						; size = 20
_now$ = -36						; size = 24
__$EHRec$ = -12						; size = 12
_this$ = 8						; size = 4
_Message$ = 12						; size = 4
?Log@gzTeamCommanderClass@@QAAXPBDZZ PROC		; gzTeamCommanderClass::Log, COMDAT

; 352  : {

	push	-1
	push	__ehhandler$?Log@gzTeamCommanderClass@@QAAXPBDZZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 60					; 0000003cH

; 353  : 	va_list args;
; 354  : 	va_start(args, Message);
; 355  : 	int size = _vscprintf(Message, args);

	mov	ecx, DWORD PTR _Message$[esp+68]
	push	esi
	lea	eax, DWORD PTR _Message$[esp+76]
	push	eax
	push	ecx
	call	__vscprintf

; 356  : 	char *LogMsg = new char[size +1];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	356					; 00000164H
	push	OFFSET ??_C@_0BG@LIMFAEEA@?4?2stteamcommander?4cpp?$AA@
	mov	esi, eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	add	esi, 1
	push	esi
	call	??_U@YAPAXI@Z				; operator new[]
	mov	esi, eax

; 357  : 	vsprintf(LogMsg, Message, args);

	mov	eax, DWORD PTR _Message$[esp+96]
	lea	edx, DWORD PTR _Message$[esp+100]
	push	edx
	push	eax
	push	esi
	call	_vsprintf

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

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

; 359  : 	aFile log(aString::Format("tc_%d-%d-%4d.txt",now.GetMonth(), now.GetDay(), now.GetYear()), "a");

	lea	ecx, DWORD PTR _now$[esp+76]
	call	?GetYear@aDateTime@@QAEIXZ		; aDateTime::GetYear
	push	eax
	lea	ecx, DWORD PTR _now$[esp+80]
	call	?GetDay@aDateTime@@QAEIXZ		; aDateTime::GetDay
	push	eax
	lea	ecx, DWORD PTR _now$[esp+84]
	call	?GetMonth@aDateTime@@QAEIXZ		; aDateTime::GetMonth
	push	eax
	lea	edx, DWORD PTR $T66257[esp+88]
	push	OFFSET ??_C@_0BB@EDJMOEKP@tc_?$CFd?9?$CFd?9?$CF4d?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 _log$[esp+84]
	mov	DWORD PTR __$EHRec$[esp+92], 0
	call	??0aFile@@QAE@ABVaString@@PBD@Z		; aFile::aFile
	lea	ecx, DWORD PTR $T66257[esp+76]
	mov	BYTE PTR __$EHRec$[esp+84], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 360  : 	if (log.IsOpened())

	lea	ecx, DWORD PTR _log$[esp+76]
	call	?IsOpened@aFile@@UAE_NXZ		; aFile::IsOpened
	test	al, al
	je	SHORT $LN1@Log

; 361  : 		log.Write(aString::Format("[%02d:%02d:%02d] %s", now.GetHour(), now.GetMinute(), now.GetSecond(), LogMsg));

	push	esi
	lea	ecx, DWORD PTR _now$[esp+80]
	call	?GetSecond@aDateTime@@QAEIXZ		; aDateTime::GetSecond
	push	eax
	lea	ecx, DWORD PTR _now$[esp+84]
	call	?GetMinute@aDateTime@@QAEIXZ		; aDateTime::GetMinute
	push	eax
	lea	ecx, DWORD PTR _now$[esp+88]
	call	?GetHour@aDateTime@@QAEIXZ		; aDateTime::GetHour
	push	eax
	lea	eax, DWORD PTR $T66258[esp+92]
	push	OFFSET ??_C@_0BE@EFPMAOKO@?$FL?$CF02d?3?$CF02d?3?$CF02d?$FN?5?$CFs?$AA@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 24					; 00000018H
	push	0
	push	eax
	lea	ecx, DWORD PTR _log$[esp+84]
	mov	BYTE PTR __$EHRec$[esp+92], 3
	call	?Write@aFile@@QAEIABVaString@@I@Z	; aFile::Write
	lea	ecx, DWORD PTR $T66258[esp+76]
	mov	BYTE PTR __$EHRec$[esp+84], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@Log:

; 362  : 	delete [] LogMsg;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	362					; 0000016aH
	push	OFFSET ??_C@_0BG@LIMFAEEA@?4?2stteamcommander?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 363  : }

	lea	ecx, DWORD PTR _log$[esp+76]
	mov	DWORD PTR __$EHRec$[esp+84], -1
	call	??1aFile@@UAE@XZ			; aFile::~aFile
	mov	ecx, DWORD PTR __$EHRec$[esp+76]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 72					; 00000048H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Log@gzTeamCommanderClass@@QAAXPBDZZ$0:
	lea	ecx, DWORD PTR $T66257[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Log@gzTeamCommanderClass@@QAAXPBDZZ$1:
	lea	ecx, DWORD PTR _log$[ebp]
	jmp	??1aFile@@UAE@XZ			; aFile::~aFile
__unwindfunclet$?Log@gzTeamCommanderClass@@QAAXPBDZZ$2:
	lea	ecx, DWORD PTR $T66258[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Log@gzTeamCommanderClass@@QAAXPBDZZ:
	mov	eax, OFFSET __ehfuncinfo$?Log@gzTeamCommanderClass@@QAAXPBDZZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Log@gzTeamCommanderClass@@QAAXPBDZZ ENDP		; gzTeamCommanderClass::Log
PUBLIC	??_7SetTeamCommanderConsoleFunction@@6B@	; SetTeamCommanderConsoleFunction::`vftable'
PUBLIC	??0SetTeamCommanderConsoleFunction@@QAE@XZ	; SetTeamCommanderConsoleFunction::SetTeamCommanderConsoleFunction
PUBLIC	??_R4SetTeamCommanderConsoleFunction@@6B@	; SetTeamCommanderConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVSetTeamCommanderConsoleFunction@@@8	; SetTeamCommanderConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3SetTeamCommanderConsoleFunction@@8		; SetTeamCommanderConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SetTeamCommanderConsoleFunction@@8		; SetTeamCommanderConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SetTeamCommanderConsoleFunction@@8 ; SetTeamCommanderConsoleFunction::`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@SetTeamCommanderConsoleFunction@@UAEPADXZ ; SetTeamCommanderConsoleFunction::Get_Name
PUBLIC	?Get_Alias@SetTeamCommanderConsoleFunction@@UAEPADXZ ; SetTeamCommanderConsoleFunction::Get_Alias
PUBLIC	?Get_Help@SetTeamCommanderConsoleFunction@@UAEPADXZ ; SetTeamCommanderConsoleFunction::Get_Help
PUBLIC	?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z ; SetTeamCommanderConsoleFunction::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@SetTeamCommanderConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SetTeamCommanderConsoleFunction@@8 DD FLAT:??_R0?AVSetTeamCommanderConsoleFunction@@@8 ; SetTeamCommanderConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SetTeamCommanderConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2SetTeamCommanderConsoleFunction@@8
rdata$r	SEGMENT
??_R2SetTeamCommanderConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@SetTeamCommanderConsoleFunction@@8 ; SetTeamCommanderConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3SetTeamCommanderConsoleFunction@@8
rdata$r	SEGMENT
??_R3SetTeamCommanderConsoleFunction@@8 DD 00H		; SetTeamCommanderConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2SetTeamCommanderConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVSetTeamCommanderConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVSetTeamCommanderConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; SetTeamCommanderConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSetTeamCommanderConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4SetTeamCommanderConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4SetTeamCommanderConsoleFunction@@6B@ DD 00H	; SetTeamCommanderConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSetTeamCommanderConsoleFunction@@@8
	DD	FLAT:??_R3SetTeamCommanderConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7SetTeamCommanderConsoleFunction@@6B@
CONST	SEGMENT
??_7SetTeamCommanderConsoleFunction@@6B@ DD FLAT:??_R4SetTeamCommanderConsoleFunction@@6B@ ; SetTeamCommanderConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@SetTeamCommanderConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@SetTeamCommanderConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@SetTeamCommanderConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0SetTeamCommanderConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0SetTeamCommanderConsoleFunction@@QAE@XZ PROC		; SetTeamCommanderConsoleFunction::SetTeamCommanderConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7SetTeamCommanderConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0SetTeamCommanderConsoleFunction@@QAE@XZ ENDP		; SetTeamCommanderConsoleFunction::SetTeamCommanderConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_0BB@BMNANENB@setteamcommander?$AA@	; `string'
;	COMDAT ??_C@_0BB@BMNANENB@setteamcommander?$AA@
CONST	SEGMENT
??_C@_0BB@BMNANENB@setteamcommander?$AA@ DB 'setteamcommander', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@SetTeamCommanderConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@SetTeamCommanderConsoleFunction@@UAEPADXZ PROC ; SetTeamCommanderConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 723  : 		return "setteamcommander";

	mov	eax, OFFSET ??_C@_0BB@BMNANENB@setteamcommander?$AA@

; 724  : 	}

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

; 727  : 		return "settc";

	mov	eax, OFFSET ??_C@_05GLCMBGCN@settc?$AA@

; 728  : 	}

	ret	0
?Get_Alias@SetTeamCommanderConsoleFunction@@UAEPADXZ ENDP ; SetTeamCommanderConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0DO@BEMDMHN@SETTEAMCOMMANDER?5?9?5Force?5?$DMplayer@ ; `string'
;	COMDAT ??_C@_0DO@BEMDMHN@SETTEAMCOMMANDER?5?9?5Force?5?$DMplayer@
CONST	SEGMENT
??_C@_0DO@BEMDMHN@SETTEAMCOMMANDER?5?9?5Force?5?$DMplayer@ DB 'SETTEAMCOM'
	DB	'MANDER - Force <player> to become a team commander.', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@SetTeamCommanderConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@SetTeamCommanderConsoleFunction@@UAEPADXZ PROC ; SetTeamCommanderConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 731  : 		return "SETTEAMCOMMANDER - Force <player> to become a team commander.";

	mov	eax, OFFSET ??_C@_0DO@BEMDMHN@SETTEAMCOMMANDER?5?9?5Force?5?$DMplayer@

; 732  : 	}

	ret	0
?Get_Help@SetTeamCommanderConsoleFunction@@UAEPADXZ ENDP ; SetTeamCommanderConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_C@_0CG@HHDPJFOE@Currently?5Team?5Pool?5has?5?$CFd?5credi@ ; `string'
PUBLIC	??_C@_0CC@LGGBPNOE@msg?5?$CFls?5is?5now?5?$CFs?5Team?5Commander@ ; `string'
PUBLIC	??_C@_0CO@OJNAKAML@setteamcommander?5console?5issued?$DL@ ; `string'
PUBLIC	??_C@_0BD@KKOEOPOE@Player?5not?5found?4?6?$AA@	; `string'
EXTRN	?PagePlayer@@YAXHPBDZZ:PROC			; PagePlayer
EXTRN	?Out@stConsole@@SAXPBDZZ:PROC			; stConsole::Out
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z:PROC	; gzPlayerManager::Find
EXTRN	_atoi:PROC
;	COMDAT ??_C@_0CG@HHDPJFOE@Currently?5Team?5Pool?5has?5?$CFd?5credi@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_0CG@HHDPJFOE@Currently?5Team?5Pool?5has?5?$CFd?5credi@ DB 'Currentl'
	DB	'y Team Pool has %d credit(s).', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CC@LGGBPNOE@msg?5?$CFls?5is?5now?5?$CFs?5Team?5Commander@
CONST	SEGMENT
??_C@_0CC@LGGBPNOE@msg?5?$CFls?5is?5now?5?$CFs?5Team?5Commander@ DB 'msg '
	DB	'%ls is now %s Team Commander.', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CO@OJNAKAML@setteamcommander?5console?5issued?$DL@
CONST	SEGMENT
??_C@_0CO@OJNAKAML@setteamcommander?5console?5issued?$DL@ DB 'setteamcomm'
	DB	'ander console issued; player: %ls', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@KKOEOPOE@Player?5not?5found?4?6?$AA@
CONST	SEGMENT
??_C@_0BD@KKOEOPOE@Player?5not?5found?4?6?$AA@ DB 'Player not found.', 0aH
	DB	00H						; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z$1
__ehfuncinfo$?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stteamcommander.cpp
xdata$x	ENDS
;	COMDAT ?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
$T66294 = -28						; size = 8
$T66297 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z PROC ; SetTeamCommanderConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 734  : 	{

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

; 735  : 		if (!*text)

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

; 736  : 			return;
; 737  : 		gzPlayer *gzData = gzPlayerManager::Find(atoi(text));

	push	eax
	call	_atoi
	push	eax
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	esi, eax
	add	esp, 8

; 738  : 		if (!gzData)

	test	esi, esi
	jne	SHORT $LN2@Activate

; 739  : 			stConsole::Out("Player not found.\n");

	push	OFFSET ??_C@_0BD@KKOEOPOE@Player?5not?5found?4?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 4
	pop	esi

; 747  : 		}
; 748  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	4
$LN2@Activate:

; 740  : 		else
; 741  : 		{
; 742  : 			gzTeamCommander->Log("setteamcommander console issued; player: %ls\n", gzData->GetPlayerName().GetString());

	lea	eax, DWORD PTR $T66294[esp+32]
	push	eax
	mov	ecx, esi
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+40], 0
	je	SHORT $LN12@Activate
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN13@Activate
$LN12@Activate:
	xor	eax, eax
$LN13@Activate:
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	eax
	push	OFFSET ??_C@_0CO@OJNAKAML@setteamcommander?5console?5issued?$DL@
	push	ecx
	call	?Log@gzTeamCommanderClass@@QAAXPBDZZ	; gzTeamCommanderClass::Log
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T66294[esp+32]
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 743  : 			gzTeamCommander->m_commander[gzData->GetPlayerData()->PlayerType.Get()] = gzData;

	mov	eax, DWORD PTR [esi+76]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	DWORD PTR [edx+eax*4+48], esi

; 744  : 			stConsole::In("msg %ls is now %s Team Commander.", gzData->GetPlayerName().GetString(), (Team == 0) ? "Nod" : "GDI");

	lea	eax, DWORD PTR $T66297[esp+32]
	push	eax
	mov	ecx, esi
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+40], 1
	je	SHORT $LN23@Activate
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN24@Activate
$LN23@Activate:
	xor	eax, eax
$LN24@Activate:
	push	OFFSET ??_C@_03IOFAJBDH@GDI?$AA@
	push	eax
	push	OFFSET ??_C@_0CC@LGGBPNOE@msg?5?$CFls?5is?5now?5?$CFs?5Team?5Commander@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T66297[esp+32]
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 745  : 			PagePlayer(gzData->GetPlayerData()->PlayerId, "Currently Team Pool has %d credit(s).", gzTeamCommander->m_teamPool[Team]);

	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	edx, DWORD PTR [ecx+44]
	mov	eax, DWORD PTR [esi+76]
	mov	ecx, DWORD PTR [eax+1884]
	push	edx
	push	OFFSET ??_C@_0CG@HHDPJFOE@Currently?5Team?5Pool?5has?5?$CFd?5credi@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 746  : 			gzTeamCommander->m_canRequestVehicleNotify[gzData->GetPlayerData()->PlayerType.Get()] = true;

	mov	esi, DWORD PTR [esi+76]
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR [esi+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	BYTE PTR [eax+edx+72], 1
	pop	esi
$LN1@Activate:

; 747  : 		}
; 748  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T66294[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR $T66297[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@SetTeamCommanderConsoleFunction@@UAEXPAD@Z ENDP ; SetTeamCommanderConsoleFunction::Activate
PUBLIC	__TI2?AVbad_alloc@std@@
PUBLIC	??_C@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@ ; `string'
PUBLIC	?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z ; std::_DebugHeapAllocator<char>::allocate
PUBLIC	__CTA2?AVbad_alloc@std@@
PUBLIC	__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
PUBLIC	??0bad_alloc@std@@QAE@ABV01@@Z			; std::bad_alloc::bad_alloc
PUBLIC	__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
EXTRN	??_U@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z:PROC	; operator new[]
EXTRN	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ:PROC ; std::_DebugHeapTag_func
EXTRN	__CxxThrowException@8:PROC
EXTRN	??0exception@std@@QAE@ABV01@@Z:PROC		; std::exception::exception
;	COMDAT __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
; File c:\program files (x86)\microsoft visual studio 8\vc\include\exception
xdata$x	SEGMENT
__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 DD 00H
	DD	FLAT:??_R0?AVexception@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0exception@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
xdata$x	SEGMENT
__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12 DD 00H
	DD	FLAT:??_R0?AVbad_alloc@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0bad_alloc@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CTA2?AVbad_alloc@std@@
xdata$x	SEGMENT
__CTA2?AVbad_alloc@std@@ DD 02H
	DD	FLAT:__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
	DD	FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x	ENDS
;	COMDAT __TI2?AVbad_alloc@std@@
xdata$x	SEGMENT
__TI2?AVbad_alloc@std@@ DD 00H
	DD	FLAT:??1bad_alloc@std@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA2?AVbad_alloc@std@@
xdata$x	ENDS
;	COMDAT ??_C@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@
CONST	SEGMENT
??_C@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@ DB 'C:\Pr'
	DB	'ogram Files (x86)\Microsoft Visual Studio 8\VC\include\xdebug'
	DB	00H						; `string'
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\xdebug
CONST	ENDS
;	COMDAT ?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z
_TEXT	SEGMENT
$T66360 = -12						; size = 12
_this$ = 8						; size = 4
$T66366 = 12						; size = 4
__Count$ = 12						; size = 4
___formal$ = 16						; size = 4
?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z PROC ; std::_DebugHeapAllocator<char>::allocate, COMDAT

; 79   : 		{	// check for integer overflow

	sub	esp, 12					; 0000000cH
	push	esi

; 80   : 		if (_Count <= 0)

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

; 81   : 			_Count = 0;

	xor	esi, esi
$LN1@allocate:

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

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

; 87   : 		}

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

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

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

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

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

; 90   : 		{	// check for integer overflow

	sub	esp, 12					; 0000000cH
	push	esi

; 91   : 		if (_Count <= 0)

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

; 92   : 			_Count = 0;

	xor	esi, esi
$LN1@allocate@2:

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

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

; 98   : 		}

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

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

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

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

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

; 27   : 	aVector()

	mov	eax, ecx

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

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

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

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

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

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

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

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

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

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

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

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

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

; 79   : 	};

	ret	0
?Clear@?$aVector@PAVaStringData@@@@UAEXXZ ENDP		; aVector<aStringData *>::Clear
_TEXT	ENDS
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

; 81   : 	{

	push	esi
	push	edi

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

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

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

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

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

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

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

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

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

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

; 94   : 					delete[] this->m_vector;

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

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

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

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

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize:

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

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

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

; 107  : 	{

	push	esi
	mov	esi, ecx

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

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

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

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

; 110  : 	}

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

; 112  : 	{

	push	esi
	mov	esi, ecx

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

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

; 114  : 			this->Add(obj);

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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert:

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

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

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

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

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

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

; 119  : 		}
; 120  : 	}

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

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

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

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

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

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete:

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

	cmp	edx, eax
	jae	SHORT $LN1@Delete

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

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

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

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

; 132  : 		}
; 133  : 	}

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

; 80   : 	{

	push	ebx
	push	esi
	push	edi
	mov	esi, ecx

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

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

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

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

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

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

; 84   : 	};

	ret	0
?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ ENDP	; aStringArrayBase<aWideString>::Clear
_TEXT	ENDS
PUBLIC	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
EXTRN	?SetData@aStringBase@@QAEXPAVaStringData@@@Z:PROC ; aStringBase::SetData
EXTRN	??0aWideString@@QAE@XZ:PROC			; aWideString::aWideString
;	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
$T66433 = -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 $T66433[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 $T66433[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 $T66433[ebp]
	and	eax, 1
	je	$LN4@operator
	and	DWORD PTR $T66433[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR ___$ReturnUdt$[ebp-4]
	jmp	??1aWideString@@UAE@XZ
$LN4@operator:
	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
	push	edi
	mov	esi, ecx

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

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

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

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

; 95   : 	};

	lea	ecx, DWORD PTR _content$[esp+16]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	add	esp, 12					; 0000000cH
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Add@?$aStringArrayBase@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	??_7?$aVector@PAUaSQLite3ResultData@@@@6B@	; aVector<aSQLite3ResultData *>::`vftable'
PUBLIC	??0?$aVector@PAUaSQLite3ResultData@@@@QAE@XZ	; aVector<aSQLite3ResultData *>::aVector<aSQLite3ResultData *>
PUBLIC	??_R4?$aVector@PAUaSQLite3ResultData@@@@6B@	; aVector<aSQLite3ResultData *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@PAUaSQLite3ResultData@@@@@8	; aVector<aSQLite3ResultData *> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@PAUaSQLite3ResultData@@@@8	; aVector<aSQLite3ResultData *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@PAUaSQLite3ResultData@@@@8	; aVector<aSQLite3ResultData *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@PAUaSQLite3ResultData@@@@8 ; aVector<aSQLite3ResultData *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@PAUaSQLite3ResultData@@@@UAEXXZ ; aVector<aSQLite3ResultData *>::Clear
PUBLIC	?Resize@?$aVector@PAUaSQLite3ResultData@@@@UAE_NI@Z ; aVector<aSQLite3ResultData *>::Resize
PUBLIC	?Add@?$aVector@PAUaSQLite3ResultData@@@@UAEXABQAUaSQLite3ResultData@@@Z ; aVector<aSQLite3ResultData *>::Add
PUBLIC	?Insert@?$aVector@PAUaSQLite3ResultData@@@@UAEXIABQAUaSQLite3ResultData@@@Z ; aVector<aSQLite3ResultData *>::Insert
PUBLIC	?Delete@?$aVector@PAUaSQLite3ResultData@@@@UAEXI@Z ; aVector<aSQLite3ResultData *>::Delete
EXTRN	??_E?$aVector@PAUaSQLite3ResultData@@@@UAEPAXI@Z:PROC ; aVector<aSQLite3ResultData *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@PAUaSQLite3ResultData@@@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@PAUaSQLite3ResultData@@@@8 DD FLAT:??_R0?AV?$aVector@PAUaSQLite3ResultData@@@@@8 ; aVector<aSQLite3ResultData *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@PAUaSQLite3ResultData@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@PAUaSQLite3ResultData@@@@8
rdata$r	SEGMENT
??_R2?$aVector@PAUaSQLite3ResultData@@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@PAUaSQLite3ResultData@@@@8 ; aVector<aSQLite3ResultData *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@PAUaSQLite3ResultData@@@@8
rdata$r	SEGMENT
??_R3?$aVector@PAUaSQLite3ResultData@@@@8 DD 00H	; aVector<aSQLite3ResultData *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@PAUaSQLite3ResultData@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@PAUaSQLite3ResultData@@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@PAUaSQLite3ResultData@@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<aSQLite3ResultData *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@PAUaSQLite3ResultData@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@PAUaSQLite3ResultData@@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@PAUaSQLite3ResultData@@@@6B@ DD 00H	; aVector<aSQLite3ResultData *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@PAUaSQLite3ResultData@@@@@8
	DD	FLAT:??_R3?$aVector@PAUaSQLite3ResultData@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
CONST	SEGMENT
??_7?$aVector@PAUaSQLite3ResultData@@@@6B@ DD FLAT:??_R4?$aVector@PAUaSQLite3ResultData@@@@6B@ ; aVector<aSQLite3ResultData *>::`vftable'
	DD	FLAT:??_E?$aVector@PAUaSQLite3ResultData@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@PAUaSQLite3ResultData@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAUaSQLite3ResultData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAUaSQLite3ResultData@@@@UAEXABQAUaSQLite3ResultData@@@Z
	DD	FLAT:?Insert@?$aVector@PAUaSQLite3ResultData@@@@UAEXIABQAUaSQLite3ResultData@@@Z
	DD	FLAT:?Delete@?$aVector@PAUaSQLite3ResultData@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@PAUaSQLite3ResultData@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@PAUaSQLite3ResultData@@@@QAE@XZ PROC	; aVector<aSQLite3ResultData *>::aVector<aSQLite3ResultData *>, COMDAT
; _this$ = ecx

; 27   : 	aVector()

	mov	eax, ecx

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

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

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

	ret	0
??0?$aVector@PAUaSQLite3ResultData@@@@QAE@XZ ENDP	; aVector<aSQLite3ResultData *>::aVector<aSQLite3ResultData *>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Clear@?$aVector@PAUaSQLite3ResultData@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@PAUaSQLite3ResultData@@@@UAEXXZ PROC	; aVector<aSQLite3ResultData *>::Clear, COMDAT
; _this$ = ecx

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

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

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

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

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

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

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

; 79   : 	};

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

; 81   : 	{

	push	esi
	push	edi

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

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

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

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

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

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

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

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

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

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

; 94   : 					delete[] this->m_vector;

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

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

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

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

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@2:

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

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

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

; 107  : 	{

	push	esi
	mov	esi, ecx

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

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

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

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

; 110  : 	}

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

; 112  : 	{

	push	esi
	mov	esi, ecx

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

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

; 114  : 			this->Add(obj);

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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@2:

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

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

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

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

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

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

; 119  : 		}
; 120  : 	}

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

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

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

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

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

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@2:

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

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

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

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

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

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

; 132  : 		}
; 133  : 	}

	ret	4
?Delete@?$aVector@PAUaSQLite3ResultData@@@@UAEXI@Z ENDP	; aVector<aSQLite3ResultData *>::Delete
_TEXT	ENDS
PUBLIC	?Count@?$nc_DynamicVectorClass@PAVnc_BuildingGameObj@@@@QAEHXZ ; nc_DynamicVectorClass<nc_BuildingGameObj *>::Count
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_vector.h
;	COMDAT ?Count@?$nc_DynamicVectorClass@PAVnc_BuildingGameObj@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$nc_DynamicVectorClass@PAVnc_BuildingGameObj@@@@QAEHXZ PROC ; nc_DynamicVectorClass<nc_BuildingGameObj *>::Count, COMDAT
; _this$ = ecx

; 375  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+16]

; 376  : 	}

	ret	0
?Count@?$nc_DynamicVectorClass@PAVnc_BuildingGameObj@@@@QAEHXZ ENDP ; nc_DynamicVectorClass<nc_BuildingGameObj *>::Count
_TEXT	ENDS
PUBLIC	??A?$nc_VectorClass@PAVnc_BuildingGameObj@@@@QAEAAPAVnc_BuildingGameObj@@H@Z ; nc_VectorClass<nc_BuildingGameObj *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$nc_VectorClass@PAVnc_BuildingGameObj@@@@QAEAAPAVnc_BuildingGameObj@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$nc_VectorClass@PAVnc_BuildingGameObj@@@@QAEAAPAVnc_BuildingGameObj@@H@Z PROC ; nc_VectorClass<nc_BuildingGameObj *>::operator[], COMDAT
; _this$ = ecx

; 341  : 		return Vector[index];

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

; 342  : 	}

	ret	4
??A?$nc_VectorClass@PAVnc_BuildingGameObj@@@@QAEAAPAVnc_BuildingGameObj@@H@Z ENDP ; nc_VectorClass<nc_BuildingGameObj *>::operator[]
_TEXT	ENDS
PUBLIC	?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ ; nc_VectorClass<nc_SoldierGameObj *>::Length
; Function compile flags: /Ogtpy
;	COMDAT ?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ
_TEXT	SEGMENT
?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ PROC ; nc_VectorClass<nc_SoldierGameObj *>::Length, COMDAT
; _this$ = ecx

; 337  : 		return VectorMax;

	mov	eax, DWORD PTR [ecx+8]

; 338  : 	}

	ret	0
?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ ENDP ; nc_VectorClass<nc_SoldierGameObj *>::Length
_TEXT	ENDS
PUBLIC	?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z ; aVector<gzChatCommandBase *>::Add
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z PROC ; aVector<gzChatCommandBase *>::Add, COMDAT
; _this$ = ecx

; 107  : 	{

	push	esi
	mov	esi, ecx

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

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

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

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

; 110  : 	}

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

; 27   : 	aVector()

	mov	eax, ecx

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

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

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

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

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

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

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

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

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

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

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

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

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

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

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

; 79   : 	};

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

; 81   : 	{

	push	esi
	push	edi

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

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

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

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

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

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

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

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

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

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

; 94   : 					delete[] this->m_vector;

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

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

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

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

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@3:

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

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

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

; 107  : 	{

	push	esi
	mov	esi, ecx

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

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

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

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

; 110  : 	}

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

; 112  : 	{

	push	esi
	mov	esi, ecx

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

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

; 114  : 			this->Add(obj);

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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@3:

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

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

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

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

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

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

; 119  : 		}
; 120  : 	}

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

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

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

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

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

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@3:

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

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

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

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

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

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

; 132  : 		}
; 133  : 	}

	ret	4
?Delete@?$aVector@PAVgzPlayer@@@@UAEXI@Z ENDP		; aVector<gzPlayer *>::Delete
; 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 (x86)\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ??0?$allocator@D@std@@QAE@XZ
_TEXT	SEGMENT
??0?$allocator@D@std@@QAE@XZ PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

; 120  : 	allocator() _THROW0()

	mov	eax, ecx

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

	ret	0
??0?$allocator@D@std@@QAE@XZ ENDP			; std::allocator<char>::allocator<char>
_TEXT	ENDS
PUBLIC	?GetNext@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV1@XZ ; aListNode<aMapStruct<aString> >::GetNext
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\alist.h
;	COMDAT ?GetNext@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV1@XZ
_TEXT	SEGMENT
?GetNext@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV1@XZ PROC ; aListNode<aMapStruct<aString> >::GetNext, COMDAT
; _this$ = ecx

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

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

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

	mov	eax, DWORD PTR [ecx+4]
	ret	0
?GetData@?$aListNode@V?$aMapStruct@VaString@@@@@@QAEPAV?$aMapStruct@VaString@@@@XZ ENDP ; aListNode<aMapStruct<aString> >::GetData
_TEXT	ENDS
PUBLIC	??0?$allocator@D@std@@QAE@ABV01@@Z		; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ??0?$allocator@D@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??0?$allocator@D@std@@QAE@ABV01@@Z PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

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

	mov	eax, ecx

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

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

; 56   : 	if (_Ptr != 0)

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

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

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

; 62   : 		}
; 63   : 	}

	ret	0
??$_DebugHeapDelete@X@std@@YAXPAX@Z ENDP		; std::_DebugHeapDelete<void>
; 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@2
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@2:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideString@@UAEPAXI@Z ENDP				; aWideString::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0EM@GFFGNEK@?$FLTeamCommander?$FN?5Error?5?9?5Team?5Com@ ; `string'
PUBLIC	??_C@_0BA@JJKGBBBI@Commanders?4?$FL?$CFd?$FN?$AA@ ; `string'
PUBLIC	??_C@_0L@DBOONEFF@Commanders?$AA@		; `string'
PUBLIC	??_C@_0BC@BOHHAOCP@minimumVictoryLog?$AA@	; `string'
PUBLIC	??_C@_0BI@LPOMHCJK@VehiclePurchaseInterval?$AA@	; `string'
PUBLIC	??_C@_07ECEMPDJM@General?$AA@			; `string'
PUBLIC	??_C@_06CKGENIKG@Enable?$AA@			; `string'
PUBLIC	??_C@_0DL@EMLJINDC@?$FLError?$FN?5TeamCommander?4ini?5can?5no@ ; `string'
PUBLIC	??_C@_0BC@DPDOHLLG@TeamCommander?4ini?$AA@	; `string'
PUBLIC	?Load@gzSettingsTeamCommanderClass@@UAEXXZ	; gzSettingsTeamCommanderClass::Load
EXTRN	?gzGameMgr@@3PAVgzGameManager@@A:DWORD		; gzGameMgr
EXTRN	?Close@stSettingsBase@@QAEXXZ:PROC		; stSettingsBase::Close
EXTRN	??1aToken@@UAE@XZ:PROC				; aToken::~aToken
EXTRN	??0aWideString@@QAE@ABVaString@@@Z:PROC		; aWideString::aWideString
EXTRN	?GetData@aToken@@QAEABVaString@@XZ:PROC		; aToken::GetData
EXTRN	?gettok@aToken@@QAE?AV1@HE@Z:PROC		; aToken::gettok
EXTRN	?numtok@aToken@@QAEHE@Z:PROC			; aToken::numtok
EXTRN	??0aToken@@QAE@ABVaString@@@Z:PROC		; aToken::aToken
EXTRN	?m_EmptyString@aString@@2PBDB:DWORD		; aString::m_EmptyString
EXTRN	?Open@stSettingsBase@@QAE_NABVaString@@@Z:PROC	; stSettingsBase::Open
EXTRN	??0aString@@QAE@PBD@Z:PROC			; aString::aString
;	COMDAT ??_C@_0EM@GFFGNEK@?$FLTeamCommander?$FN?5Error?5?9?5Team?5Com@
; File d:\source code\stgm\stgame.h
CONST	SEGMENT
??_C@_0EM@GFFGNEK@?$FLTeamCommander?$FN?5Error?5?9?5Team?5Com@ DB '[TeamC'
	DB	'ommander] Error - Team Commander can not be enabled in %s gam'
	DB	'e mode.', 0aH, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@JJKGBBBI@Commanders?4?$FL?$CFd?$FN?$AA@
CONST	SEGMENT
??_C@_0BA@JJKGBBBI@Commanders?4?$FL?$CFd?$FN?$AA@ DB 'Commanders.[%d]', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@DBOONEFF@Commanders?$AA@
CONST	SEGMENT
??_C@_0L@DBOONEFF@Commanders?$AA@ DB 'Commanders', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@BOHHAOCP@minimumVictoryLog?$AA@
CONST	SEGMENT
??_C@_0BC@BOHHAOCP@minimumVictoryLog?$AA@ DB 'minimumVictoryLog', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@LPOMHCJK@VehiclePurchaseInterval?$AA@
CONST	SEGMENT
??_C@_0BI@LPOMHCJK@VehiclePurchaseInterval?$AA@ DB 'VehiclePurchaseInterv'
	DB	'al', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_07ECEMPDJM@General?$AA@
CONST	SEGMENT
??_C@_07ECEMPDJM@General?$AA@ DB 'General', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_06CKGENIKG@Enable?$AA@
CONST	SEGMENT
??_C@_06CKGENIKG@Enable?$AA@ DB 'Enable', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0DL@EMLJINDC@?$FLError?$FN?5TeamCommander?4ini?5can?5no@
CONST	SEGMENT
??_C@_0DL@EMLJINDC@?$FLError?$FN?5TeamCommander?4ini?5can?5no@ DB '[Error'
	DB	'] TeamCommander.ini can not be loaded or not found.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@DPDOHLLG@TeamCommander?4ini?$AA@
CONST	SEGMENT
??_C@_0BC@DPDOHLLG@TeamCommander?4ini?$AA@ DB 'TeamCommander.ini', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Load@gzSettingsTeamCommanderClass@@UAEXXZ DD 019930522H
	DD	0aH
	DD	FLAT:__unwindtable$?Load@gzSettingsTeamCommanderClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Load@gzSettingsTeamCommanderClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$4
	DD	04H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$5
	DD	03H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$5
	DD	02H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$5
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$5
	DD	08H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stteamcommander.cpp
xdata$x	ENDS
;	COMDAT ?Load@gzSettingsTeamCommanderClass@@UAEXXZ
_TEXT	SEGMENT
$T66582 = -68						; size = 4
$T66578 = -64						; size = 8
$T66576 = -64						; size = 8
_list$58042 = -56					; size = 8
$T66579 = -48						; size = 8
$T66581 = -40						; size = 8
$T66580 = -32						; size = 8
$T66583 = -24						; size = 8
__$EHRec$ = -12						; size = 12
?Load@gzSettingsTeamCommanderClass@@UAEXXZ PROC		; gzSettingsTeamCommanderClass::Load, COMDAT
; _this$ = ecx

; 18   : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Load@gzSettingsTeamCommanderClass@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 60					; 0000003cH
	push	ebx
	push	ebp
	push	esi
	mov	esi, ecx

; 19   : 	// Cleanups
; 20   : 	this->m_commanderList.Clear();

	mov	eax, DWORD PTR [esi+36]
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR [esi+36]
	push	edi
	call	edx

; 21   : 
; 22   : 	if (!this->Open("TeamCommander.ini"))

	push	OFFSET ??_C@_0BC@DPDOHLLG@TeamCommander?4ini?$AA@
	lea	ecx, DWORD PTR $T66576[esp+92]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T66576[esp+88]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+100], 0
	call	?Open@stSettingsBase@@QAE_NABVaString@@@Z ; stSettingsBase::Open
	test	al, al
	sete	bl
	or	edi, -1
	lea	ecx, DWORD PTR $T66576[esp+88]
	mov	DWORD PTR __$EHRec$[esp+96], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN11@Load

; 23   : 		stConsole::Out("[Error] TeamCommander.ini can not be loaded or not found.\n");

	push	OFFSET ??_C@_0DL@EMLJINDC@?$FLError?$FN?5TeamCommander?4ini?5can?5no@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 4
$LN11@Load:

; 24   : 
; 25   : 	this->m_enable                  = this->Load_Bool("General", "Enable", false);

	push	0
	push	OFFSET ??_C@_06CKGENIKG@Enable?$AA@
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	mov	ecx, esi
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 26   : 	this->m_vehiclePurchaseInterval = this->Load_Int("General", "VehiclePurchaseInterval", 3) * 60;

	push	3
	push	OFFSET ??_C@_0BI@LPOMHCJK@VehiclePurchaseInterval?$AA@
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+24], al
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int
	mov	ecx, eax
	shl	ecx, 4
	sub	ecx, eax
	add	ecx, ecx

; 27   : 	this->m_minimumVictoryLog       = this->Load_Int("General", "minimumVictoryLog", 0) * 60;

	push	0
	add	ecx, ecx
	push	OFFSET ??_C@_0BC@BOHHAOCP@minimumVictoryLog?$AA@
	mov	DWORD PTR [esi+28], ecx
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	mov	ecx, esi
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int
	mov	edx, eax
	shl	edx, 4
	sub	edx, eax
	add	edx, edx
	add	edx, edx

; 28   : 
; 29   : 	// Load commander list
; 30   : 	for (int i = 1; i <= this->m_cfg->GetSubCount("Commanders"); i++)

	push	OFFSET ??_C@_0L@DBOONEFF@Commanders?$AA@
	lea	ecx, DWORD PTR $T66578[esp+92]
	mov	DWORD PTR [esi+32], edx
	mov	ebp, 1
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+32]
	lea	edx, DWORD PTR $T66578[esp+88]
	push	edx
	mov	DWORD PTR __$EHRec$[esp+100], ebp
	call	eax
	cmp	eax, ebp
	lea	ecx, DWORD PTR $T66578[esp+88]
	setge	bl
	mov	DWORD PTR __$EHRec$[esp+96], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN8@Load
$LN10@Load:

; 31   : 	{
; 32   : 		aToken list(this->m_cfg->GetData(aString::Format("Commanders.[%d]", i)));

	mov	ecx, DWORD PTR ?m_EmptyString@aString@@2PBDB ; aString::m_EmptyString
	push	ecx
	lea	ecx, DWORD PTR $T66579[esp+92]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	ebp
	lea	edx, DWORD PTR $T66580[esp+92]
	push	OFFSET ??_C@_0BA@JJKGBBBI@Commanders?4?$FL?$CFd?$FN?$AA@
	push	edx
	mov	DWORD PTR __$EHRec$[esp+108], 2
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	lea	edi, DWORD PTR $T66579[esp+88]
	push	edi
	push	eax
	lea	eax, DWORD PTR $T66581[esp+96]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+108], 3
	call	edx
	push	eax
	lea	ecx, DWORD PTR _list$58042[esp+92]
	mov	BYTE PTR __$EHRec$[esp+100], 4
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T66581[esp+88]
	mov	BYTE PTR __$EHRec$[esp+96], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66580[esp+88]
	mov	BYTE PTR __$EHRec$[esp+96], 7
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+96], 8
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 33   : 		for (int j = 1; j <= list.numtok(' '); j++)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _list$58042[esp+92]
	mov	edi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, edi
	jl	SHORT $LN5@Load
	npad	1
$LL7@Load:

; 34   : 			this->m_commanderList.Add(list.gettok(j, ' ').GetData());

	push	32					; 00000020H
	push	edi
	lea	eax, DWORD PTR $T66583[esp+96]
	push	eax
	lea	ecx, DWORD PTR _list$58042[esp+100]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+96], 9
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T66582[esp+96], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	lea	ecx, DWORD PTR [esi+36]
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T66583[esp+88]
	mov	BYTE PTR __$EHRec$[esp+96], 8
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	32					; 00000020H
	lea	ecx, DWORD PTR _list$58042[esp+92]
	add	edi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	edi, eax
	jle	SHORT $LL7@Load
$LN5@Load:

; 35   : 	}

	lea	ecx, DWORD PTR _list$58042[esp+88]
	mov	DWORD PTR __$EHRec$[esp+96], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	OFFSET ??_C@_0L@DBOONEFF@Commanders?$AA@
	lea	ecx, DWORD PTR $T66578[esp+92]
	add	ebp, 1
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+32]
	lea	eax, DWORD PTR $T66578[esp+88]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+100], 1
	call	edx
	cmp	ebp, eax
	lea	ecx, DWORD PTR $T66578[esp+88]
	setle	bl
	mov	DWORD PTR __$EHRec$[esp+96], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	$LN10@Load
$LN8@Load:

; 36   : 
; 37   : 	this->Close();

	mov	ecx, esi
	call	?Close@stSettingsBase@@QAEXXZ		; stSettingsBase::Close

; 38   : 
; 39   : 	// Game mode settings
; 40   : 	switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+72]
	mov	eax, DWORD PTR [eax+24]
	add	eax, -4					; fffffffcH
	cmp	eax, 3
	ja	SHORT $LN1@Load

; 41   : 	{
; 42   : 		case GAMEMODE_SNIPER:
; 43   : 		case GAMEMODE_500SNIP:
; 44   : 		case GAMEMODE_DM:
; 45   : 		case GAMEMODE_TDM:
; 46   : 			if (this->m_enable)

	cmp	BYTE PTR [esi+24], 0
	je	SHORT $LN1@Load

; 47   : 			{
; 48   : 				stConsole::Out("[TeamCommander] Error - Team Commander can not be enabled in %s game mode.\n", gzGameMgr->GetGame()->ModeName());

	mov	ecx, DWORD PTR [ecx+40]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+136]
	call	eax
	push	eax
	push	OFFSET ??_C@_0EM@GFFGNEK@?$FLTeamCommander?$FN?5Error?5?9?5Team?5Com@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8

; 49   : 				this->m_enable = false;

	mov	BYTE PTR [esi+24], 0
$LN1@Load:

; 50   : 			}
; 51   : 	}
; 52   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+88]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	pop	ebp
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$0:
	lea	ecx, DWORD PTR $T66576[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$1:
	lea	ecx, DWORD PTR $T66578[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$2:
	lea	ecx, DWORD PTR $T66579[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$3:
	lea	ecx, DWORD PTR $T66580[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$4:
	lea	ecx, DWORD PTR $T66581[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$5:
	lea	ecx, DWORD PTR _list$58042[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsTeamCommanderClass@@UAEXXZ$6:
	lea	ecx, DWORD PTR $T66583[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Load@gzSettingsTeamCommanderClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Load@gzSettingsTeamCommanderClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load@gzSettingsTeamCommanderClass@@UAEXXZ ENDP		; gzSettingsTeamCommanderClass::Load
PUBLIC	?CanBecome@gzTeamCommanderClass@@QAE_NH@Z	; gzTeamCommanderClass::CanBecome
EXTRN	?Compare@aWideString@@QBE_NABV1@H_N@Z:PROC	; aWideString::Compare
EXTRN	??0aWideString@@QAE@PB_W@Z:PROC			; aWideString::aWideString
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z$2
__ehfuncinfo$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stteamcommander.cpp
xdata$x	ENDS
;	COMDAT ?CanBecome@gzTeamCommanderClass@@QAE_NH@Z
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T66631 = -40						; size = 8
$T66630 = -32						; size = 8
$T66632 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_Id$ = 8						; size = 4
?CanBecome@gzTeamCommanderClass@@QAE_NH@Z PROC		; gzTeamCommanderClass::CanBecome, COMDAT
; _this$ = ecx

; 331  : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 32					; 00000020H

; 332  : 	gzPlayer *gzData = gzPlayerManager::Find(Id);

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

; 333  : 	if (gzData && this->m_settings->m_commanderList.Count() > 0)

	test	edi, edi
	je	$LN2@CanBecome
	mov	eax, DWORD PTR [esi+1124]
	mov	ecx, DWORD PTR [eax+48]
	test	ecx, ecx
	jbe	$LN2@CanBecome

; 334  : 	{
; 335  : 		for (unsigned int i = 0; i < this->m_settings->m_commanderList.Count(); i++)

	xor	esi, esi
	test	ecx, ecx
	jbe	$LN2@CanBecome
$LN4@CanBecome:

; 336  : 		{
; 337  : 			if (gzData->GetPlayerName().Compare(this->m_settings->m_commanderList[i].GetString()))

	push	esi
	lea	ecx, DWORD PTR $T66632[esp+60]
	push	ecx
	lea	ecx, DWORD PTR [eax+36]
	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+64], 0
	je	SHORT $LN17@CanBecome
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN18@CanBecome
$LN17@CanBecome:
	xor	eax, eax
$LN18@CanBecome:
	push	eax
	lea	ecx, DWORD PTR $T66631[esp+60]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	edx, DWORD PTR $T66630[esp+56]
	push	edx
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+68], 1
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	push	0
	push	-1
	lea	ecx, DWORD PTR $T66631[esp+64]
	push	ecx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+76], 2
	call	?Compare@aWideString@@QBE_NABV1@H_N@Z	; aWideString::Compare
	lea	ecx, DWORD PTR $T66630[esp+56]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+64], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66631[esp+56]
	mov	BYTE PTR __$EHRec$[esp+64], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66632[esp+56]
	mov	DWORD PTR __$EHRec$[esp+64], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	SHORT $LN31@CanBecome
	mov	edx, DWORD PTR _this$[esp+56]
	mov	eax, DWORD PTR [edx+1124]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+48]
	jb	$LN4@CanBecome
$LN2@CanBecome:

; 338  : 				return true;
; 339  : 		}
; 340  : 	}
; 341  : 	return false;

	xor	al, al

; 342  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+56]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
$LN31@CanBecome:
	mov	ecx, DWORD PTR __$EHRec$[esp+56]
	pop	edi
	pop	esi
	mov	al, 1
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z$0:
	lea	ecx, DWORD PTR $T66632[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z$1:
	lea	ecx, DWORD PTR $T66631[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z$2:
	lea	ecx, DWORD PTR $T66630[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z:
	mov	eax, OFFSET __ehfuncinfo$?CanBecome@gzTeamCommanderClass@@QAE_NH@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?CanBecome@gzTeamCommanderClass@@QAE_NH@Z ENDP		; gzTeamCommanderClass::CanBecome
PUBLIC	?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ; std::_DebugHeapAllocator<char>::deallocate
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\xdebug
;	COMDAT ?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z PROC ; std::_DebugHeapAllocator<char>::deallocate, COMDAT
; _this$ = ecx

; 102  : 		_DELETE_CRT_VEC(_Ptr);

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

; 103  : 		}

	ret	8
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ENDP ; std::_DebugHeapAllocator<char>::deallocate
_TEXT	ENDS
PUBLIC	??1?$aVector@PAVaStringData@@@@UAE@XZ		; aVector<aStringData *>::~aVector<aStringData *>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??1?$aVector@PAVaStringData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAVaStringData@@@@UAE@XZ PROC		; aVector<aStringData *>::~aVector<aStringData *>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

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

; 47   : 	};

	ret	0
??1?$aVector@PAVaStringData@@@@UAE@XZ ENDP		; aVector<aStringData *>::~aVector<aStringData *>
_TEXT	ENDS
PUBLIC	??_7?$aStringArrayBase@VaWideString@@@@6B@	; aStringArrayBase<aWideString>::`vftable'
PUBLIC	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ	; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
PUBLIC	??_R4?$aStringArrayBase@VaWideString@@@@6B@	; aStringArrayBase<aWideString>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aStringArrayBase@VaWideString@@@@@8	; aStringArrayBase<aWideString> `RTTI Type Descriptor'
PUBLIC	??_R3?$aStringArrayBase@VaWideString@@@@8	; aStringArrayBase<aWideString>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aStringArrayBase@VaWideString@@@@8	; aStringArrayBase<aWideString>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8 ; aStringArrayBase<aWideString>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z ; aStringArrayBase<aWideString>::Delete
EXTRN	??_E?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z:PROC ; aStringArrayBase<aWideString>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8 DD FLAT:??_R0?AV?$aStringArrayBase@VaWideString@@@@@8 ; aStringArrayBase<aWideString>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aStringArrayBase@VaWideString@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aStringArrayBase@VaWideString@@@@8
rdata$r	SEGMENT
??_R2?$aStringArrayBase@VaWideString@@@@8 DD FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8 ; aStringArrayBase<aWideString>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3?$aStringArrayBase@VaWideString@@@@8
rdata$r	SEGMENT
??_R3?$aStringArrayBase@VaWideString@@@@8 DD 00H	; aStringArrayBase<aWideString>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$aStringArrayBase@VaWideString@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aStringArrayBase@VaWideString@@@@@8
_DATA	SEGMENT
??_R0?AV?$aStringArrayBase@VaWideString@@@@@8 DD FLAT:??_7type_info@@6B@ ; aStringArrayBase<aWideString> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aStringArrayBase@VaWideString@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aStringArrayBase@VaWideString@@@@6B@
rdata$r	SEGMENT
??_R4?$aStringArrayBase@VaWideString@@@@6B@ DD 00H	; aStringArrayBase<aWideString>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aStringArrayBase@VaWideString@@@@@8
	DD	FLAT:??_R3?$aStringArrayBase@VaWideString@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aStringArrayBase@VaWideString@@@@6B@
CONST	SEGMENT
??_7?$aStringArrayBase@VaWideString@@@@6B@ DD FLAT:??_R4?$aStringArrayBase@VaWideString@@@@6B@ ; aStringArrayBase<aWideString>::`vftable'
	DD	FLAT:??_E?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ$0
__ehfuncinfo$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
xdata$x	ENDS
;	COMDAT ??1?$aStringArrayBase@VaWideString@@@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$aStringArrayBase@VaWideString@@@@UAE@XZ PROC	; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>, COMDAT
; _this$ = ecx

; 76   : 	{

	push	-1
	push	__ehhandler$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	mov	DWORD PTR [esi], OFFSET ??_7?$aStringArrayBase@VaWideString@@@@6B@
	xor	edi, edi
	mov	DWORD PTR __$EHRec$[esp+32], edi

; 77   : 		this->Clear();

	call	?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ ; aStringArrayBase<aWideString>::Clear

; 78   : 	};

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	je	SHORT $LN11@aStringArr
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN11@aStringArr:
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$aVector@PAVaStringData@@@@UAE@XZ	; aVector<aStringData *>::~aVector<aStringData *>
__ehhandler$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ENDP	; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
; Function compile flags: /Ogtpy
;	COMDAT ?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z PROC	; aStringArrayBase<aWideString>::Delete, COMDAT
; _this$ = ecx

; 110  : 	{

	push	esi
	push	edi

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

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

; 112  : 			return;
; 113  : 		this->m_vector[index]->DecRef();

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

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

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

; 115  : 	};

	ret	4
?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z ENDP	; aStringArrayBase<aWideString>::Delete
_TEXT	ENDS
PUBLIC	??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z ; aMap<aString>::operator[]
EXTRN	??8aWideString@@QAE_NABV0@@Z:PROC		; aWideString::operator==
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\amap.h
;	COMDAT ??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z
_TEXT	SEGMENT
_name$ = 8						; size = 4
??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z PROC ; aMap<aString>::operator[], COMDAT
; _this$ = ecx

; 25   : 	{

	push	ebx
	push	esi
	mov	ebx, ecx

; 26   : 		for (aListNode<aMapStruct<T>> *list = this->m_Head; list != NULL; list = list->GetNext())

	mov	esi, DWORD PTR [ebx+8]
	test	esi, esi
	push	edi
	je	SHORT $LN2@operator@2
	mov	edi, DWORD PTR _name$[esp+8]
$LL7@operator@2:

; 27   : 		{
; 28   : 			if (list->GetData()->name == name)

	mov	eax, DWORD PTR [esi+4]
	push	edi
	lea	ecx, DWORD PTR [eax+8]
	call	??8aWideString@@QAE_NABV0@@Z		; aWideString::operator==
	test	al, al
	jne	SHORT $LN14@operator@2
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL7@operator@2
$LN2@operator@2:
	pop	edi
	pop	esi

; 30   : 		}
; 31   : 		return this->m_returnDefault;

	lea	eax, DWORD PTR [ebx+16]
	pop	ebx

; 32   : 	};

	ret	4
$LN14@operator@2:

; 29   : 				return list->GetData()->data;

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

; 32   : 	};

	ret	4
??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z ENDP ; aMap<aString>::operator[]
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUaSQLite3ResultData@@@@UAE@XZ	; aVector<aSQLite3ResultData *>::~aVector<aSQLite3ResultData *>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??1?$aVector@PAUaSQLite3ResultData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUaSQLite3ResultData@@@@UAE@XZ PROC	; aVector<aSQLite3ResultData *>::~aVector<aSQLite3ResultData *>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

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

; 47   : 	};

	ret	0
??1?$aVector@PAUaSQLite3ResultData@@@@UAE@XZ ENDP	; aVector<aSQLite3ResultData *>::~aVector<aSQLite3ResultData *>
_TEXT	ENDS
PUBLIC	??1?$aVector@PAVgzPlayer@@@@UAE@XZ		; aVector<gzPlayer *>::~aVector<gzPlayer *>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@PAVgzPlayer@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAVgzPlayer@@@@UAE@XZ PROC			; aVector<gzPlayer *>::~aVector<gzPlayer *>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

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

; 47   : 	};

	ret	0
??1?$aVector@PAVgzPlayer@@@@UAE@XZ ENDP			; aVector<gzPlayer *>::~aVector<gzPlayer *>
_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@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@3:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@3
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@3:
	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?$aVector@PAUaSQLite3ResultData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUaSQLite3ResultData@@@@UAEPAXI@Z PROC	; aVector<aSQLite3ResultData *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
	je	SHORT $LN6@scalar@4
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@4:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@4
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@4:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAUaSQLite3ResultData@@@@UAEPAXI@Z ENDP	; aVector<aSQLite3ResultData *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAVgzPlayer@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAVgzPlayer@@@@UAEPAXI@Z PROC		; aVector<gzPlayer *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVgzPlayer@@@@6B@
	je	SHORT $LN6@scalar@5
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@5:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@5
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@5:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAVgzPlayer@@@@UAEPAXI@Z ENDP		; aVector<gzPlayer *>::`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@6
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@6:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z ENDP	; aStringArrayBase<aWideString>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0aSQLite3Result@@QAE@XZ			; aSQLite3Result::aSQLite3Result
; Function compile flags: /Ogtpy
;	COMDAT ??0aSQLite3Result@@QAE@XZ
_TEXT	SEGMENT
??0aSQLite3Result@@QAE@XZ PROC				; aSQLite3Result::aSQLite3Result, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	ret	0
??0aSQLite3Result@@QAE@XZ ENDP				; aSQLite3Result::aSQLite3Result
_TEXT	ENDS
PUBLIC	??_C@_0BM@DEBBDPGO@Set?5?$CFs?5owner?5time?5to?5?$CFf?4?4?4?6?$AA@ ; `string'
PUBLIC	__real@47c34f80
PUBLIC	??_C@_0KN@HDJHPBFA@?$FLCommander?$FN?3?5Warning?5?9?5Building?5@ ; `string'
PUBLIC	??_C@_0KO@CHJEDHIP@?$FLCommander?$FN?3?5Critical?5?9?5Building@ ; `string'
PUBLIC	__real@3e4ccccd
PUBLIC	__real@3f000000
PUBLIC	??_C@_0EA@INDHFAGN@?$FLCommander?$FN?3?5You?5can?5now?5use?5the@ ; `string'
PUBLIC	??_C@_0DH@KOPBLCNP@?$FLCommander?$FN?3?5Currently?5the?5Team?5@ ; `string'
PUBLIC	??_C@_0EE@MOPLCOPC@msg?5?$CFls?5is?5now?5the?5?$CFs?5Team?5Comma@ ; `string'
PUBLIC	??_C@_09CHDBJDJO@victories?$AA@			; `string'
PUBLIC	??_C@_07KGDDBDJI@victory?$AA@			; `string'
PUBLIC	??_C@_0EJ@JJFOJPEN@msg?5?$CFls?5is?5now?5the?5?$CFs?5Team?5Comma@ ; `string'
PUBLIC	??_C@_0DC@IAKLLFGJ@SELECT?5?$CK?5FROM?5commander_stats?5WH@ ; `string'
PUBLIC	?Think@gzTeamCommanderClass@@UAEXXZ		; gzTeamCommanderClass::Think
EXTRN	?SystemTime@@3AAKA:DWORD			; SystemTime
EXTRN	__imp__GetTickCount@0:PROC
EXTRN	?SmartGameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_SmartGameObj@@@@A:DWORD ; nc_GameObjManager::SmartGameObjList
EXTRN	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z:PROC ; gzTranslateManager::Get
EXTRN	?gzTranslator@@3PAVgzTranslateManager@@A:DWORD	; gzTranslator
EXTRN	?Get@nc_FloatDataSafeClass@@QAEMXZ:PROC		; nc_FloatDataSafeClass::Get
EXTRN	??_M@YGXPAXIHP6EX0@Z@Z:PROC			; `eh vector destructor iterator'
EXTRN	??1aSQLite3Result@@QAE@XZ:PROC			; aSQLite3Result::~aSQLite3Result
EXTRN	?PrintError@stDbManager@@QAEXXZ:PROC		; stDbManager::PrintError
EXTRN	?GetFirst@aSQLite3Result@@QAEPAV?$aMap@VaString@@@@XZ:PROC ; aSQLite3Result::GetFirst
EXTRN	??0aWideString@@QAE@PBD@Z:PROC			; aWideString::aWideString
EXTRN	?Count@aSQLite3Result@@QAEHXZ:PROC		; aSQLite3Result::Count
EXTRN	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z:PROC ; aSQLite3::Exec
EXTRN	?stDb@@3PAVstDbManager@@A:DWORD			; stDb
EXTRN	?stRandom@@3VaRandom@@A:QWORD			; stRandom
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z:PROC ; gzPlayerManager::Find
EXTRN	??8aWideString@@QAE_NPB_W@Z:PROC		; aWideString::operator==
EXTRN	?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A:DWORD ; nc_cPlayerManager::PlayerList
EXTRN	??_L@YGXPAXIHP6EX0@Z1@Z:PROC			; `eh vector constructor iterator'
EXTRN	?AddFrameTime@@YAXAAM_N@Z:PROC			; AddFrameTime
EXTRN	?cGame@@3AAPAVnc_cGameData@@A:DWORD		; cGame
;	COMDAT ??_C@_0BM@DEBBDPGO@Set?5?$CFs?5owner?5time?5to?5?$CFf?4?4?4?6?$AA@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_0BM@DEBBDPGO@Set?5?$CFs?5owner?5time?5to?5?$CFf?4?4?4?6?$AA@ DB 'Se'
	DB	't %s owner time to %f...', 0aH, 00H		; `string'
CONST	ENDS
;	COMDAT __real@47c34f80
CONST	SEGMENT
__real@47c34f80 DD 047c34f80r			; 99999
CONST	ENDS
;	COMDAT ??_C@_0KN@HDJHPBFA@?$FLCommander?$FN?3?5Warning?5?9?5Building?5@
CONST	SEGMENT
??_C@_0KN@HDJHPBFA@?$FLCommander?$FN?3?5Warning?5?9?5Building?5@ DB '[Com'
	DB	'mander]: Warning - Building %s is below 50%% of it''s max hea'
	DB	'lth. You may request repairs by using "!com rb" or keyboard s'
	DB	'hortcut(RequestRepairs - numpad *). (%.0f/%.0f)', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0KO@CHJEDHIP@?$FLCommander?$FN?3?5Critical?5?9?5Building@
CONST	SEGMENT
??_C@_0KO@CHJEDHIP@?$FLCommander?$FN?3?5Critical?5?9?5Building@ DB '[Comm'
	DB	'ander]: Critical - Building %s is below 20%% of it''s max hea'
	DB	'lth. You may request repairs by using "!com rb" or keyboard s'
	DB	'hortcut(RequestRepairs - numpad *). (%.0f/%.0f)', 00H ; `string'
CONST	ENDS
;	COMDAT __real@3e4ccccd
CONST	SEGMENT
__real@3e4ccccd DD 03e4ccccdr			; 0.2
CONST	ENDS
;	COMDAT __real@3f000000
CONST	SEGMENT
__real@3f000000 DD 03f000000r			; 0.5
CONST	ENDS
;	COMDAT ??_C@_0EA@INDHFAGN@?$FLCommander?$FN?3?5You?5can?5now?5use?5the@
CONST	SEGMENT
??_C@_0EA@INDHFAGN@?$FLCommander?$FN?3?5You?5can?5now?5use?5the@ DB '[Com'
	DB	'mander]: You can now use the Commander Buy Vehicle ability.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DH@KOPBLCNP@?$FLCommander?$FN?3?5Currently?5the?5Team?5@
CONST	SEGMENT
??_C@_0DH@KOPBLCNP@?$FLCommander?$FN?3?5Currently?5the?5Team?5@ DB '[Comm'
	DB	'ander]: Currently the Team Pool has %d credit(s).', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0EE@MOPLCOPC@msg?5?$CFls?5is?5now?5the?5?$CFs?5Team?5Comma@
CONST	SEGMENT
??_C@_0EE@MOPLCOPC@msg?5?$CFls?5is?5now?5the?5?$CFs?5Team?5Comma@ DB 'msg'
	DB	' %ls is now the %s Team Commander, and has %d %s under his be'
	DB	'lt.', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_09CHDBJDJO@victories?$AA@
CONST	SEGMENT
??_C@_09CHDBJDJO@victories?$AA@ DB 'victories', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_07KGDDBDJI@victory?$AA@
CONST	SEGMENT
??_C@_07KGDDBDJI@victory?$AA@ DB 'victory', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0EJ@JJFOJPEN@msg?5?$CFls?5is?5now?5the?5?$CFs?5Team?5Comma@
CONST	SEGMENT
??_C@_0EJ@JJFOJPEN@msg?5?$CFls?5is?5now?5the?5?$CFs?5Team?5Comma@ DB 'msg'
	DB	' %ls is now the %s Team Commander, and has no victory under h'
	DB	'is belt.', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0DC@IAKLLFGJ@SELECT?5?$CK?5FROM?5commander_stats?5WH@
CONST	SEGMENT
??_C@_0DC@IAKLLFGJ@SELECT?5?$CK?5FROM?5commander_stats?5WH@ DB 'SELECT * '
	DB	'FROM commander_stats WHERE player = ''%d''', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Think@gzTeamCommanderClass@@UAEXXZ DD 019930522H
	DD	08H
	DD	FLAT:__unwindtable$?Think@gzTeamCommanderClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Think@gzTeamCommanderClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$4
	DD	02H
	DD	FLAT:__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$5
	DD	05H
	DD	FLAT:__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$6
	DD	06H
	DD	FLAT:__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$7
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stteamcommander.cpp
xdata$x	ENDS
;	COMDAT ?Think@gzTeamCommanderClass@@UAEXXZ
_TEXT	SEGMENT
_j$58331 = -172						; size = 4
tv1419 = -168						; size = 4
tv1371 = -164						; size = 4
tv300 = -164						; size = 4
_base$58329 = -160					; size = 4
_i$58322 = -156						; size = 4
$T66894 = -156						; size = 8
tv1290 = -148						; size = 4
$T67038 = -148						; size = 4
$T67042 = -148						; size = 4
$T66891 = -148						; size = 8
$T66898 = -140						; size = 8
$T66895 = -132						; size = 8
$T66889 = -132						; size = 8
$T66901 = -124						; size = 8
_stats$58307 = -116					; size = 20
_ComList$58193 = -96					; size = 32
__$EHRec$ = -12						; size = 12
?Think@gzTeamCommanderClass@@UAEXXZ PROC		; gzTeamCommanderClass::Think, COMDAT
; _this$ = ecx

; 140  : {

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	push	-1
	mov	eax, DWORD PTR fs:0
	push	__ehhandler$?Think@gzTeamCommanderClass@@UAEXXZ
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 164				; 000000a4H
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx

; 141  : 	if (this->m_settings->m_enable)

	mov	eax, DWORD PTR [edi+1124]
	cmp	BYTE PTR [eax+24], 0
	je	$LN5@Think

; 142  : 	{
; 143  : 		if (cGame->Is_Gameplay_Permitted() && cGame->GameDuration_Seconds != this->m_lastSelection)

	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	ecx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+132]
	call	eax
	test	al, al
	je	$LN43@Think
	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+604]
	cmp	eax, DWORD PTR [edi+1108]
	je	$LN43@Think

; 144  : 		{
; 145  : 			for (int i = 0; i < 2; i++)

	xor	ebx, ebx
	xor	esi, esi
	npad	1
$LL48@Think:

; 146  : 			{
; 147  : 				if (this->m_commander[i] != NULL)

	mov	eax, DWORD PTR [edi+esi*4+48]
	cmp	eax, ebx
	je	SHORT $LN47@Think

; 148  : 				{
; 149  : 					if (i != this->m_commander[i]->GetPlayerData()->PlayerType.Get())

	mov	eax, DWORD PTR [eax+76]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	esi, eax
	je	SHORT $LN44@Think

; 150  : 					{
; 151  : 						stConsole::In("msg %ls is no longer the Team Commander of %s.",
; 152  : 							this->m_commander[i]->GetPlayerData()->PlayerName.m_Buffer,
; 153  : 							((i == 0) ? "Nod" : "GDI")
; 154  : 						);

	cmp	esi, ebx
	mov	ecx, OFFSET ??_C@_03OHGKCNFD@Nod?$AA@
	je	SHORT $LN54@Think
	mov	ecx, OFFSET ??_C@_03IOFAJBDH@GDI?$AA@
$LN54@Think:
	mov	edx, DWORD PTR [edi+esi*4+48]
	mov	eax, DWORD PTR [edx+76]
	mov	eax, DWORD PTR [eax+1880]
	push	ecx
	push	eax
	push	OFFSET ??_C@_0CP@FBIDEGC@msg?5?$CFls?5is?5no?5longer?5the?5Team?5Co@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In

; 155  : 						this->m_commander[i]    = NULL;
; 156  : 						this->m_commandTime[i]  = 0.0f;

	fldz
	fstp	DWORD PTR [edi+esi*4+1116]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edi+esi*4+48], ebx
$LN44@Think:

; 157  : 					}
; 158  : 					AddFrameTime(this->m_commandTime[i], true);

	lea	ecx, DWORD PTR [edi+esi*4+1116]
	push	1
	push	ecx
	call	?AddFrameTime@@YAXAAM_N@Z		; AddFrameTime
	add	esp, 8
$LN47@Think:
	add	esi, 1
	cmp	esi, 2
	jl	SHORT $LL48@Think

; 159  : 				}
; 160  : 			}
; 161  : 
; 162  : #if ISDEV()
; 163  : 			if ((cGame->GameDuration_Seconds % 2) == 0)

	mov	edx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	eax, DWORD PTR [edx]
	test	BYTE PTR [eax+604], 1
	jne	$LN43@Think

; 164  : #else
; 165  : 			if ((cGame->GameDuration_Seconds % 15) == 0)
; 166  : #endif
; 167  : 			{
; 168  : 				if (this->m_commander[0] == NULL || this->m_commander[1] == NULL)

	cmp	DWORD PTR [edi+48], ebx
	je	SHORT $LN41@Think
	cmp	DWORD PTR [edi+52], ebx
	jne	$LN42@Think
$LN41@Think:

; 169  : 				{
; 170  : 					aVector<gzPlayer *> ComList[2];

	push	OFFSET ??1?$aVector@PAVgzPlayer@@@@UAE@XZ ; aVector<gzPlayer *>::~aVector<gzPlayer *>
	push	OFFSET ??0?$aVector@PAVgzPlayer@@@@QAE@XZ ; aVector<gzPlayer *>::aVector<gzPlayer *>
	push	2
	push	16					; 00000010H
	lea	ecx, DWORD PTR _ComList$58193[esp+208]
	push	ecx
	call	??_L@YGXPAXIHP6EX0@Z1@Z

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

	mov	edx, DWORD PTR ?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A ; nc_cPlayerManager::PlayerList
	mov	ebp, DWORD PTR [edx+4]
	cmp	ebp, ebx
	mov	DWORD PTR __$EHRec$[esp+200], ebx
	je	$LN38@Think
	npad	2
$LL40@Think:

; 172  : 					{
; 173  : 						if (PlayerList->NodeData != NULL && PlayerList->NodeData->IsActive)

	mov	eax, DWORD PTR [ebp+4]
	test	eax, eax
	je	$LN39@Think
	cmp	BYTE PTR [eax+1981], 0
	je	$LN39@Think

; 174  : 						{
; 175  : 							if (this->m_commander[PlayerList->NodeData->PlayerType.Get()] == NULL)

	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	DWORD PTR [edi+eax*4+48], 0
	jne	$LN39@Think

; 176  : 							{
; 177  : 								for (unsigned int j = 0; j < this->m_settings->m_commanderList.Count(); j++)

	mov	eax, DWORD PTR [edi+1124]
	xor	esi, esi
	cmp	DWORD PTR [eax+48], esi
	jbe	$LN39@Think
	npad	1
$LL35@Think:

; 178  : 								{
; 179  : 									if (this->m_settings->m_commanderList[j] == PlayerList->NodeData->PlayerName.m_Buffer)

	push	esi
	lea	ecx, DWORD PTR $T66889[esp+196]
	push	ecx
	mov	ecx, DWORD PTR [edi+1124]
	add	ecx, 36					; 00000024H
	call	??A?$aStringArrayBase@VaWideString@@@@QAE?AVaWideString@@I@Z ; aStringArrayBase<aWideString>::operator[]
	mov	edx, DWORD PTR [ebp+4]
	mov	ecx, DWORD PTR [edx+1880]
	push	ecx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+204], 1
	call	??8aWideString@@QAE_NPB_W@Z		; aWideString::operator==
	lea	ecx, DWORD PTR $T66889[esp+192]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+200], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN34@Think

; 180  : 									{
; 181  : 										gzPlayer *gzData = gzPlayerManager::Find(PlayerList->NodeData);

	mov	edx, DWORD PTR [ebp+4]
	push	edx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	mov	ebx, eax
	add	esp, 4

; 182  : 										if (gzData)

	test	ebx, ebx
	jne	SHORT $LN150@Think
$LN34@Think:

; 176  : 							{
; 177  : 								for (unsigned int j = 0; j < this->m_settings->m_commanderList.Count(); j++)

	mov	eax, DWORD PTR [edi+1124]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+48]
	jb	SHORT $LL35@Think

; 182  : 										if (gzData)

	jmp	SHORT $LN39@Think
$LN150@Think:

; 183  : 										{
; 184  : 											ComList[PlayerList->NodeData->PlayerType.Get()].Add(gzData);

	mov	ecx, DWORD PTR [ebp+4]
	add	ecx, 1900				; 0000076cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	shl	eax, 4
	mov	edx, DWORD PTR _ComList$58193[esp+eax+192]
	mov	edx, DWORD PTR [edx+8]
	lea	esi, DWORD PTR _ComList$58193[esp+eax+192]
	mov	eax, DWORD PTR [esi+12]
	add	eax, 1
	push	eax
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN39@Think
	mov	eax, DWORD PTR [esi+12]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR [esi+12], 1
$LN39@Think:
	mov	ebp, DWORD PTR [ebp]
	test	ebp, ebp
	jne	$LL40@Think
$LN38@Think:

; 185  : 											break;
; 186  : 										}
; 187  : 									}
; 188  : 								}
; 189  : 							}
; 190  : 						}
; 191  : 					}
; 192  : 					for (int i = 0; i < 2; i++)

	xor	esi, esi
$LN30@Think:

; 193  : 					{
; 194  : 						if (this->m_commander[i] == NULL && ComList[i].Count() > 0)

	cmp	DWORD PTR [edi+esi*4+48], 0
	jne	$LN29@Think
	mov	ebp, esi
	shl	ebp, 4
	mov	ecx, DWORD PTR _ComList$58193[esp+ebp+204]
	test	ecx, ecx
	jbe	$LN29@Think

; 195  : 						{
; 196  : 							this->m_commander[i] = ComList[i][stRandom.Get_Int(0, ComList[i].Count() - 1)];

	add	ecx, -1
	jne	SHORT $LN86@Think
	xor	edx, edx
	jmp	SHORT $LN87@Think
$LN86@Think:
	xor	ebx, ebx
	test	ecx, ecx
	jge	SHORT $LN85@Think
	mov	ebx, ecx
	xor	ecx, ecx
$LN85@Think:
	mov	edx, DWORD PTR ?stRandom@@3VaRandom@@A
	mov	eax, edx
	add	edx, 1
	cmp	eax, 64					; 00000040H
	mov	DWORD PTR ?stRandom@@3VaRandom@@A, edx
	jle	SHORT $LN89@Think
	mov	edx, 1
	mov	DWORD PTR ?stRandom@@3VaRandom@@A, edx
$LN89@Think:
	mov	eax, DWORD PTR ?stRandom@@3VaRandom@@A+4
	imul	eax, 22695475				; 015a4e33H
	add	eax, edx
	sub	ecx, ebx
	mov	DWORD PTR ?stRandom@@3VaRandom@@A+4, eax
	add	ecx, 1
	shr	eax, 16					; 00000010H
	xor	edx, edx
	div	ecx
	add	edx, ebx
$LN87@Think:
	mov	ecx, DWORD PTR _ComList$58193[esp+ebp+196]
	mov	edx, DWORD PTR [ecx+edx*4]

; 197  : #if VERC(1, 1, 0)
; 198  : 							aSQLite3Result stats;

	xor	eax, eax
	mov	DWORD PTR [edi+esi*4+48], edx
	mov	DWORD PTR _stats$58307[esp+192], OFFSET ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
	mov	DWORD PTR _stats$58307[esp+196], eax
	mov	DWORD PTR _stats$58307[esp+200], eax
	mov	DWORD PTR _stats$58307[esp+204], eax

; 199  : 							if (stDb->Exec(aString::Format("SELECT * FROM commander_stats WHERE player = '%d'", this->m_commander[i]->GetStId()), &stats) != aSQLITE_ERROR)

	mov	eax, edx
	mov	eax, DWORD PTR [eax+148]
	push	eax
	lea	ecx, DWORD PTR $T66891[esp+196]
	push	OFFSET ??_C@_0DC@IAKLLFGJ@SELECT?5?$CK?5FROM?5commander_stats?5WH@
	push	ecx
	mov	BYTE PTR __$EHRec$[esp+212], 2
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	lea	edx, DWORD PTR _stats$58307[esp+192]
	push	edx
	push	eax
	mov	BYTE PTR __$EHRec$[esp+208], 3
	call	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z ; aSQLite3::Exec
	cmp	eax, -1
	lea	ecx, DWORD PTR $T66891[esp+192]
	setne	bl
	mov	BYTE PTR __$EHRec$[esp+200], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN26@Think

; 200  : 							{
; 201  : 								if (stats.Count() == 0)

	lea	ecx, DWORD PTR _stats$58307[esp+192]
	call	?Count@aSQLite3Result@@QAEHXZ		; aSQLite3Result::Count
	test	eax, eax
	jne	SHORT $LN25@Think

; 202  : 								{
; 203  : 									stConsole::In("msg %ls is now the %s Team Commander, and has no victory under his belt.",
; 204  : 										this->m_commander[i]->GetPlayerName().GetString(),
; 205  : 										((i == 0) ? "Nod" : "GDI")
; 206  : 									);

	test	esi, esi
	mov	ebx, OFFSET ??_C@_03OHGKCNFD@Nod?$AA@
	je	SHORT $LN56@Think
	mov	ebx, OFFSET ??_C@_03IOFAJBDH@GDI?$AA@
$LN56@Think:
	mov	ecx, DWORD PTR [edi+esi*4+48]
	lea	eax, DWORD PTR $T66894[esp+192]
	push	eax
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+200], 4
	je	SHORT $LN105@Think
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN106@Think
$LN105@Think:
	xor	eax, eax
$LN106@Think:
	push	ebx
	push	eax
	push	OFFSET ??_C@_0EJ@JJFOJPEN@msg?5?$CFls?5is?5now?5the?5?$CFs?5Team?5Comma@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T66894[esp+192]
	mov	BYTE PTR __$EHRec$[esp+200], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 207  : 								}
; 208  : 								else

	jmp	$LN23@Think
$LN25@Think:

; 209  : 								{
; 210  : 									stConsole::In("msg %ls is now the %s Team Commander, and has %d %s under his belt.",
; 211  : 										this->m_commander[i]->GetPlayerName().GetString(),
; 212  : 										((i == 0) ? "Nod" : "GDI"),
; 213  : 										(*stats.GetFirst())["victory"].ToLong(),
; 214  : 										((*stats.GetFirst())["victory"].ToLong() > 1) ? "victories" : "victory"
; 215  : 									);

	push	OFFSET ??_C@_07KGDDBDJI@victory?$AA@
	lea	ecx, DWORD PTR $T66895[esp+196]
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T66895[esp+192]
	push	ecx
	lea	ecx, DWORD PTR _stats$58307[esp+196]
	mov	BYTE PTR __$EHRec$[esp+204], 5
	call	?GetFirst@aSQLite3Result@@QAEPAV?$aMap@VaString@@@@XZ ; aSQLite3Result::GetFirst
	mov	ecx, eax
	call	??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z ; aMap<aString>::operator[]
	mov	ecx, eax
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	cmp	eax, 1
	mov	DWORD PTR tv300[esp+192], OFFSET ??_C@_09CHDBJDJO@victories?$AA@
	jg	SHORT $LN58@Think
	mov	DWORD PTR tv300[esp+192], OFFSET ??_C@_07KGDDBDJI@victory?$AA@
$LN58@Think:
	push	OFFSET ??_C@_07KGDDBDJI@victory?$AA@
	lea	ecx, DWORD PTR $T66898[esp+196]
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	test	esi, esi
	mov	BYTE PTR __$EHRec$[esp+200], 6
	mov	ebp, OFFSET ??_C@_03OHGKCNFD@Nod?$AA@
	je	SHORT $LN60@Think
	mov	ebp, OFFSET ??_C@_03IOFAJBDH@GDI?$AA@
$LN60@Think:
	mov	ecx, DWORD PTR [edi+esi*4+48]
	lea	edx, DWORD PTR $T66901[esp+192]
	push	edx
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+200], 7
	je	SHORT $LN114@Think
	mov	ebx, DWORD PTR [eax]
	jmp	SHORT $LN115@Think
$LN114@Think:
	xor	ebx, ebx
$LN115@Think:
	mov	eax, DWORD PTR tv300[esp+192]
	push	eax
	lea	ecx, DWORD PTR $T66898[esp+196]
	push	ecx
	lea	ecx, DWORD PTR _stats$58307[esp+200]
	call	?GetFirst@aSQLite3Result@@QAEPAV?$aMap@VaString@@@@XZ ; aSQLite3Result::GetFirst
	mov	ecx, eax
	call	??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z ; aMap<aString>::operator[]
	mov	ecx, eax
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	push	eax
	push	ebp
	push	ebx
	push	OFFSET ??_C@_0EE@MOPLCOPC@msg?5?$CFls?5is?5now?5the?5?$CFs?5Team?5Comma@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In
	add	esp, 20					; 00000014H
	lea	ecx, DWORD PTR $T66901[esp+192]
	mov	BYTE PTR __$EHRec$[esp+200], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66898[esp+192]
	mov	BYTE PTR __$EHRec$[esp+200], 5
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66895[esp+192]
	mov	BYTE PTR __$EHRec$[esp+200], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 216  : 								}
; 217  : 							}
; 218  : 							else

	jmp	SHORT $LN23@Think
$LN26@Think:

; 219  : 								stDb->PrintError();

	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	call	?PrintError@stDbManager@@QAEXXZ		; stDbManager::PrintError
$LN23@Think:

; 220  : #else
; 221  : 							aTextConfig cfg("TeamCommander.ini");
; 222  : 							int victoryCount = cfg.GetData("Victory.\"" + this->m_commander[i]->GetPlayerName() + "\"", 0).ToLong();
; 223  : 							stConsole::In("msg %ls is now the %s Team Commander, and has %d %s under his belt.",
; 224  : 								this->m_commander[i]->GetPlayerName().GetString(),
; 225  : 								((i == 0) ? "Nod" : "GDI"),
; 226  : 								victoryCount,
; 227  : 								(victoryCount > 1) ? "victories" : "victory"
; 228  : 							);
; 229  : #endif
; 230  : 							PagePlayer(this->m_commander[i]->GetPlayerData()->PlayerId, "[Commander]: Currently the Team Pool has %d credit(s).", this->m_teamPool[i]);

	mov	edx, DWORD PTR [edi+esi*4+48]
	mov	ecx, DWORD PTR [edi+esi*4+40]
	mov	eax, DWORD PTR [edx+76]
	mov	edx, DWORD PTR [eax+1884]
	push	ecx
	push	OFFSET ??_C@_0DH@KOPBLCNP@?$FLCommander?$FN?3?5Currently?5the?5Team?5@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 231  : 							this->m_canRequestVehicleNotify[i] = true;
; 232  : 							this->m_commandTime[i] = 0.0f;

	fldz
	mov	BYTE PTR [esi+edi+72], 1
	fstp	DWORD PTR [edi+esi*4+1116]
	add	esp, 12					; 0000000cH

; 233  : 						}

	lea	ecx, DWORD PTR _stats$58307[esp+192]
	mov	BYTE PTR __$EHRec$[esp+200], 0
	call	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result
$LN29@Think:
	add	esi, 1
	cmp	esi, 2
	jl	$LN30@Think

; 234  : 					}
; 235  : 				}

	push	OFFSET ??1?$aVector@PAVgzPlayer@@@@UAE@XZ ; aVector<gzPlayer *>::~aVector<gzPlayer *>
	push	2
	push	16					; 00000010H
	lea	eax, DWORD PTR _ComList$58193[esp+204]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+216], -1
	call	??_M@YGXPAXIHP6EX0@Z@Z
$LN42@Think:

; 236  : 				this->m_lastSelection = cGame->GameDuration_Seconds;

	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+604]
	mov	DWORD PTR [edi+1108], eax
$LN43@Think:

; 237  : 			}
; 238  : 		}
; 239  : 		for (int i = 0; i < 2; i++)

	xor	esi, esi
	lea	ebp, DWORD PTR [edi+48]
	mov	DWORD PTR _i$58322[esp+192], esi
	mov	DWORD PTR tv1371[esp+192], 19		; 00000013H
	mov	DWORD PTR tv1419[esp+192], ebp
$LN22@Think:

; 240  : 		{
; 241  : 			// Allow buy vehicle notice
; 242  : 			if (cGame->GameDuration_Seconds > this->m_nextPurchaseTime[i])

	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+604]
	cmp	eax, DWORD PTR [ebp+16]
	jbe	SHORT $LN18@Think

; 243  : 			{
; 244  : 				if (this->m_canRequestVehicleNotify[i] && this->m_commander[i])

	cmp	BYTE PTR [esi+edi+72], 0
	je	SHORT $LN18@Think
	mov	eax, DWORD PTR [ebp]
	test	eax, eax
	je	SHORT $LN18@Think

; 245  : 				{
; 246  : 					PagePlayer(this->m_commander[i]->GetPlayerData()->PlayerId, "[Commander]: You can now use the Commander Buy Vehicle ability.");

	mov	ecx, DWORD PTR [eax+76]
	mov	edx, DWORD PTR [ecx+1884]
	push	OFFSET ??_C@_0EA@INDHFAGN@?$FLCommander?$FN?3?5You?5can?5now?5use?5the@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 247  : 					this->m_canRequestVehicleNotify[i] = false;

	mov	BYTE PTR [esi+edi+72], 0
$LN18@Think:

; 248  : 				}
; 249  : 			}
; 250  : 
; 251  : 			// Buildings health check
; 252  : 			nc_BaseControllerClass *base = nc_BaseControllerClass::Find_Base(i);

	push	esi
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	add	esp, 4

; 253  : 			if (base)

	test	eax, eax
	mov	DWORD PTR _base$58329[esp+192], eax
	je	$LN21@Think

; 254  : 			{
; 255  : 				for (int j = 0; j < base->BuildingList.Count(); j++)

	cmp	DWORD PTR [eax+1740], 0
	mov	DWORD PTR _j$58331[esp+192], 0
	jle	$LN21@Think
$LL16@Think:

; 256  : 				{
; 257  : 					nc_BuildingGameObj *Building = (nc_BuildingGameObj *)base->BuildingList[j];

	mov	eax, DWORD PTR _base$58329[esp+192]
	mov	ecx, DWORD PTR [eax+1728]
	mov	edx, DWORD PTR _j$58331[esp+192]
	mov	esi, DWORD PTR [ecx+edx*4]

; 258  : 					float Percent = (Building->Defense.Health.Get() / Building->Defense.HealthMax.Get());

	lea	ebp, DWORD PTR [esi+1840]
	mov	ecx, ebp
	lea	ebx, DWORD PTR [esi+1844]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv1290[esp+192]
	mov	ecx, ebx
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fdivr	DWORD PTR tv1290[esp+192]

; 259  : 					if (!Building->Destroyed && Percent <= 0.5f)

	cmp	BYTE PTR [esi+1912], 0
	jne	$LN178@Think
	fld	DWORD PTR __real@3f000000
	fcomp	ST(1)
	fnstsw	ax
	test	ah, 1
	jne	$LN178@Think

; 260  : 					{
; 261  : 						if ((cGame->GameDuration_Seconds - this->m_buildingWarn[i][j]) >= 15)

	mov	ecx, DWORD PTR _j$58331[esp+192]
	mov	eax, DWORD PTR tv1371[esp+192]
	mov	edx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	add	eax, ecx
	mov	ecx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [ecx+604]
	lea	eax, DWORD PTR [edi+eax*4]
	mov	edx, ecx
	sub	edx, DWORD PTR [eax]
	cmp	edx, 15					; 0000000fH
	jb	$LN178@Think

; 262  : 						{
; 263  : 							if (this->m_commander[i])

	mov	edx, DWORD PTR tv1419[esp+192]
	cmp	DWORD PTR [edx], 0
	je	$LN178@Think

; 264  : 							{
; 265  : 								this->m_buildingWarn[i][j] = cGame->GameDuration_Seconds;
; 266  : 								this->m_lastBuildingWarn[i] = j;
; 267  : 								if (Percent <= 0.2f)

	fcomp	DWORD PTR __real@3e4ccccd
	mov	DWORD PTR [eax], ecx
	mov	eax, DWORD PTR _j$58331[esp+192]
	mov	DWORD PTR [edx+1052], eax
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN10@Think

; 268  : 									PagePlayer(this->m_commander[i]->GetPlayerData()->PlayerId, "[Commander]: Critical - Building %s is below 20%% of it's max health. You may request repairs by using \"!com rb\" or keyboard shortcut(RequestRepairs - numpad *). (%.0f/%.0f)", gzTranslator->Get(Building), Building->Defense.Health.Get(), Building->Defense.HealthMax.Get());

	mov	ecx, edx
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+76]
	mov	ecx, ebx
	mov	DWORD PTR $T67038[esp+192], eax
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	sub	esp, 8
	mov	ecx, ebp
	fstp	QWORD PTR [esp]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	mov	ecx, DWORD PTR $T67038[esp+208]
	mov	edx, DWORD PTR [ecx+1884]
	push	eax
	push	OFFSET ??_C@_0KO@CHJEDHIP@?$FLCommander?$FN?3?5Critical?5?9?5Building@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN15@Think
$LN10@Think:

; 269  : 								else if (Percent <= 0.5f)
; 270  : 									PagePlayer(this->m_commander[i]->GetPlayerData()->PlayerId, "[Commander]: Warning - Building %s is below 50%% of it's max health. You may request repairs by using \"!com rb\" or keyboard shortcut(RequestRepairs - numpad *). (%.0f/%.0f)", gzTranslator->Get(Building), Building->Defense.Health.Get(), Building->Defense.HealthMax.Get());

	mov	eax, DWORD PTR tv1419[esp+192]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx+76]
	mov	ecx, ebx
	mov	DWORD PTR $T67042[esp+192], edx
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	sub	esp, 8
	mov	ecx, ebp
	fstp	QWORD PTR [esp]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	mov	eax, DWORD PTR $T67042[esp+212]
	mov	ecx, DWORD PTR [eax+1884]
	push	OFFSET ??_C@_0KN@HDJHPBFA@?$FLCommander?$FN?3?5Warning?5?9?5Building?5@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 28					; 0000001cH
	jmp	SHORT $LN15@Think
$LN178@Think:

; 262  : 						{
; 263  : 							if (this->m_commander[i])

	fstp	ST(0)
$LN15@Think:

; 254  : 			{
; 255  : 				for (int j = 0; j < base->BuildingList.Count(); j++)

	mov	eax, DWORD PTR _j$58331[esp+192]
	mov	edx, DWORD PTR _base$58329[esp+192]
	add	eax, 1
	cmp	eax, DWORD PTR [edx+1740]
	mov	DWORD PTR _j$58331[esp+192], eax
	jl	$LL16@Think
	mov	ebp, DWORD PTR tv1419[esp+192]
	mov	esi, DWORD PTR _i$58322[esp+192]
$LN21@Think:
	mov	eax, DWORD PTR tv1371[esp+192]
	add	eax, 128				; 00000080H
	add	esi, 1
	add	ebp, 4
	cmp	eax, 275				; 00000113H
	mov	DWORD PTR _i$58322[esp+192], esi
	mov	DWORD PTR tv1371[esp+192], eax
	mov	DWORD PTR tv1419[esp+192], ebp
	jl	$LN22@Think

; 271  : 							}
; 272  : 						}
; 273  : 					}
; 274  : 				}
; 275  : 			}
; 276  : 		}
; 277  : 		for (nc_GenericSLNode<nc_SmartGameObj> *vehList = nc_GameObjManager::SmartGameObjList->HeadNode; vehList != NULL; vehList = vehList->NodeNext)

	mov	eax, DWORD PTR ?SmartGameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_SmartGameObj@@@@A ; nc_GameObjManager::SmartGameObjList
	mov	esi, DWORD PTR [eax+4]
	test	esi, esi
	je	$LN5@Think
	mov	ebx, DWORD PTR __imp__GetTickCount@0
	npad	2
$LL7@Think:

; 278  : 		{
; 279  : 			if (vehList->NodeData->As_VehicleGameObj() && vehList->NodeData->As_VehicleGameObj()->SeatsList.Length() > 0)

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	call	eax
	test	eax, eax
	je	$LN6@Think
	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	call	eax
	add	eax, 2476				; 000009acH
	cmp	DWORD PTR [eax+8], 0
	jle	$LN6@Think

; 280  : 			{
; 281  : 				if (this->m_commander[vehList->NodeData->PlayerType] && this->m_commanderPurchase[vehList->NodeData->PlayerType])

	mov	ecx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [ecx+1892]
	cmp	DWORD PTR [edi+eax*4+48], 0
	je	$LN6@Think
	cmp	BYTE PTR [eax+edi+1112], 0
	je	$LN6@Think

; 282  : 				{
; 283  : 					if ((!vehList->NodeData->As_VehicleGameObj()->Delivered || (GetTickCount() - SystemTime - vehList->NodeData->CreationTime) < 1000) && vehList->NodeData->As_VehicleGameObj()->Owner.Reference == this->m_commander[vehList->NodeData->PlayerType]->GetPlayerData()->Owner.Reference)

	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	call	eax
	cmp	BYTE PTR [eax+2451], 0
	je	SHORT $LN1@Think
	call	ebx
	mov	ecx, DWORD PTR [esi+4]
	sub	eax, DWORD PTR [ecx+1176]
	mov	edx, DWORD PTR ?SystemTime@@3AAKA	; SystemTime
	sub	eax, DWORD PTR [edx]
	cmp	eax, 1000				; 000003e8H
	jae	$LN6@Think
$LN1@Think:
	mov	ecx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [ecx+1892]
	mov	edx, DWORD PTR [edi+eax*4+48]
	mov	eax, DWORD PTR [ecx]
	mov	ebp, DWORD PTR [edx+76]
	mov	edx, DWORD PTR [eax+40]
	call	edx
	mov	eax, DWORD PTR [eax+2528]
	cmp	eax, DWORD PTR [ebp+20]
	jne	SHORT $LN6@Think

; 284  : 					{
; 285  : 						vehList->NodeData->As_VehicleGameObj()->OwnerExpireCounter = 99999.0f;

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	call	eax
	fld	DWORD PTR __real@47c34f80
	fstp	DWORD PTR [eax+2536]

; 286  : 						this->m_commanderPurchase[vehList->NodeData->PlayerType] = false;

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx+1892]
	mov	BYTE PTR [edx+edi+1112], 0

; 287  : #ifdef DEVMSG
; 288  : 						stConsole::Out("Set %s owner time to %f...\n",
; 289  : 							vehList->NodeData->definition->Get_Name(),
; 290  : 							vehList->NodeData->As_VehicleGameObj()->OwnerExpireCounter
; 291  : 						);

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, ecx
	mov	ebp, DWORD PTR [eax+1724]
	mov	eax, DWORD PTR [edx+40]
	call	eax
	fld	DWORD PTR [eax+2536]
	mov	edx, DWORD PTR [ebp]
	mov	eax, DWORD PTR [edx+48]
	sub	esp, 8
	mov	ecx, ebp
	fstp	QWORD PTR [esp]
	call	eax
	push	eax
	push	OFFSET ??_C@_0BM@DEBBDPGO@Set?5?$CFs?5owner?5time?5to?5?$CFf?4?4?4?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 16					; 00000010H
$LN6@Think:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	$LL7@Think
$LN5@Think:

; 292  : #endif
; 293  : 					}
; 294  : 				}
; 295  : 			}
; 296  : 		}
; 297  : 	}
; 298  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+192]
	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$?Think@gzTeamCommanderClass@@UAEXXZ$0:
	push	OFFSET ??1?$aVector@PAVgzPlayer@@@@UAE@XZ ; aVector<gzPlayer *>::~aVector<gzPlayer *>
	push	2
	push	16					; 00000010H
	lea	eax, DWORD PTR _ComList$58193[ebp]
	push	eax
	call	??_M@YGXPAXIHP6EX0@Z@Z
	ret	0
__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$1:
	lea	ecx, DWORD PTR $T66889[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$2:
	lea	ecx, DWORD PTR _stats$58307[ebp]
	jmp	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result
__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$3:
	lea	ecx, DWORD PTR $T66891[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$4:
	lea	ecx, DWORD PTR $T66894[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$5:
	lea	ecx, DWORD PTR $T66895[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$6:
	lea	ecx, DWORD PTR $T66898[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Think@gzTeamCommanderClass@@UAEXXZ$7:
	lea	ecx, DWORD PTR $T66901[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Think@gzTeamCommanderClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Think@gzTeamCommanderClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Think@gzTeamCommanderClass@@UAEXXZ ENDP		; gzTeamCommanderClass::Think
PUBLIC	??1gzChatCommandBase@@QAE@XZ			; gzChatCommandBase::~gzChatCommandBase
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzChatCommandBase@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$1
__ehfuncinfo$??1gzChatCommandBase@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??1gzChatCommandBase@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzChatCommandBase@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzChatCommandBase@@QAE@XZ PROC			; gzChatCommandBase::~gzChatCommandBase, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzChatCommandBase@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	lea	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR __$EHRec$[esp+28], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR [esi+24]
	mov	BYTE PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 4
	jmp	??1aWideStringArray@@UAE@XZ
__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzChatCommandBase@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzChatCommandBase@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzChatCommandBase@@QAE@XZ ENDP			; gzChatCommandBase::~gzChatCommandBase
PUBLIC	??_7aWideStringArray@@6B@			; aWideStringArray::`vftable'
PUBLIC	??0aWideStringArray@@QAE@XZ			; aWideStringArray::aWideStringArray
PUBLIC	??_R4aWideStringArray@@6B@			; aWideStringArray::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaWideStringArray@@@8			; aWideStringArray `RTTI Type Descriptor'
PUBLIC	??_R3aWideStringArray@@8			; aWideStringArray::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aWideStringArray@@8			; aWideStringArray::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aWideStringArray@@8		; aWideStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EaWideStringArray@@UAEPAXI@Z:PROC		; aWideStringArray::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@aWideStringArray@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aWideStringArray@@8 DD FLAT:??_R0?AVaWideStringArray@@@8 ; aWideStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R2aWideStringArray@@8
rdata$r	SEGMENT
??_R2aWideStringArray@@8 DD FLAT:??_R1A@?0A@EA@aWideStringArray@@8 ; aWideStringArray::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3aWideStringArray@@8
rdata$r	SEGMENT
??_R3aWideStringArray@@8 DD 00H				; aWideStringArray::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaWideStringArray@@@8
_DATA	SEGMENT
??_R0?AVaWideStringArray@@@8 DD FLAT:??_7type_info@@6B@	; aWideStringArray `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaWideStringArray@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aWideStringArray@@6B@
rdata$r	SEGMENT
??_R4aWideStringArray@@6B@ DD 00H			; aWideStringArray::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaWideStringArray@@@8
	DD	FLAT:??_R3aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_7aWideStringArray@@6B@
CONST	SEGMENT
??_7aWideStringArray@@6B@ DD FLAT:??_R4aWideStringArray@@6B@ ; aWideStringArray::`vftable'
	DD	FLAT:??_EaWideStringArray@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aWideStringArray@@QAE@XZ
_TEXT	SEGMENT
??0aWideStringArray@@QAE@XZ PROC			; aWideStringArray::aWideStringArray, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax], OFFSET ??_7aWideStringArray@@6B@
	ret	0
??0aWideStringArray@@QAE@XZ ENDP			; aWideStringArray::aWideStringArray
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaWideStringArray@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaWideStringArray@@UAEPAXI@Z PROC			; aWideStringArray::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@7
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@7:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideStringArray@@UAEPAXI@Z ENDP			; aWideStringArray::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0DO@LBMAHKGM@UPDATE?5commander_stats?5SET?5victo@ ; `string'
PUBLIC	??_C@_0DF@KJGNJGPE@INSERT?5INTO?5commander_stats?5VALU@ ; `string'
PUBLIC	??_C@_0O@PLJALEKO@Win?5team?3?5?$CFd?6?$AA@	; `string'
PUBLIC	?Level_Ended@gzTeamCommanderClass@@UAEXXZ	; gzTeamCommanderClass::Level_Ended
EXTRN	?Find_Team@nc_cTeamManager@@SAPAVnc_cTeam@@H@Z:PROC ; nc_cTeamManager::Find_Team
EXTRN	__ftol2_sse:PROC
;	COMDAT ??_C@_0DO@LBMAHKGM@UPDATE?5commander_stats?5SET?5victo@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0DO@LBMAHKGM@UPDATE?5commander_stats?5SET?5victo@ DB 'UPDATE comman'
	DB	'der_stats SET victory = ''%d'' WHERE player = ''%d''', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DF@KJGNJGPE@INSERT?5INTO?5commander_stats?5VALU@
CONST	SEGMENT
??_C@_0DF@KJGNJGPE@INSERT?5INTO?5commander_stats?5VALU@ DB 'INSERT INTO c'
	DB	'ommander_stats VALUES (''%d'', ''%d'', ''0'')', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@PLJALEKO@Win?5team?3?5?$CFd?6?$AA@
CONST	SEGMENT
??_C@_0O@PLJALEKO@Win?5team?3?5?$CFd?6?$AA@ DB 'Win team: %d', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Level_Ended@gzTeamCommanderClass@@UAEXXZ DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Level_Ended@gzTeamCommanderClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Level_Ended@gzTeamCommanderClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Level_Ended@gzTeamCommanderClass@@UAEXXZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Level_Ended@gzTeamCommanderClass@@UAEXXZ$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Level_Ended@gzTeamCommanderClass@@UAEXXZ$2
	DD	00H
	DD	FLAT:__unwindfunclet$?Level_Ended@gzTeamCommanderClass@@UAEXXZ$3
	DD	00H
	DD	FLAT:__unwindfunclet$?Level_Ended@gzTeamCommanderClass@@UAEXXZ$4
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stteamcommander.cpp
xdata$x	ENDS
;	COMDAT ?Level_Ended@gzTeamCommanderClass@@UAEXXZ
_TEXT	SEGMENT
$T67155 = -41						; size = 1
$T67150 = -41						; size = 1
tv320 = -40						; size = 4
$T67156 = -40						; size = 8
$T67154 = -40						; size = 8
$T67153 = -40						; size = 8
$T67151 = -40						; size = 8
_stats$58154 = -32					; size = 20
__$EHRec$ = -12						; size = 12
?Level_Ended@gzTeamCommanderClass@@UAEXXZ PROC		; gzTeamCommanderClass::Level_Ended, COMDAT
; _this$ = ecx

; 88   : {

	push	-1
	mov	eax, DWORD PTR fs:0
	push	__ehhandler$?Level_Ended@gzTeamCommanderClass@@UAEXXZ
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 32					; 00000020H
	push	ebx
	push	ebp
	push	esi
	push	edi

; 89   : 	int winTeam = -1;
; 90   : 	if (nc_cTeamManager::Find_Team(0)->Score > nc_cTeamManager::Find_Team(1)->Score)

	xor	ebx, ebx
	push	ebx
	mov	ebp, ecx
	or	edi, -1
	call	?Find_Team@nc_cTeamManager@@SAPAVnc_cTeam@@H@Z ; nc_cTeamManager::Find_Team
	push	1
	lea	esi, DWORD PTR [eax+1728]
	call	?Find_Team@nc_cTeamManager@@SAPAVnc_cTeam@@H@Z ; nc_cTeamManager::Find_Team
	fld	DWORD PTR [eax+1728]
	fcomp	DWORD PTR [esi]
	add	esp, 8
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN12@Level_Ende

; 91   : 		winTeam = 0;

	xor	edi, edi
	jmp	SHORT $LN10@Level_Ende
$LN12@Level_Ende:

; 92   : 	else if (nc_cTeamManager::Find_Team(0)->Score < nc_cTeamManager::Find_Team(1)->Score)

	push	ebx
	call	?Find_Team@nc_cTeamManager@@SAPAVnc_cTeam@@H@Z ; nc_cTeamManager::Find_Team
	push	1
	lea	esi, DWORD PTR [eax+1728]
	call	?Find_Team@nc_cTeamManager@@SAPAVnc_cTeam@@H@Z ; nc_cTeamManager::Find_Team
	fld	DWORD PTR [eax+1728]
	fcomp	DWORD PTR [esi]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN10@Level_Ende

; 93   : 		winTeam = 1;

	mov	edi, 1
$LN10@Level_Ende:

; 94   : 
; 95   : #ifdef DEVMSG
; 96   : 	stConsole::Out("Win team: %d\n", winTeam);

	push	edi
	push	OFFSET ??_C@_0O@PLJALEKO@Win?5team?3?5?$CFd?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8

; 97   : #endif
; 98   : 
; 99   : 	if (winTeam != -1 && this->m_commander[winTeam] != NULL &&
; 100  : 		(((int)this->m_commandTime[winTeam] >= this->m_settings->m_minimumVictoryLog) ||
; 101  : 		(this->m_commandTime[winTeam] >= ((float)this->m_settings->m_minimumVictoryLog / 2.0f))))

	cmp	edi, -1
	je	$LN7@Level_Ende
	mov	esi, DWORD PTR [ebp+edi*4+48]
	cmp	esi, ebx
	je	$LN7@Level_Ende
	mov	eax, DWORD PTR [ebp+1124]
	fld	DWORD PTR [ebp+edi*4+1116]
	mov	ecx, DWORD PTR [eax+32]
	mov	DWORD PTR tv320[esp+60], ecx
	call	__ftol2_sse
	cmp	eax, DWORD PTR tv320[esp+60]
	jge	SHORT $LN8@Level_Ende
	fild	DWORD PTR tv320[esp+60]
	fmul	DWORD PTR __real@3f000000
	fcomp	DWORD PTR [ebp+edi*4+1116]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	$LN7@Level_Ende
$LN8@Level_Ende:

; 102  : 	{
; 103  : 		if (this->m_commander[winTeam])
; 104  : 		{
; 105  : #if VERC(1, 1, 0)
; 106  : 			int victoryCount = 1;
; 107  : 			aSQLite3Result stats;

	mov	DWORD PTR _stats$58154[esp+60], OFFSET ??_7?$aVector@PAUaSQLite3ResultData@@@@6B@
	mov	DWORD PTR _stats$58154[esp+64], ebx
	mov	DWORD PTR _stats$58154[esp+68], ebx
	mov	DWORD PTR _stats$58154[esp+72], ebx

; 108  : 			if (stDb->Exec(aString::Format("SELECT * FROM commander_stats WHERE player = '%d'", this->m_commander[winTeam]->GetStId()), &stats) != aSQLITE_ERROR)

	mov	eax, DWORD PTR [esi+148]
	push	eax
	lea	edx, DWORD PTR $T67151[esp+64]
	push	OFFSET ??_C@_0DC@IAKLLFGJ@SELECT?5?$CK?5FROM?5commander_stats?5WH@
	push	edx
	mov	DWORD PTR __$EHRec$[esp+80], ebx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR _stats$58154[esp+60]
	push	ecx
	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	push	eax
	mov	BYTE PTR __$EHRec$[esp+76], 1
	call	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z ; aSQLite3::Exec
	cmp	eax, -1
	lea	ecx, DWORD PTR $T67151[esp+60]
	setne	BYTE PTR $T67150[esp+60]
	mov	BYTE PTR __$EHRec$[esp+68], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T67150[esp+60], bl
	je	$LN6@Level_Ende

; 109  : 			{
; 110  : 				if (stats.Count() == 0)

	lea	ecx, DWORD PTR _stats$58154[esp+60]
	call	?Count@aSQLite3Result@@QAEHXZ		; aSQLite3Result::Count
	test	eax, eax
	jne	SHORT $LN5@Level_Ende

; 111  : 				{
; 112  : 					if (stDb->Exec(aString::Format("INSERT INTO commander_stats VALUES ('%d', '%d', '0')", this->m_commander[winTeam]->GetStId(), victoryCount), NULL) == aSQLITE_ERROR)

	mov	edx, DWORD PTR [ebp+edi*4+48]
	mov	eax, DWORD PTR [edx+148]
	push	1
	push	eax
	lea	eax, DWORD PTR $T67153[esp+68]
	push	OFFSET ??_C@_0DF@KJGNJGPE@INSERT?5INTO?5commander_stats?5VALU@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	BYTE PTR __$EHRec$[esp+68], 2

; 113  : 						stDb->PrintError();
; 114  : 				}
; 115  : 				else

	jmp	SHORT $LN45@Level_Ende
$LN5@Level_Ende:

; 116  : 				{
; 117  : 					victoryCount = ((*stats.GetFirst())["victory"].ToLong() + 1);

	push	OFFSET ??_C@_07KGDDBDJI@victory?$AA@
	lea	ecx, DWORD PTR $T67154[esp+64]
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T67154[esp+60]
	push	ecx
	lea	ecx, DWORD PTR _stats$58154[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 3
	call	?GetFirst@aSQLite3Result@@QAEPAV?$aMap@VaString@@@@XZ ; aSQLite3Result::GetFirst
	mov	ecx, eax
	call	??A?$aMap@VaString@@@@QAEAAVaString@@ABVaWideString@@@Z ; aMap<aString>::operator[]
	mov	ecx, eax
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	mov	esi, eax
	lea	ecx, DWORD PTR $T67154[esp+60]
	add	esi, 1
	mov	BYTE PTR __$EHRec$[esp+68], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 118  : 					if (stDb->Exec(aString::Format("UPDATE commander_stats SET victory = '%d' WHERE player = '%d'", victoryCount, this->m_commander[winTeam]->GetStId()), NULL) == aSQLITE_ERROR)

	mov	edx, DWORD PTR [ebp+edi*4+48]
	mov	eax, DWORD PTR [edx+148]
	push	eax
	push	esi
	lea	eax, DWORD PTR $T67156[esp+68]
	push	OFFSET ??_C@_0DO@LBMAHKGM@UPDATE?5commander_stats?5SET?5victo@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	BYTE PTR __$EHRec$[esp+68], 4
$LN45@Level_Ende:
	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	push	ebx
	push	eax
	call	?Exec@aSQLite3@@QAEHABVaString@@PAVaSQLite3Result@@@Z ; aSQLite3::Exec
	cmp	eax, -1
	lea	ecx, DWORD PTR $T67156[esp+60]
	sete	BYTE PTR $T67155[esp+60]
	mov	BYTE PTR __$EHRec$[esp+68], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T67155[esp+60], bl
	je	SHORT $LN42@Level_Ende
$LN6@Level_Ende:

; 119  : 						stDb->PrintError();
; 120  : 				}
; 121  : 			}
; 122  : 			else
; 123  : 				stDb->PrintError();

	mov	ecx, DWORD PTR ?stDb@@3PAVstDbManager@@A ; stDb
	call	?PrintError@stDbManager@@QAEXXZ		; stDbManager::PrintError
$LN42@Level_Ende:

; 124  : #else
; 125  : 			aTextConfig tccfg("TeamCommander.ini", true);
; 126  : 			tccfg.Set("Victory.\"" + this->m_commander[winTeam]->GetPlayerName() + "\"", tccfg.GetData("Victory.\"" + this->m_commander[winTeam]->GetPlayerName() + "\"", 0).ToLong() + 1);
; 127  :   #ifdef DEVMSG
; 128  : 			stConsole::Out("%ls is now have %d victory for being a commander. [%d;%d]\n",
; 129  : 				this->m_commander[winTeam]->GetPlayerName().GetString(),
; 130  : 				tccfg.GetData("Victory.\"" + this->m_commander[winTeam]->GetPlayerName() + "\"", 0).ToLong(),
; 131  : 				(GetTickCount() - SystemTime - nc_cNetwork::PServerConnection->RemoteList[this->m_commander[winTeam]->GetPlayerData()->PlayerId]->JoinTime) / 1000,
; 132  : 				cGame->GameDuration_Seconds
; 133  : 			);
; 134  :   #endif
; 135  : #endif
; 136  : 		}

	lea	ecx, DWORD PTR _stats$58154[esp+60]
	mov	DWORD PTR __$EHRec$[esp+68], -1
	call	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result
$LN7@Level_Ende:

; 137  : 	}
; 138  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+60]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Level_Ended@gzTeamCommanderClass@@UAEXXZ$0:
	lea	ecx, DWORD PTR _stats$58154[ebp]
	jmp	??1aSQLite3Result@@QAE@XZ		; aSQLite3Result::~aSQLite3Result
__unwindfunclet$?Level_Ended@gzTeamCommanderClass@@UAEXXZ$1:
	lea	ecx, DWORD PTR $T67151[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Ended@gzTeamCommanderClass@@UAEXXZ$2:
	lea	ecx, DWORD PTR $T67153[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Level_Ended@gzTeamCommanderClass@@UAEXXZ$3:
	lea	ecx, DWORD PTR $T67154[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Level_Ended@gzTeamCommanderClass@@UAEXXZ$4:
	lea	ecx, DWORD PTR $T67156[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Level_Ended@gzTeamCommanderClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Level_Ended@gzTeamCommanderClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Level_Ended@gzTeamCommanderClass@@UAEXXZ ENDP		; gzTeamCommanderClass::Level_Ended
PUBLIC	??_7gzChatCommandBase@@6B@			; gzChatCommandBase::`vftable'
PUBLIC	??0gzChatCommandBase@@QAE@XZ			; gzChatCommandBase::gzChatCommandBase
PUBLIC	??_R4gzChatCommandBase@@6B@			; gzChatCommandBase::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChatCommandBase@@@8			; gzChatCommandBase `RTTI Type Descriptor'
PUBLIC	??_R3gzChatCommandBase@@8			; gzChatCommandBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChatCommandBase@@8			; gzChatCommandBase::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChatCommandBase@@8		; gzChatCommandBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??0aString@@QAE@XZ:PROC				; aString::aString
;	COMDAT ??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChatCommandBase@@8 DD FLAT:??_R0?AVgzChatCommandBase@@@8 ; gzChatCommandBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChatCommandBase@@8
rdata$r	SEGMENT
??_R2gzChatCommandBase@@8 DD FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8 ; gzChatCommandBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzChatCommandBase@@8
rdata$r	SEGMENT
??_R3gzChatCommandBase@@8 DD 00H			; gzChatCommandBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChatCommandBase@@@8
_DATA	SEGMENT
??_R0?AVgzChatCommandBase@@@8 DD FLAT:??_7type_info@@6B@ ; gzChatCommandBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChatCommandBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChatCommandBase@@6B@
rdata$r	SEGMENT
??_R4gzChatCommandBase@@6B@ DD 00H			; gzChatCommandBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChatCommandBase@@@8
	DD	FLAT:??_R3gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_7gzChatCommandBase@@6B@
CONST	SEGMENT
??_7gzChatCommandBase@@6B@ DD FLAT:??_R4gzChatCommandBase@@6B@ ; gzChatCommandBase::`vftable'
	DD	FLAT:__purecall
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzChatCommandBase@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$1
__ehfuncinfo$??0gzChatCommandBase@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0gzChatCommandBase@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzChatCommandBase@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzChatCommandBase@@QAE@XZ PROC			; gzChatCommandBase::gzChatCommandBase, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0gzChatCommandBase@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7gzChatCommandBase@@6B@
	xor	eax, eax
	mov	DWORD PTR _this$[esp+20], esi
	mov	DWORD PTR [esi+8], eax
	mov	DWORD PTR [esi+12], eax
	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+4], OFFSET ??_7aWideStringArray@@6B@
	lea	ecx, DWORD PTR [esi+24]
	mov	DWORD PTR __$EHRec$[esp+28], eax
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [esi+32]
	mov	BYTE PTR __$EHRec$[esp+28], 1
	call	??0aWideString@@QAE@XZ			; aWideString::aWideString
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 4
	jmp	??1aWideStringArray@@UAE@XZ
__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1aString@@UAE@XZ
__ehhandler$??0gzChatCommandBase@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzChatCommandBase@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzChatCommandBase@@QAE@XZ ENDP			; gzChatCommandBase::gzChatCommandBase
PUBLIC	??_7gzSettingsTeamCommanderClass@@6B@		; gzSettingsTeamCommanderClass::`vftable'
PUBLIC	??0gzSettingsTeamCommanderClass@@QAE@XZ		; gzSettingsTeamCommanderClass::gzSettingsTeamCommanderClass
PUBLIC	??_R4gzSettingsTeamCommanderClass@@6B@		; gzSettingsTeamCommanderClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzSettingsTeamCommanderClass@@@8	; gzSettingsTeamCommanderClass `RTTI Type Descriptor'
PUBLIC	??_R3gzSettingsTeamCommanderClass@@8		; gzSettingsTeamCommanderClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzSettingsTeamCommanderClass@@8		; gzSettingsTeamCommanderClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzSettingsTeamCommanderClass@@8	; gzSettingsTeamCommanderClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
;	COMDAT ??_R1A@?0A@EA@gzSettingsTeamCommanderClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzSettingsTeamCommanderClass@@8 DD FLAT:??_R0?AVgzSettingsTeamCommanderClass@@@8 ; gzSettingsTeamCommanderClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSettingsTeamCommanderClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzSettingsTeamCommanderClass@@8
rdata$r	SEGMENT
??_R2gzSettingsTeamCommanderClass@@8 DD FLAT:??_R1A@?0A@EA@gzSettingsTeamCommanderClass@@8 ; gzSettingsTeamCommanderClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzSettingsTeamCommanderClass@@8
rdata$r	SEGMENT
??_R3gzSettingsTeamCommanderClass@@8 DD 00H		; gzSettingsTeamCommanderClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzSettingsTeamCommanderClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzSettingsTeamCommanderClass@@@8
_DATA	SEGMENT
??_R0?AVgzSettingsTeamCommanderClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzSettingsTeamCommanderClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzSettingsTeamCommanderClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzSettingsTeamCommanderClass@@6B@
rdata$r	SEGMENT
??_R4gzSettingsTeamCommanderClass@@6B@ DD 00H		; gzSettingsTeamCommanderClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzSettingsTeamCommanderClass@@@8
	DD	FLAT:??_R3gzSettingsTeamCommanderClass@@8
rdata$r	ENDS
;	COMDAT ??_7gzSettingsTeamCommanderClass@@6B@
CONST	SEGMENT
??_7gzSettingsTeamCommanderClass@@6B@ DD FLAT:??_R4gzSettingsTeamCommanderClass@@6B@ ; gzSettingsTeamCommanderClass::`vftable'
	DD	FLAT:?Delete@gzSettingsTeamCommanderClass@@UAEXXZ
	DD	FLAT:?Load@gzSettingsTeamCommanderClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzSettingsTeamCommanderClass@@QAE@XZ
_TEXT	SEGMENT
$T67244 = -4						; size = 4
??0gzSettingsTeamCommanderClass@@QAE@XZ PROC		; gzSettingsTeamCommanderClass::gzSettingsTeamCommanderClass, COMDAT
; _this$ = ecx
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	xor	edi, edi
	mov	DWORD PTR [esi], OFFSET ??_7stSettingsBase@@6B@
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+16], edi
	mov	DWORD PTR [esi+20], edi
	mov	DWORD PTR [esi+8], edi
	mov	ecx, DWORD PTR ?gzSettingsMgr@@3PAVgzSettingsManager@@A ; gzSettingsMgr
	add	ecx, 36					; 00000024H
	mov	DWORD PTR $T67244[esp+12], esi
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+12]
	lea	edx, DWORD PTR $T67244[esp+12]
	push	edx
	call	eax
	mov	DWORD PTR [esi], OFFSET ??_7gzSettingsTeamCommanderClass@@6B@
	mov	DWORD PTR [esi+40], edi
	mov	DWORD PTR [esi+44], edi
	mov	DWORD PTR [esi+48], edi
	pop	edi
	mov	DWORD PTR [esi+36], OFFSET ??_7aWideStringArray@@6B@
	mov	eax, esi
	pop	esi
	pop	ecx
	ret	0
??0gzSettingsTeamCommanderClass@@QAE@XZ ENDP		; gzSettingsTeamCommanderClass::gzSettingsTeamCommanderClass
_TEXT	ENDS
PUBLIC	??_7Chat_TeamCommander@@6B@			; Chat_TeamCommander::`vftable'
PUBLIC	??0Chat_TeamCommander@@QAE@XZ			; Chat_TeamCommander::Chat_TeamCommander
PUBLIC	??_R4Chat_TeamCommander@@6B@			; Chat_TeamCommander::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVChat_TeamCommander@@@8			; Chat_TeamCommander `RTTI Type Descriptor'
PUBLIC	??_R3Chat_TeamCommander@@8			; Chat_TeamCommander::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2Chat_TeamCommander@@8			; Chat_TeamCommander::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@Chat_TeamCommander@@8		; Chat_TeamCommander::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z ; Chat_TeamCommander::Activate
;	COMDAT ??_R1A@?0A@EA@Chat_TeamCommander@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@Chat_TeamCommander@@8 DD FLAT:??_R0?AVChat_TeamCommander@@@8 ; Chat_TeamCommander::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3Chat_TeamCommander@@8
rdata$r	ENDS
;	COMDAT ??_R2Chat_TeamCommander@@8
rdata$r	SEGMENT
??_R2Chat_TeamCommander@@8 DD FLAT:??_R1A@?0A@EA@Chat_TeamCommander@@8 ; Chat_TeamCommander::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3Chat_TeamCommander@@8
rdata$r	SEGMENT
??_R3Chat_TeamCommander@@8 DD 00H			; Chat_TeamCommander::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2Chat_TeamCommander@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVChat_TeamCommander@@@8
_DATA	SEGMENT
??_R0?AVChat_TeamCommander@@@8 DD FLAT:??_7type_info@@6B@ ; Chat_TeamCommander `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVChat_TeamCommander@@', 00H
_DATA	ENDS
;	COMDAT ??_R4Chat_TeamCommander@@6B@
rdata$r	SEGMENT
??_R4Chat_TeamCommander@@6B@ DD 00H			; Chat_TeamCommander::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVChat_TeamCommander@@@8
	DD	FLAT:??_R3Chat_TeamCommander@@8
rdata$r	ENDS
;	COMDAT ??_7Chat_TeamCommander@@6B@
CONST	SEGMENT
??_7Chat_TeamCommander@@6B@ DD FLAT:??_R4Chat_TeamCommander@@6B@ ; Chat_TeamCommander::`vftable'
	DD	FLAT:?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0Chat_TeamCommander@@QAE@XZ
_TEXT	SEGMENT
??0Chat_TeamCommander@@QAE@XZ PROC			; Chat_TeamCommander::Chat_TeamCommander, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7Chat_TeamCommander@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0Chat_TeamCommander@@QAE@XZ ENDP			; Chat_TeamCommander::Chat_TeamCommander
_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

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

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

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

	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	je	SHORT $LN3@GetString@2
	mov	eax, DWORD PTR [eax]
	ret	0
$LN3@GetString@2:
	xor	eax, eax
	ret	0
?GetString@aString@@QBEPBDXZ ENDP			; aString::GetString
_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

; 201  : {

	push	ebx
	push	esi

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

	mov	esi, DWORD PTR _str1$[esp+4]
	push	edi
	mov	ecx, esi
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	mov	edi, DWORD PTR _str2$[esp+8]
	mov	ecx, edi
	mov	ebx, eax
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	cmp	ebx, eax
	jne	SHORT $LN3@operator@3
	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@3
	pop	edi
	pop	esi
	mov	eax, 1
	pop	ebx

; 203  : }

	ret	0
$LN3@operator@3:
	pop	edi
	pop	esi

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

	xor	eax, eax
	pop	ebx

; 203  : }

	ret	0
??8@YA_NABVaString@@0@Z ENDP				; operator==
_TEXT	ENDS
PUBLIC	_fabsf
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\math.h
;	COMDAT _fabsf
_TEXT	SEGMENT
__X$ = 8						; size = 4
_fabsf	PROC						; COMDAT

; 384  :         {return ((float)fabs((double)_X)); }

	fld	DWORD PTR __X$[esp-4]
	fabs
	ret	0
_fabsf	ENDP
_TEXT	ENDS
PUBLIC	?abs@@YAMM@Z					; abs
; Function compile flags: /Ogtpy
;	COMDAT ?abs@@YAMM@Z
_TEXT	SEGMENT
__X$ = 8						; size = 4
?abs@@YAMM@Z PROC					; abs, COMDAT

; 492  :         {return (fabsf(_X)); }

	fld	DWORD PTR __X$[esp-4]
	fabs
	ret	0
?abs@@YAMM@Z ENDP					; abs
_TEXT	ENDS
PUBLIC	??Ync_FloatDataSafeClass@@QAEXM@Z		; nc_FloatDataSafeClass::operator+=
EXTRN	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z:PROC	; nc_FloatDataSafeClass::Set
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_def.h
;	COMDAT ??Ync_FloatDataSafeClass@@QAEXM@Z
_TEXT	SEGMENT
_value$ = 8						; size = 4
??Ync_FloatDataSafeClass@@QAEXM@Z PROC			; nc_FloatDataSafeClass::operator+=, COMDAT
; _this$ = ecx

; 241  : 	void operator+=(float value) {

	push	esi
	mov	esi, ecx

; 242  : 		value = this->Get() + value;

	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR _value$[esp]

; 243  : 		this->Set(value);

	lea	eax, DWORD PTR _value$[esp]
	push	eax
	push	esi
	fstp	DWORD PTR _value$[esp+8]
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set
	pop	esi

; 244  : 	}

	ret	4
??Ync_FloatDataSafeClass@@QAEXM@Z ENDP			; nc_FloatDataSafeClass::operator+=
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaString@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaString@@UAEPAXI@Z PROC				; aString::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@8
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@8:
	mov	eax, esi
	pop	esi
	ret	4
??_GaString@@UAEPAXI@Z ENDP				; aString::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0CO@EGCPFIFF@?$FLCommander?$FN?5Refinery?5for?5your?5te@ ; `string'
PUBLIC	??_C@_0DJ@JIMPJCFF@?$FLCommander?$FN?5The?5Harvester?5for?5yo@ ; `string'
PUBLIC	??_C@_0BM@EGOPMBJG@Usage?3?5?$CBcom?5?$CFs?5?$FLstart?$HMstop?$FN?$AA@ ; `string'
PUBLIC	??_C@_0CD@CNDCDELE@The?5Harvester?5was?5already?5stoppe@ ; `string'
PUBLIC	??_C@_0CG@KNNJFIC@?$CFls?5issued?5a?5Harvester?5Stop?5comm@ ; `string'
PUBLIC	??_C@_0DK@BOGDACGF@?$FLCommander?$FN?5The?5Harvester?5for?5yo@ ; `string'
PUBLIC	??_C@_04PEGFANN@stop?$AA@			; `string'
PUBLIC	??_C@_0CK@JPDNFNED@?$FLCommander?$FN?5The?5Harvester?5is?5not@ ; `string'
PUBLIC	??_C@_0CH@KBCCHHCI@?$CFls?5issued?5a?5Harvester?5Start?5com@ ; `string'
PUBLIC	??_C@_0EA@NHFKBEMN@?$FLCommander?$FN?5The?5Harvester?5for?5yo@ ; `string'
PUBLIC	??_C@_05FAGFPHJG@start?$AA@			; `string'
PUBLIC	??_C@_0CA@PKNHABEG@?$CFls?5issued?5a?5Order?5command?3?5?$CFs?6?$AA@ ; `string'
PUBLIC	??_C@_0CE@IMNJOOIJ@tpage?5?$CFd?5?$FLOrder?5from?5Commander?$FN?3@ ; `string'
PUBLIC	??_C@_0CG@IFMMNDP@tpage?5?$CFd?5?$FLWarning?5from?5Commander@ ; `string'
PUBLIC	??_C@_0CC@LHBHOBNO@?$CFls?5issued?5a?5Warning?5command?3?5?$CFs@ ; `string'
PUBLIC	??_C@_0BJ@MAHEMPMD@Usage?3?5?$CBcom?5?$CFs?5?$FLmessage?$FN?$AA@ ; `string'
PUBLIC	??_C@_0GB@HPPIDCBK@tpage?5?$CFd?5?$FLCommander?$FN?3?5Warning?3?5P@ ; `string'
PUBLIC	??_C@_0GC@BLIPHEPP@tpage?5?$CFd?5?$FLCommander?$FN?3?5Critical?3?5@ ; `string'
PUBLIC	??_C@_0CK@MGHDIKCG@?$CFls?5issued?5a?5Repair?9Building?5com@ ; `string'
PUBLIC	??_C@_0CI@ELEGOKCG@?$CFls?5issued?5a?5Donate?5command?3?5?$CFd?5@ ; `string'
PUBLIC	??_C@_0FF@CLBOOHB@You?8ve?5received?5?$CFd?5credit?$CIs?$CJ?5fro@ ; `string'
PUBLIC	??_C@_0ED@IBKKJIL@?$FLCommander?$FN?5You?8ve?5donated?5?$CFd?5cr@ ; `string'
PUBLIC	??_C@_0DE@DMACKBJL@You?5can?5NOT?5donate?5to?5the?5enemy?5@ ; `string'
PUBLIC	??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@	; `string'
PUBLIC	??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@ ; `string'
PUBLIC	??_C@_0EK@MGNCJOII@Your?5Team?5Pool?5does?5NOT?5have?5?$CFd?5@ ; `string'
PUBLIC	??_C@_0BA@GPEOFDAN@Invalid?5amount?4?$AA@	; `string'
PUBLIC	??_C@_0CF@GKCMAPMC@Usage?3?5?$CBcom?5donate?5?$FLplayer?$FN?5?$FLamo@ ; `string'
PUBLIC	??_C@_06KCCPDNM@donate?$AA@			; `string'
PUBLIC	??_C@_0P@OLPKFFBF@repairbuilding?$AA@		; `string'
PUBLIC	??_C@_02JDPG@rb?$AA@				; `string'
PUBLIC	??_C@_0IO@MHJJGKMI@?$FLCommander?$FN?3?5Vehicle?5purchase?5de@ ; `string'
PUBLIC	??_C@_0CB@KNLHIPMM@?$CFls?5issued?5a?5Buyveh?5command?3?5?$CFs?6@ ; `string'
PUBLIC	??_C@_0EN@CEAPDPPP@You?5have?5used?5?$CFd?5credit?$CIs?$CJ?5from?5@ ; `string'
PUBLIC	??_C@_0EI@ICPJDPGB@?$FLCommander?$FN?5Request?5accepted?$CI?$CFs?$CJ@ ; `string'
PUBLIC	__real@40a00000
PUBLIC	??_C@_0DJ@GCGDHDIG@Team?5Pool?5has?5?$CFd?5credit?$CIs?$CJ?5but?5?$CF@ ; `string'
PUBLIC	??_C@_0GA@LHHNIJFO@?$FLCommander?$FN?3?5Vehicle?5purchase?5de@ ; `string'
PUBLIC	__real@40800000
PUBLIC	??_C@_0CH@KBJNEKHP@You?5have?5to?5wait?5?$CFs?5for?5next?5pur@ ; `string'
PUBLIC	??_C@_06HMPLHEKF@buyveh?$AA@			; `string'
PUBLIC	??_C@_07FPLKDJGL@warning?$AA@			; `string'
PUBLIC	??_C@_04FNLOFOEM@warn?$AA@			; `string'
PUBLIC	??_C@_01NOFIACDB@w?$AA@				; `string'
PUBLIC	??_C@_05NDNMCCJH@order?$AA@			; `string'
PUBLIC	??_C@_01FMEDJKGI@o?$AA@				; `string'
PUBLIC	??_C@_0DB@CONJNCBL@?$FLCommander?$FN?5?$CFls?5can?5not?5become?5a@ ; `string'
PUBLIC	??_C@_0EB@ICDJJJJD@?$FLCommander?$FN?5You?8ve?5transfered?5yo@ ; `string'
PUBLIC	??_C@_0CG@EOANOFMO@?$CFls?5issued?5a?5Transfer?5command?5to@ ; `string'
PUBLIC	??_C@_0BJ@DFBCFMDC@?$CFls?5is?5not?5on?5your?5team?4?$AA@ ; `string'
PUBLIC	??_C@_0O@LBCNAIHM@?$CFs?5not?5found?4?$AA@	; `string'
PUBLIC	??_C@_0EP@GDEDMANO@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFls?$CC?4?5Pl@ ; `string'
PUBLIC	??_C@_0BO@EJPNMICK@Usage?3?5?$CBcom?5transfer?5?$FLplayer?$FN?$AA@ ; `string'
PUBLIC	??_C@_08LGNJOGGB@transfer?$AA@			; `string'
PUBLIC	??_C@_09KFJDBEJE@harvester?$AA@			; `string'
PUBLIC	??_C@_04DNBFMGEG@harv?$AA@			; `string'
PUBLIC	??_C@_0CN@PMGFBFCN@You?5are?5not?5the?5Team?5Commander?5o@ ; `string'
PUBLIC	??_C@_0CE@ONAINKGI@Your?5current?5Team?5Commander?5is?3?5@ ; `string'
PUBLIC	??_C@_0CL@CGDFHIMK@Your?5team?5currently?5has?5no?5Team?5@ ; `string'
PUBLIC	??_C@_0BM@MCCMAJJE@Team?5Commander?5is?5disabled?4?$AA@ ; `string'
PUBLIC	??_C@_0DL@KCEJIGLK@Team?5commander?5commands?5are?5not?5@ ; `string'
EXTRN	?gzCommands@@3PAUnc_ScriptCommands@@A:DWORD	; gzCommands
EXTRN	?gettok@aToken@@QAE?AV1@HHE@Z:PROC		; aToken::gettok
EXTRN	?Request_Vehicle@nc_VehicleFactoryGameObj@@QAEXHMPAVnc_SoldierGameObj@@@Z:PROC ; nc_VehicleFactoryGameObj::Request_Vehicle
EXTRN	?Get@gzTranslateManager@@QAEPBDPBD@Z:PROC	; gzTranslateManager::Get
EXTRN	?Send_Purchase_Response@@YAXHH@Z:PROC		; Send_Purchase_Response
EXTRN	?EnableVTOL@nc_MapMgrClass@@2AA_NA:DWORD	; nc_MapMgrClass::EnableVTOL
EXTRN	?Find_Definition@nc_PurchaseSettingsDefClass@@SAPAV1@KK@Z:PROC ; nc_PurchaseSettingsDefClass::Find_Definition
EXTRN	?ToLong@aToken@@QAEJXZ:PROC			; aToken::ToLong
EXTRN	?Is_Object_Visible@nc_SmartGameObj@@QAE_NPAVnc_PhysicalGameObj@@@Z:PROC ; nc_SmartGameObj::Is_Object_Visible
EXTRN	?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A:DWORD ; nc_GameObjManager::GameObjList
EXTRN	?SecsToAscTime@@YA?AVaString@@I@Z:PROC		; SecsToAscTime
EXTRN	?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z:PROC ; gzPlayerManager::FindByPartName
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z:PROC ; gzPlayerManager::Find
EXTRN	?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z:PROC ; gzPlayerManager::FindByPartNameCount
EXTRN	??0aString@@QAE@ABVaWideString@@@Z:PROC		; aString::aString
EXTRN	??8aString@@QAE_NPBD@Z:PROC			; aString::operator==
EXTRN	??0aString@@QAE@PB_W@Z:PROC			; aString::aString
;	COMDAT ??_C@_0CO@EGCPFIFF@?$FLCommander?$FN?5Refinery?5for?5your?5te@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0CO@EGCPFIFF@?$FLCommander?$FN?5Refinery?5for?5your?5te@ DB '[Comma'
	DB	'nder] Refinery for your team not found.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DJ@JIMPJCFF@?$FLCommander?$FN?5The?5Harvester?5for?5yo@
CONST	SEGMENT
??_C@_0DJ@JIMPJCFF@?$FLCommander?$FN?5The?5Harvester?5for?5yo@ DB '[Comma'
	DB	'nder] The Harvester for your team cannot be found.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@EGOPMBJG@Usage?3?5?$CBcom?5?$CFs?5?$FLstart?$HMstop?$FN?$AA@
CONST	SEGMENT
??_C@_0BM@EGOPMBJG@Usage?3?5?$CBcom?5?$CFs?5?$FLstart?$HMstop?$FN?$AA@ DB 'U'
	DB	'sage: !com %s [start|stop]', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CD@CNDCDELE@The?5Harvester?5was?5already?5stoppe@
CONST	SEGMENT
??_C@_0CD@CNDCDELE@The?5Harvester?5was?5already?5stoppe@ DB 'The Harveste'
	DB	'r was already stopped.', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CG@KNNJFIC@?$CFls?5issued?5a?5Harvester?5Stop?5comm@
CONST	SEGMENT
??_C@_0CG@KNNJFIC@?$CFls?5issued?5a?5Harvester?5Stop?5comm@ DB '%ls issue'
	DB	'd a Harvester Stop command.', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0DK@BOGDACGF@?$FLCommander?$FN?5The?5Harvester?5for?5yo@
CONST	SEGMENT
??_C@_0DK@BOGDACGF@?$FLCommander?$FN?5The?5Harvester?5for?5yo@ DB '[Comma'
	DB	'nder] The Harvester for your team has been stopped.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_04PEGFANN@stop?$AA@
CONST	SEGMENT
??_C@_04PEGFANN@stop?$AA@ DB 'stop', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CK@JPDNFNED@?$FLCommander?$FN?5The?5Harvester?5is?5not@
CONST	SEGMENT
??_C@_0CK@JPDNFNED@?$FLCommander?$FN?5The?5Harvester?5is?5not@ DB '[Comma'
	DB	'nder] The Harvester is not stopped.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CH@KBCCHHCI@?$CFls?5issued?5a?5Harvester?5Start?5com@
CONST	SEGMENT
??_C@_0CH@KBCCHHCI@?$CFls?5issued?5a?5Harvester?5Start?5com@ DB '%ls issu'
	DB	'ed a Harvester Start command.', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0EA@NHFKBEMN@?$FLCommander?$FN?5The?5Harvester?5for?5yo@
CONST	SEGMENT
??_C@_0EA@NHFKBEMN@?$FLCommander?$FN?5The?5Harvester?5for?5yo@ DB '[Comma'
	DB	'nder] The Harvester for your team has returned to normal.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_05FAGFPHJG@start?$AA@
CONST	SEGMENT
??_C@_05FAGFPHJG@start?$AA@ DB 'start', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CA@PKNHABEG@?$CFls?5issued?5a?5Order?5command?3?5?$CFs?6?$AA@
CONST	SEGMENT
??_C@_0CA@PKNHABEG@?$CFls?5issued?5a?5Order?5command?3?5?$CFs?6?$AA@ DB '%'
	DB	'ls issued a Order command: %s', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CE@IMNJOOIJ@tpage?5?$CFd?5?$FLOrder?5from?5Commander?$FN?3@
CONST	SEGMENT
??_C@_0CE@IMNJOOIJ@tpage?5?$CFd?5?$FLOrder?5from?5Commander?$FN?3@ DB 'tp'
	DB	'age %d [Order from Commander]: %s', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CG@IFMMNDP@tpage?5?$CFd?5?$FLWarning?5from?5Commander@
CONST	SEGMENT
??_C@_0CG@IFMMNDP@tpage?5?$CFd?5?$FLWarning?5from?5Commander@ DB 'tpage %'
	DB	'd [Warning from Commander]: %s', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CC@LHBHOBNO@?$CFls?5issued?5a?5Warning?5command?3?5?$CFs@
CONST	SEGMENT
??_C@_0CC@LHBHOBNO@?$CFls?5issued?5a?5Warning?5command?3?5?$CFs@ DB '%ls '
	DB	'issued a Warning command: %s', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@MAHEMPMD@Usage?3?5?$CBcom?5?$CFs?5?$FLmessage?$FN?$AA@
CONST	SEGMENT
??_C@_0BJ@MAHEMPMD@Usage?3?5?$CBcom?5?$CFs?5?$FLmessage?$FN?$AA@ DB 'Usag'
	DB	'e: !com %s [message]', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0GB@HPPIDCBK@tpage?5?$CFd?5?$FLCommander?$FN?3?5Warning?3?5P@
CONST	SEGMENT
??_C@_0GB@HPPIDCBK@tpage?5?$CFd?5?$FLCommander?$FN?3?5Warning?3?5P@ DB 't'
	DB	'page %d [Commander]: Warning: Please repair %s because it''s '
	DB	'lower than 50%% of it''s max health!', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0GC@BLIPHEPP@tpage?5?$CFd?5?$FLCommander?$FN?3?5Critical?3?5@
CONST	SEGMENT
??_C@_0GC@BLIPHEPP@tpage?5?$CFd?5?$FLCommander?$FN?3?5Critical?3?5@ DB 't'
	DB	'page %d [Commander]: Critical: Please repair %s because it''s'
	DB	' lower than 20%% of it''s max health!', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CK@MGHDIKCG@?$CFls?5issued?5a?5Repair?9Building?5com@
CONST	SEGMENT
??_C@_0CK@MGHDIKCG@?$CFls?5issued?5a?5Repair?9Building?5com@ DB '%ls issu'
	DB	'ed a Repair-Building command: %s', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CI@ELEGOKCG@?$CFls?5issued?5a?5Donate?5command?3?5?$CFd?5@
CONST	SEGMENT
??_C@_0CI@ELEGOKCG@?$CFls?5issued?5a?5Donate?5command?3?5?$CFd?5@ DB '%ls'
	DB	' issued a Donate command: %d to %ls', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0FF@CLBOOHB@You?8ve?5received?5?$CFd?5credit?$CIs?$CJ?5fro@
CONST	SEGMENT
??_C@_0FF@CLBOOHB@You?8ve?5received?5?$CFd?5credit?$CIs?$CJ?5fro@ DB 'You'
	DB	'''ve received %d credit(s) from the Team Pool by the order of'
	DB	' your Team Commander.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0ED@IBKKJIL@?$FLCommander?$FN?5You?8ve?5donated?5?$CFd?5cr@
CONST	SEGMENT
??_C@_0ED@IBKKJIL@?$FLCommander?$FN?5You?8ve?5donated?5?$CFd?5cr@ DB '[Co'
	DB	'mmander] You''ve donated %d credit(s) to %ls from the Team Po'
	DB	'ol.', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0DE@DMACKBJL@You?5can?5NOT?5donate?5to?5the?5enemy?5@
CONST	SEGMENT
??_C@_0DE@DMACKBJL@You?5can?5NOT?5donate?5to?5the?5enemy?5@ DB 'You can N'
	DB	'OT donate to the enemy from the Team Pool!', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@
CONST	SEGMENT
??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@ DB '%ls not found.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@
CONST	SEGMENT
??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@ DB 'F'
	DB	'ound %d result(s) for "%s". Please specify a unique string fo'
	DB	'r the nickname.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0EK@MGNCJOII@Your?5Team?5Pool?5does?5NOT?5have?5?$CFd?5@
CONST	SEGMENT
??_C@_0EK@MGNCJOII@Your?5Team?5Pool?5does?5NOT?5have?5?$CFd?5@ DB 'Your T'
	DB	'eam Pool does NOT have %d credit(s). It currently has %d cred'
	DB	'it(s).', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@GPEOFDAN@Invalid?5amount?4?$AA@
CONST	SEGMENT
??_C@_0BA@GPEOFDAN@Invalid?5amount?4?$AA@ DB 'Invalid amount.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CF@GKCMAPMC@Usage?3?5?$CBcom?5donate?5?$FLplayer?$FN?5?$FLamo@
CONST	SEGMENT
??_C@_0CF@GKCMAPMC@Usage?3?5?$CBcom?5donate?5?$FLplayer?$FN?5?$FLamo@ DB 'U'
	DB	'sage: !com donate [player] [amount]', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_06KCCPDNM@donate?$AA@
CONST	SEGMENT
??_C@_06KCCPDNM@donate?$AA@ DB 'donate', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@OLPKFFBF@repairbuilding?$AA@
CONST	SEGMENT
??_C@_0P@OLPKFFBF@repairbuilding?$AA@ DB 'repairbuilding', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_02JDPG@rb?$AA@
CONST	SEGMENT
??_C@_02JDPG@rb?$AA@ DB 'rb', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0IO@MHJJGKMI@?$FLCommander?$FN?3?5Vehicle?5purchase?5de@
CONST	SEGMENT
??_C@_0IO@MHJJGKMI@?$FLCommander?$FN?3?5Vehicle?5purchase?5de@ DB '[Comma'
	DB	'nder]: Vehicle purchase denied because you''re either not clo'
	DB	'se to any Purchase Terminal or no visible Purchase Terminal i'
	DB	'n your screen.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@KNLHIPMM@?$CFls?5issued?5a?5Buyveh?5command?3?5?$CFs?6@
CONST	SEGMENT
??_C@_0CB@KNLHIPMM@?$CFls?5issued?5a?5Buyveh?5command?3?5?$CFs?6@ DB '%ls'
	DB	' issued a Buyveh command: %s', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0EN@CEAPDPPP@You?5have?5used?5?$CFd?5credit?$CIs?$CJ?5from?5@
CONST	SEGMENT
??_C@_0EN@CEAPDPPP@You?5have?5used?5?$CFd?5credit?$CIs?$CJ?5from?5@ DB 'Y'
	DB	'ou have used %d credit(s) from TeamPool. TeamPool is now have'
	DB	' %d credit(s).', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0EI@ICPJDPGB@?$FLCommander?$FN?5Request?5accepted?$CI?$CFs?$CJ@
CONST	SEGMENT
??_C@_0EI@ICPJDPGB@?$FLCommander?$FN?5Request?5accepted?$CI?$CFs?$CJ@ DB '['
	DB	'Commander] Request accepted(%s). You have to wait %s for next'
	DB	' request.', 00H				; `string'
CONST	ENDS
;	COMDAT __real@40a00000
CONST	SEGMENT
__real@40a00000 DD 040a00000r			; 5
CONST	ENDS
;	COMDAT ??_C@_0DJ@GCGDHDIG@Team?5Pool?5has?5?$CFd?5credit?$CIs?$CJ?5but?5?$CF@
CONST	SEGMENT
??_C@_0DJ@GCGDHDIG@Team?5Pool?5has?5?$CFd?5credit?$CIs?$CJ?5but?5?$CF@ DB 'T'
	DB	'eam Pool has %d credit(s) but %s requires %d credit(s).', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0GA@LHHNIJFO@?$FLCommander?$FN?3?5Vehicle?5purchase?5de@
CONST	SEGMENT
??_C@_0GA@LHHNIJFO@?$FLCommander?$FN?3?5Vehicle?5purchase?5de@ DB '[Comma'
	DB	'nder]: Vehicle purchase denied because the closest Purchase T'
	DB	'erminal is belongs to enemy.', 00H		; `string'
CONST	ENDS
;	COMDAT __real@40800000
CONST	SEGMENT
__real@40800000 DD 040800000r			; 4
CONST	ENDS
;	COMDAT ??_C@_0CH@KBJNEKHP@You?5have?5to?5wait?5?$CFs?5for?5next?5pur@
CONST	SEGMENT
??_C@_0CH@KBJNEKHP@You?5have?5to?5wait?5?$CFs?5for?5next?5pur@ DB 'You ha'
	DB	've to wait %s for next purchase.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_06HMPLHEKF@buyveh?$AA@
CONST	SEGMENT
??_C@_06HMPLHEKF@buyveh?$AA@ DB 'buyveh', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07FPLKDJGL@warning?$AA@
CONST	SEGMENT
??_C@_07FPLKDJGL@warning?$AA@ DB 'warning', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_04FNLOFOEM@warn?$AA@
CONST	SEGMENT
??_C@_04FNLOFOEM@warn?$AA@ DB 'warn', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_01NOFIACDB@w?$AA@
CONST	SEGMENT
??_C@_01NOFIACDB@w?$AA@ DB 'w', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_05NDNMCCJH@order?$AA@
CONST	SEGMENT
??_C@_05NDNMCCJH@order?$AA@ DB 'order', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_01FMEDJKGI@o?$AA@
CONST	SEGMENT
??_C@_01FMEDJKGI@o?$AA@ DB 'o', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0DB@CONJNCBL@?$FLCommander?$FN?5?$CFls?5can?5not?5become?5a@
CONST	SEGMENT
??_C@_0DB@CONJNCBL@?$FLCommander?$FN?5?$CFls?5can?5not?5become?5a@ DB '[C'
	DB	'ommander] %ls can not become a Team Commander.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0EB@ICDJJJJD@?$FLCommander?$FN?5You?8ve?5transfered?5yo@
CONST	SEGMENT
??_C@_0EB@ICDJJJJD@?$FLCommander?$FN?5You?8ve?5transfered?5yo@ DB '[Comma'
	DB	'nder] You''ve transfered your Team Commander status to %ls.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CG@EOANOFMO@?$CFls?5issued?5a?5Transfer?5command?5to@
CONST	SEGMENT
??_C@_0CG@EOANOFMO@?$CFls?5issued?5a?5Transfer?5command?5to@ DB '%ls issu'
	DB	'ed a Transfer command to %ls', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@DFBCFMDC@?$CFls?5is?5not?5on?5your?5team?4?$AA@
CONST	SEGMENT
??_C@_0BJ@DFBCFMDC@?$CFls?5is?5not?5on?5your?5team?4?$AA@ DB '%ls is not '
	DB	'on your team.', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@LBCNAIHM@?$CFs?5not?5found?4?$AA@
CONST	SEGMENT
??_C@_0O@LBCNAIHM@?$CFs?5not?5found?4?$AA@ DB '%s not found.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0EP@GDEDMANO@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFls?$CC?4?5Pl@
CONST	SEGMENT
??_C@_0EP@GDEDMANO@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFls?$CC?4?5Pl@ DB 'F'
	DB	'ound %d result(s) for "%ls". Please specify a unique string f'
	DB	'or the nickname.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@EJPNMICK@Usage?3?5?$CBcom?5transfer?5?$FLplayer?$FN?$AA@
CONST	SEGMENT
??_C@_0BO@EJPNMICK@Usage?3?5?$CBcom?5transfer?5?$FLplayer?$FN?$AA@ DB 'Us'
	DB	'age: !com transfer [player]', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_08LGNJOGGB@transfer?$AA@
CONST	SEGMENT
??_C@_08LGNJOGGB@transfer?$AA@ DB 'transfer', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09KFJDBEJE@harvester?$AA@
CONST	SEGMENT
??_C@_09KFJDBEJE@harvester?$AA@ DB 'harvester', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_04DNBFMGEG@harv?$AA@
CONST	SEGMENT
??_C@_04DNBFMGEG@harv?$AA@ DB 'harv', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CN@PMGFBFCN@You?5are?5not?5the?5Team?5Commander?5o@
CONST	SEGMENT
??_C@_0CN@PMGFBFCN@You?5are?5not?5the?5Team?5Commander?5o@ DB 'You are no'
	DB	't the Team Commander of your team.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CE@ONAINKGI@Your?5current?5Team?5Commander?5is?3?5@
CONST	SEGMENT
??_C@_0CE@ONAINKGI@Your?5current?5Team?5Commander?5is?3?5@ DB 'Your curre'
	DB	'nt Team Commander is: %ls', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CL@CGDFHIMK@Your?5team?5currently?5has?5no?5Team?5@
CONST	SEGMENT
??_C@_0CL@CGDFHIMK@Your?5team?5currently?5has?5no?5Team?5@ DB 'Your team '
	DB	'currently has no Team Commander.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@MCCMAJJE@Team?5Commander?5is?5disabled?4?$AA@
CONST	SEGMENT
??_C@_0BM@MCCMAJJE@Team?5Commander?5is?5disabled?4?$AA@ DB 'Team Commande'
	DB	'r is disabled.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0DL@KCEJIGLK@Team?5commander?5commands?5are?5not?5@
CONST	SEGMENT
??_C@_0DL@KCEJIGLK@Team?5commander?5commands?5are?5not?5@ DB 'Team comman'
	DB	'der commands are not available in %s game mode.', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	02bH
	DD	FLAT:__unwindtable$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$2
	DD	03H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$3
	DD	04H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$4
	DD	03H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$4
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$5
	DD	07H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$6
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$7
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$8
	DD	0aH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$9
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$10
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$11
	DD	0dH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$12
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$12
	DD	0fH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$13
	DD	0fH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$14
	DD	0fH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$15
	DD	0fH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$16
	DD	0fH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$17
	DD	014H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$18
	DD	0fH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$19
	DD	0fH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$20
	DD	0fH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$21
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$22
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$23
	DD	01aH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$24
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$25
	DD	01cH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$26
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$27
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$28
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$29
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$30
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$31
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$32
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$33
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$34
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$35
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$36
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$37
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$38
	DD	06H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$39
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stteamcommander.cpp
xdata$x	ENDS
;	COMDAT ?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
tv2785 = -112						; size = 2
_Amount$58756 = -112					; size = 4
_Factory$58722 = -112					; size = 4
_Terminal$58636 = -112					; size = 4
$T67331 = -112						; size = 8
$T67325 = -112						; size = 1
$T67358 = -104						; size = 8
$T67337 = -104						; size = 8
$T67336 = -104						; size = 8
$T67333 = -104						; size = 8
$T67332 = -104						; size = 8
$T67330 = -104						; size = 8
$T67326 = -104						; size = 8
$T67324 = -104						; size = 8
_gzData$ = -104						; size = 4
$T67373 = -96						; size = 4
$T67356 = -96						; size = 8
_Cost$58720 = -96					; size = 4
_Distance$58635 = -96					; size = 4
$T67329 = -96						; size = 8
tv2782 = -88						; size = 4
tv2584 = -88						; size = 4
tv2537 = -88						; size = 4
$T67352 = -88						; size = 8
$T67350 = -88						; size = 8
tv980 = -88						; size = 4
_ptDistance$58699 = -88					; size = 4
$T67341 = -88						; size = 8
$T67339 = -88						; size = 8
_nickw$58573 = -88					; size = 8
$T67320 = -88						; size = 8
$T67316 = -88						; size = 8
_tokmsg$58523 = -80					; size = 8
_cmd$58525 = -72					; size = 8
$T67311 = -64						; size = 8
$T67310 = -64						; size = 8
$T67312 = -56						; size = 8
tv2780 = -48						; size = 8
$T67357 = -48						; size = 8
$T67355 = -48						; size = 8
$T67349 = -48						; size = 8
$T67348 = -48						; size = 8
$T67347 = -48						; size = 8
$T67346 = -48						; size = 8
$T67345 = -48						; size = 8
_ptPos$58698 = -48					; size = 12
$T67344 = -48						; size = 8
$T67343 = -48						; size = 8
$T67342 = -48						; size = 8
$T67340 = -48						; size = 8
$T67338 = -48						; size = 8
$T67323 = -48						; size = 8
$T67322 = -48						; size = 8
$T67321 = -48						; size = 8
$T67318 = -48						; size = 8
$T67317 = -48						; size = 8
_pos$58637 = -28					; size = 12
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; Chat_TeamCommander::Activate, COMDAT
; _this$ = ecx

; 367  : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 104				; 00000068H
	push	ebx
	push	esi
	push	edi

; 368  : 		// Game mode check
; 369  : 		switch (gzGameMgr->m_settings->m_GameMode)

	xor	edi, edi
	mov	DWORD PTR $T67373[esp+128], edi
	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+72]
	mov	eax, DWORD PTR [eax+24]
	add	eax, -4					; fffffffcH
	cmp	eax, 2
	ja	SHORT $LN471@Activate@2

; 370  : 		{
; 371  : 			case GAMEMODE_SNIPER:
; 372  : 			case GAMEMODE_500SNIP:
; 373  : 			case GAMEMODE_DM:
; 374  : 				PagePlayer(sender, "Team commander commands are not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	mov	ecx, DWORD PTR [ecx+40]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+136]
	call	eax
	mov	esi, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0DL@KCEJIGLK@Team?5commander?5commands?5are?5not?5@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	jmp	SHORT $LN93@Activate@2
$LN471@Activate@2:
	mov	esi, DWORD PTR _sender$[ebp]
$LN93@Activate@2:

; 375  : 		}
; 376  : 
; 377  : 		if (gzTeamCommander->m_settings->m_enable == false)

	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	edx, DWORD PTR [ecx+1124]
	cmp	BYTE PTR [edx+24], 0
	jne	SHORT $LN91@Activate@2

; 378  : 		{
; 379  : 			PagePlayer(sender, "Team Commander is disabled.");

	push	OFFSET ??_C@_0BM@MCCMAJJE@Team?5Commander?5is?5disabled?4?$AA@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 667  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
$LN91@Activate@2:

; 380  : 			return;
; 381  : 		}
; 382  : 		gzPlayer *gzData = gzPlayerManager::Find(sender);

	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	ebx, eax
	add	esp, 4

; 383  : 		if (!gzData)

	cmp	ebx, edi
	mov	DWORD PTR _gzData$[esp+128], ebx
	je	$LN86@Activate@2

; 384  : 			return;
; 385  : 		int Team = gzData->GetPlayerData()->PlayerType.Get();

	mov	eax, DWORD PTR [ebx+76]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get

; 386  : 		if (!*msg)

	mov	edx, DWORD PTR _msg$[ebp]
	cmp	WORD PTR [edx], di
	mov	esi, eax
	jne	$LN89@Activate@2

; 387  : 		{
; 388  : 			if (gzTeamCommander->m_commander[Team] == NULL)

	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	cmp	DWORD PTR [eax+esi*4+48], edi
	jne	SHORT $LN88@Activate@2

; 389  : 				PagePlayer(sender, "Your team currently has no Team Commander.");

	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0CL@CGDFHIMK@Your?5team?5currently?5has?5no?5Team?5@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 667  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
$LN88@Activate@2:

; 390  : 			else
; 391  : 				PagePlayer(sender, "Your current Team Commander is: %ls", gzTeamCommander->m_commander[Team]->GetPlayerName().GetString());

	lea	ecx, DWORD PTR $T67310[esp+128]
	push	ecx
	mov	ecx, DWORD PTR [eax+esi*4+48]
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, edi
	mov	DWORD PTR __$EHRec$[esp+136], edi
	je	SHORT $LN155@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN156@Activate@2
$LN155@Activate@2:
	xor	eax, eax
$LN156@Activate@2:
	mov	edx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0CE@ONAINKGI@Your?5current?5Team?5Commander?5is?3?5@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T67310[esp+128]
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 667  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
$LN89@Activate@2:

; 392  : 		}
; 393  : 		else
; 394  : 		{
; 395  : 			if (!gzTeamCommander->IsCommander(Team, gzData->GetPlayerData()->PlayerId))

	mov	eax, DWORD PTR [ebx+76]
	mov	eax, DWORD PTR [eax+1884]
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	eax
	push	esi
	call	?IsCommander@gzTeamCommanderClass@@QAE_NHH@Z ; gzTeamCommanderClass::IsCommander
	test	al, al
	jne	SHORT $LN85@Activate@2

; 396  : 			{
; 397  : 				PagePlayer(sender, "You are not the Team Commander of your team.");

	mov	ecx, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0CN@PMGFBFCN@You?5are?5not?5the?5Team?5Commander?5o@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 667  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
$LN85@Activate@2:

; 398  : 				return;
; 399  : 			}
; 400  : 			aToken tokmsg(msg);

	push	edx
	lea	ecx, DWORD PTR $T67311[esp+132]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	lea	edx, DWORD PTR $T67311[esp+128]
	mov	edi, 1
	push	edx
	lea	ecx, DWORD PTR _tokmsg$58523[esp+132]
	mov	DWORD PTR __$EHRec$[esp+140], edi
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T67311[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 401  : 			aString cmd = tokmsg.gettok(1, ' ').GetData();

	push	32					; 00000020H
	push	edi
	lea	eax, DWORD PTR $T67312[esp+136]
	push	eax
	lea	ecx, DWORD PTR _tokmsg$58523[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR _cmd$58525[esp+128], OFFSET ??_7aString@@6B@
	lea	ecx, DWORD PTR $T67312[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 402  : 			if (cmd == "harv" || cmd == "harvester")

	push	OFFSET ??_C@_04DNBFMGEG@harv?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN83@Activate@2
	push	OFFSET ??_C@_09KFJDBEJE@harvester?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN83@Activate@2

; 441  : 			}
; 442  : 			else if (cmd == "transfer")

	push	OFFSET ??_C@_08LGNJOGGB@transfer?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	je	$LN68@Activate@2

; 443  : 			{
; 444  : 				if (tokmsg.numtok(' ') < 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _tokmsg$58523[esp+132]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2
	jge	SHORT $LN67@Activate@2

; 445  : 				{
; 446  : 					PagePlayer(sender, "Usage: !com transfer [player]");

	push	OFFSET ??_C@_0BO@EJPNMICK@Usage?3?5?$CBcom?5transfer?5?$FLplayer?$FN?$AA@

; 447  : 					return;

	jmp	$LN476@Activate@2
$LN67@Activate@2:

; 448  : 				}
; 449  : 
; 450  : 				// Nickname unique check
; 451  : 				aWideString nickw = tokmsg.gettok(2, ' ').GetData();

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T67323[esp+136]
	push	edx
	lea	ecx, DWORD PTR _tokmsg$58523[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 13		; 0000000dH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	lea	ecx, DWORD PTR _nickw$58573[esp+132]
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	lea	ecx, DWORD PTR $T67323[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 15		; 0000000fH
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 452  : 				int nickCount = gzPlayerManager::FindByPartNameCount(nickw);

	lea	eax, DWORD PTR _nickw$58573[esp+128]
	push	eax
	lea	ecx, DWORD PTR $T67324[esp+132]
	call	??0aString@@QAE@ABVaWideString@@@Z	; aString::aString
	lea	ecx, DWORD PTR $T67324[esp+128]
	push	ecx
	mov	BYTE PTR __$EHRec$[esp+140], 16		; 00000010H
	call	?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z ; gzPlayerManager::FindByPartNameCount
	add	esp, 4
	lea	ecx, DWORD PTR $T67324[esp+128]
	mov	ebx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 15		; 0000000fH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 453  : 				if (nickCount >= 2 && !gzPlayerManager::Find(nickw))

	cmp	ebx, 2
	jl	SHORT $LN99@Activate@2
	lea	edx, DWORD PTR _nickw$58573[esp+128]
	push	edx
	lea	ecx, DWORD PTR $T67326[esp+132]
	call	??0aString@@QAE@ABVaWideString@@@Z	; aString::aString
	lea	eax, DWORD PTR $T67326[esp+128]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+140], 17		; 00000011H
	mov	DWORD PTR $T67373[esp+132], edi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ; gzPlayerManager::Find
	add	esp, 4
	test	eax, eax
	mov	BYTE PTR $T67325[esp+128], 1
	je	SHORT $LN100@Activate@2
$LN99@Activate@2:
	mov	BYTE PTR $T67325[esp+128], 0
$LN100@Activate@2:
	test	BYTE PTR $T67373[esp+128], 1
	mov	DWORD PTR __$EHRec$[esp+136], 15	; 0000000fH
	je	SHORT $LN121@Activate@2
	lea	ecx, DWORD PTR $T67326[esp+128]
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN121@Activate@2:
	cmp	BYTE PTR $T67325[esp+128], 0
	je	SHORT $LN66@Activate@2

; 454  : 				{
; 455  : 					PagePlayer(sender, "Found %d result(s) for \"%ls\". Please specify a unique string for the nickname.", nickCount, nickw.GetString());

	mov	eax, DWORD PTR _nickw$58573[esp+132]
	test	eax, eax
	je	SHORT $LN211@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN212@Activate@2
$LN211@Activate@2:
	xor	eax, eax
$LN212@Activate@2:
	mov	ecx, DWORD PTR _sender$[ebp]
	push	eax
	push	ebx
	push	OFFSET ??_C@_0EP@GDEDMANO@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFls?$CC?4?5Pl@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H

; 456  : 					return;

	lea	ecx, DWORD PTR _nickw$58573[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	jmp	$LN70@Activate@2
$LN66@Activate@2:

; 457  : 				}
; 458  : 
; 459  : 				gzPlayer *newData = gzPlayerManager::FindByPartName(nickw);

	lea	edx, DWORD PTR _nickw$58573[esp+128]
	push	edx
	lea	ecx, DWORD PTR $T67329[esp+132]
	call	??0aString@@QAE@ABVaWideString@@@Z	; aString::aString
	lea	eax, DWORD PTR $T67329[esp+128]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+140], 18		; 00000012H
	call	?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ; gzPlayerManager::FindByPartName
	add	esp, 4
	lea	ecx, DWORD PTR $T67329[esp+128]
	mov	edi, eax
	mov	BYTE PTR __$EHRec$[esp+136], 15		; 0000000fH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 460  : 				if (!newData)

	test	edi, edi
	jne	SHORT $LN65@Activate@2

; 461  : 					PagePlayer(sender, "%s not found.", nickw.GetString());

	mov	eax, DWORD PTR _nickw$58573[esp+132]
	test	eax, eax
	je	SHORT $LN226@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN227@Activate@2
$LN226@Activate@2:
	xor	eax, eax
$LN227@Activate@2:
	mov	ecx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0O@LBCNAIHM@?$CFs?5not?5found?4?$AA@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH

; 483  : 					}
; 484  : 				}
; 485  : 			}

	lea	ecx, DWORD PTR _nickw$58573[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	jmp	$LN70@Activate@2
$LN65@Activate@2:

; 462  : 				else
; 463  : 				{
; 464  : 					if (Team != newData->GetPlayerData()->PlayerType.Get())

	mov	eax, DWORD PTR [edi+76]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	esi, eax
	je	SHORT $LN63@Activate@2

; 465  : 						PagePlayer(sender, "%ls is not on your team.", newData->GetPlayerName().GetString());

	lea	edx, DWORD PTR $T67330[esp+128]
	push	edx
	mov	ecx, edi
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 19		; 00000013H
	je	SHORT $LN234@Activate@2
	mov	eax, DWORD PTR [eax]
	push	eax
	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0BJ@DFBCFMDC@?$CFls?5is?5not?5on?5your?5team?4?$AA@
	push	eax

; 466  : 					else

	jmp	$LN477@Activate@2

; 465  : 						PagePlayer(sender, "%ls is not on your team.", newData->GetPlayerName().GetString());

$LN234@Activate@2:
	xor	eax, eax
	push	eax
	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0BJ@DFBCFMDC@?$CFls?5is?5not?5on?5your?5team?4?$AA@
	push	eax

; 466  : 					else

	jmp	$LN477@Activate@2
$LN63@Activate@2:

; 467  : 					{
; 468  : 						if (gzTeamCommander->CanBecome(newData->GetPlayerData()->PlayerId))

	mov	eax, DWORD PTR [edi+76]
	mov	ecx, DWORD PTR [eax+1884]
	push	ecx
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	call	?CanBecome@gzTeamCommanderClass@@QAE_NH@Z ; gzTeamCommanderClass::CanBecome
	test	al, al

; 469  : 						{
; 470  : 							gzTeamCommander->Log("%ls issued a Transfer command to %ls\n",
; 471  : 								gzTeamCommander->m_commander[Team]->GetPlayerName().GetString(),
; 472  : 								newData->GetPlayerName().GetString()
; 473  : 							);

	mov	ecx, edi
	je	$LN61@Activate@2
	lea	edx, DWORD PTR $T67331[esp+128]
	push	edx
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	ebx, eax
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	ecx, DWORD PTR [ecx+esi*4+48]
	lea	eax, DWORD PTR $T67332[esp+128]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+140], 20		; 00000014H
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	ecx, DWORD PTR [ebx+4]
	test	ecx, ecx
	mov	BYTE PTR __$EHRec$[esp+136], 21		; 00000015H
	je	SHORT $LN245@Activate@2
	mov	ecx, DWORD PTR [ecx]
	jmp	SHORT $LN246@Activate@2
$LN245@Activate@2:
	xor	ecx, ecx
$LN246@Activate@2:
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN251@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN252@Activate@2
$LN251@Activate@2:
	xor	eax, eax
$LN252@Activate@2:
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	ecx
	push	eax
	push	OFFSET ??_C@_0CG@EOANOFMO@?$CFls?5issued?5a?5Transfer?5command?5to@
	push	edx
	call	?Log@gzTeamCommanderClass@@QAAXPBDZZ	; gzTeamCommanderClass::Log
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR $T67332[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 20		; 00000014H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67331[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 15		; 0000000fH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 474  : 							gzTeamCommander->m_commander[Team] = newData;

	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander

; 475  : 							PagePlayer(sender, "[Commander] You've transfered your Team Commander status to %ls.", newData->GetPlayerName().GetString());

	lea	ecx, DWORD PTR $T67333[esp+128]
	push	ecx
	mov	ecx, edi
	mov	DWORD PTR [eax+esi*4+48], edi
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 22		; 00000016H
	je	SHORT $LN263@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN264@Activate@2
$LN263@Activate@2:
	xor	eax, eax
$LN264@Activate@2:
	mov	edx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0EB@ICDJJJJD@?$FLCommander?$FN?5You?8ve?5transfered?5yo@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T67333[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 15		; 0000000fH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 476  : 							stConsole::In("msg %ls is now %s Team Commander.", newData->GetPlayerName().GetString(), (Team == 0) ? "Nod" : "GDI");

	test	esi, esi
	mov	ebx, OFFSET ??_C@_03OHGKCNFD@Nod?$AA@
	je	SHORT $LN102@Activate@2
	mov	ebx, OFFSET ??_C@_03IOFAJBDH@GDI?$AA@
$LN102@Activate@2:
	lea	eax, DWORD PTR $T67336[esp+128]
	push	eax
	mov	ecx, edi
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 23		; 00000017H
	je	SHORT $LN272@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN273@Activate@2
$LN272@Activate@2:
	xor	eax, eax
$LN273@Activate@2:
	push	ebx
	push	eax
	push	OFFSET ??_C@_0CC@LGGBPNOE@msg?5?$CFls?5is?5now?5?$CFs?5Team?5Commander@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T67336[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 15		; 0000000fH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 477  : 							PagePlayer(newData->GetPlayerData()->PlayerId, "Currently Team Pool has %d credit(s).", gzTeamCommander->m_teamPool[Team]);

	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	edx, DWORD PTR [ecx+esi*4+40]
	mov	edi, DWORD PTR [edi+76]
	mov	eax, DWORD PTR [edi+1884]
	push	edx
	push	OFFSET ??_C@_0CG@HHDPJFOE@Currently?5Team?5Pool?5has?5?$CFd?5credi@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 478  : 							gzTeamCommander->m_canRequestVehicleNotify[Team] = true;
; 479  : 							gzTeamCommander->m_commandTime[Team] = 0.0f;

	fldz
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	BYTE PTR [ecx+esi+72], 1
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	add	esp, 12					; 0000000cH
	fstp	DWORD PTR [edx+esi*4+1116]

; 483  : 					}
; 484  : 				}
; 485  : 			}

	lea	ecx, DWORD PTR _nickw$58573[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	jmp	$LN70@Activate@2
$LN61@Activate@2:

; 480  : 						}
; 481  : 						else
; 482  : 							PagePlayer(sender, "[Commander] %ls can not become a Team Commander.", newData->GetPlayerName().GetString());

	lea	eax, DWORD PTR $T67337[esp+128]
	push	eax
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 24		; 00000018H
	je	SHORT $LN283@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN284@Activate@2
$LN283@Activate@2:
	xor	eax, eax
$LN284@Activate@2:
	mov	ecx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0DB@CONJNCBL@?$FLCommander?$FN?5?$CFls?5can?5not?5become?5a@
	push	ecx
$LN477@Activate@2:
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T67337[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 15		; 0000000fH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 483  : 					}
; 484  : 				}
; 485  : 			}

	lea	ecx, DWORD PTR _nickw$58573[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	jmp	$LN70@Activate@2
$LN68@Activate@2:

; 486  : 			else if (cmd == "o" || cmd == "order")

	push	OFFSET ??_C@_01FMEDJKGI@o?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN57@Activate@2
	push	OFFSET ??_C@_05NDNMCCJH@order?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN57@Activate@2

; 497  : 				}
; 498  : 			}
; 499  : 			else if (cmd == "w" || cmd == "warn" || cmd == "warning")

	push	OFFSET ??_C@_01NOFIACDB@w?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN52@Activate@2
	push	OFFSET ??_C@_04FNLOFOEM@warn?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN52@Activate@2
	push	OFFSET ??_C@_07FPLKDJGL@warning?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN52@Activate@2

; 511  : 			}
; 512  : 			else if (cmd == "buyveh")

	push	OFFSET ??_C@_06HMPLHEKF@buyveh?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	je	$LN48@Activate@2

; 513  : 			{
; 514  : 				if (gzTeamCommander->m_nextPurchaseTime[Team] >cGame->GameDuration_Seconds)

	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	edx, DWORD PTR [ecx]
	mov	edi, DWORD PTR [eax+esi*4+64]
	cmp	edi, DWORD PTR [edx+604]
	jbe	SHORT $LN47@Activate@2

; 515  : 				{
; 516  : 					PagePlayer(sender, "You have to wait %s for next purchase.", SecsToAscTime(gzTeamCommander->m_nextPurchaseTime[Team] - cGame->GameDuration_Seconds).GetString());

	mov	ecx, edx
	mov	edx, edi
	sub	edx, DWORD PTR [ecx+604]
	lea	eax, DWORD PTR $T67344[esp+128]
	push	edx
	push	eax
	call	?SecsToAscTime@@YA?AVaString@@I@Z	; SecsToAscTime
	add	esp, 8
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 31		; 0000001fH
	je	SHORT $LN349@Activate@2
	mov	eax, DWORD PTR [eax]
	mov	ecx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0CH@KBJNEKHP@You?5have?5to?5wait?5?$CFs?5for?5next?5pur@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 517  : 					return;

	jmp	$LN487@Activate@2

; 515  : 				{
; 516  : 					PagePlayer(sender, "You have to wait %s for next purchase.", SecsToAscTime(gzTeamCommander->m_nextPurchaseTime[Team] - cGame->GameDuration_Seconds).GetString());

$LN349@Activate@2:
	mov	ecx, DWORD PTR _sender$[ebp]
	xor	eax, eax
	push	eax
	push	OFFSET ??_C@_0CH@KBJNEKHP@You?5have?5to?5wait?5?$CFs?5for?5next?5pur@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 517  : 					return;

	jmp	$LN487@Activate@2
$LN47@Activate@2:

; 518  : 				}
; 519  : 				int ResponseType = -1;
; 520  : 				float Distance = 99999.0f;
; 521  : 				nc_SimpleGameObj *Terminal = NULL;
; 522  : 				nc_Vector3 pos;
; 523  : 				gzData->GetPlayerData()->Owner.Reference->obj->As_PhysicalGameObj()->Get_Position(&pos);

	mov	eax, DWORD PTR [ebx+76]
	fld	DWORD PTR __real@47c34f80
	mov	edx, DWORD PTR [eax+20]
	fstp	DWORD PTR _Distance$58635[esp+128]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+36]
	mov	DWORD PTR _Terminal$58636[esp+128], 0
	call	edx
	mov	edx, DWORD PTR [eax]
	mov	edx, DWORD PTR [edx+56]
	lea	ecx, DWORD PTR _pos$58637[esp+128]
	push	ecx
	mov	ecx, eax
	call	edx

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

	mov	eax, DWORD PTR ?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A ; nc_GameObjManager::GameObjList
	mov	edi, DWORD PTR [eax+4]
	test	edi, edi
	je	$LN39@Activate@2
$LL46@Activate@2:

; 525  : 				{
; 526  : 					if (objList->NodeData->definition->Get_Class_ID() == 0x3004)

	mov	ecx, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12292				; 00003004H
	jne	$LN45@Activate@2

; 527  : 					{
; 528  : 						if (gzData->GetPlayerData()->Owner.Reference->obj->As_DamageableGameObj()->PlayerType == (((nc_SimpleGameObjDef *)objList->NodeData->definition)->PlayerTerminalType ^ 1))

	mov	eax, DWORD PTR [ebx+76]
	mov	ecx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+60]
	call	eax
	mov	ecx, DWORD PTR [edi+4]
	mov	edx, DWORD PTR [ecx+1724]
	mov	ecx, DWORD PTR [edx+172]
	xor	ecx, 1
	cmp	DWORD PTR [eax+1892], ecx
	jne	$LN45@Activate@2

; 529  : 						{
; 530  : 							nc_Vector3 ptPos;
; 531  : 							objList->NodeData->As_PhysicalGameObj()->Get_Position(&ptPos);

	mov	ecx, DWORD PTR [edi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+36]
	call	eax
	mov	edx, DWORD PTR [eax]
	mov	edx, DWORD PTR [edx+56]
	lea	ecx, DWORD PTR _ptPos$58698[esp+128]
	push	ecx
	mov	ecx, eax
	call	edx

; 532  : 							float ptDistance = abs(ptPos.X - pos.X) + abs(ptPos.X - pos.X);

	fld	DWORD PTR _ptPos$58698[esp+128]
	fsub	DWORD PTR _pos$58637[esp+128]
	fld	ST(0)
	fabs
	fxch	ST(1)
	fabs
	faddp	ST(1), ST(0)
	fst	DWORD PTR _ptDistance$58699[esp+128]

; 533  : 							if (ptDistance < Distance && gzData->GetPlayerData()->Owner.Reference->obj->As_SmartGameObj()->Is_Object_Visible(objList->NodeData->As_PhysicalGameObj()))

	fcomp	DWORD PTR _Distance$58635[esp+128]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN45@Activate@2
	mov	eax, DWORD PTR _gzData$[esp+128]
	mov	eax, DWORD PTR [eax+76]
	mov	ecx, DWORD PTR [eax+20]
	mov	ebx, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR [edi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+36]
	call	eax
	mov	edx, DWORD PTR [ebx]
	push	eax
	mov	eax, DWORD PTR [edx+44]
	mov	ecx, ebx
	call	eax
	mov	ecx, eax
	call	?Is_Object_Visible@nc_SmartGameObj@@QAE_NPAVnc_PhysicalGameObj@@@Z ; nc_SmartGameObj::Is_Object_Visible
	test	al, al

; 534  : 							{
; 535  : 								Distance = ptDistance;
; 536  : 								Terminal = (nc_SimpleGameObj *)objList->NodeData;

	mov	ebx, DWORD PTR _gzData$[esp+128]
	je	SHORT $LN45@Activate@2
	fld	DWORD PTR _ptDistance$58699[esp+128]
	mov	ecx, DWORD PTR [edi+4]
	fstp	DWORD PTR _Distance$58635[esp+128]
	mov	DWORD PTR _Terminal$58636[esp+128], ecx
$LN45@Activate@2:
	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$LL46@Activate@2

; 537  : 							}
; 538  : 						}
; 539  : 					}
; 540  : 				}
; 541  : 				if (!Terminal || Distance > 4.0f)

	cmp	DWORD PTR _Terminal$58636[esp+128], edi
	je	$LN39@Activate@2
	fld	DWORD PTR __real@40800000
	fcomp	DWORD PTR _Distance$58635[esp+128]
	fnstsw	ax
	test	ah, 5
	jnp	$LN39@Activate@2

; 543  : 
; 544  : 				else if (Terminal->PlayerType != gzData->GetPlayerData()->Owner.Reference->obj->As_DamageableGameObj()->PlayerType)

	mov	ebx, DWORD PTR [ebx+76]
	mov	edx, DWORD PTR [ebx+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+60]
	call	edx
	mov	ecx, DWORD PTR _Terminal$58636[esp+128]
	mov	edx, DWORD PTR [ecx+1892]
	cmp	edx, DWORD PTR [eax+1892]
	je	SHORT $LN37@Activate@2

; 545  : 					PagePlayer(sender, "[Commander]: Vehicle purchase denied because the closest Purchase Terminal is belongs to enemy.");

	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0GA@LHHNIJFO@?$FLCommander?$FN?3?5Vehicle?5purchase?5de@
	push	eax

; 546  : 
; 547  : 				else

	jmp	$LN478@Activate@2
$LN37@Activate@2:

; 548  : 				{
; 549  : 					int ID = tokmsg.gettok(2,' ').ToLong() - 1;

	push	32					; 00000020H
	push	2
	lea	ecx, DWORD PTR $T67345[esp+136]
	push	ecx
	lea	ecx, DWORD PTR _tokmsg$58523[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 32		; 00000020H
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	mov	edi, eax
	lea	ecx, DWORD PTR $T67345[esp+128]
	sub	edi, 1
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 550  : 					nc_PurchaseSettingsDefClass *PurchaseDef = nc_PurchaseSettingsDefClass::Find_Definition(1, Team ^ 1);

	mov	edx, esi
	xor	edx, 1
	push	edx
	push	1
	call	?Find_Definition@nc_PurchaseSettingsDefClass@@SAPAV1@KK@Z ; nc_PurchaseSettingsDefClass::Find_Definition
	add	esp, 8

; 551  : 					if (ID < 0 || ID > 10 || !nc_DefinitionMgrClass::Find_Definition(PurchaseDef->presetids[ID], true))

	cmp	edi, 10					; 0000000aH
	mov	ebx, eax
	ja	SHORT $LN34@Activate@2
	mov	eax, DWORD PTR [ebx+edi*4+76]
	push	1
	push	eax
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	add	esp, 8
	test	eax, eax
	je	SHORT $LN34@Activate@2

; 552  : 						ResponseType = 4;
; 553  : 					else if (!nc_MapMgrClass::EnableVTOL && ((nc_VehicleGameObjDef *)nc_DefinitionMgrClass::Find_Definition(PurchaseDef->presetids[ID], true))->VehicleType == 3)

	mov	ecx, DWORD PTR ?EnableVTOL@nc_MapMgrClass@@2AA_NA ; nc_MapMgrClass::EnableVTOL
	cmp	BYTE PTR [ecx], 0
	jne	SHORT $LN32@Activate@2
	mov	edx, DWORD PTR [ebx+edi*4+76]
	push	1
	push	edx
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	add	esp, 8
	cmp	DWORD PTR [eax+224], 3
	jne	SHORT $LN32@Activate@2
$LN34@Activate@2:

; 598  : 				{
; 599  : 					Send_Purchase_Response(sender, ResponseType);

	mov	ecx, DWORD PTR _sender$[ebp]
	mov	eax, 4
	push	eax
	push	ecx
	call	?Send_Purchase_Response@@YAXHH@Z	; Send_Purchase_Response

; 600  : 				}
; 601  : 			}

	jmp	$LN480@Activate@2
$LN32@Activate@2:

; 554  : 						ResponseType = 4;
; 555  : 					else
; 556  : 					{
; 557  : 						nc_BaseControllerClass *Base = nc_BaseControllerClass::Find_Base(gzData->GetPlayerData()->Owner.Reference->obj->As_DamageableGameObj()->PlayerType);

	mov	eax, DWORD PTR _gzData$[esp+128]
	mov	eax, DWORD PTR [eax+76]
	mov	ecx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+60]
	call	eax
	mov	ecx, DWORD PTR [eax+1892]
	push	ecx
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	mov	ecx, eax
	add	esp, 4

; 558  : 						if (Base)

	test	ecx, ecx
	je	$LN70@Activate@2

; 559  : 						{
; 560  : 							unsigned int Cost = PurchaseDef->costs[ID] * (int)Base->OperationTimeFactor;

	fld	DWORD PTR [ecx+1716]

; 561  : 							nc_BuildingGameObj *Factory = Base->Find_Building(nc_VEHICLE_FACTORY);

	push	2
	fnstcw	WORD PTR tv2785[esp+132]
	movzx	eax, WORD PTR tv2785[esp+132]
	or	eax, 3072				; 00000c00H
	mov	DWORD PTR tv2782[esp+132], eax
	fldcw	WORD PTR tv2782[esp+132]
	fistp	QWORD PTR tv2780[esp+132]
	mov	eax, DWORD PTR tv2780[esp+132]
	imul	eax, DWORD PTR [ebx+edi*4+36]
	fldcw	WORD PTR tv2785[esp+132]
	mov	DWORD PTR _Cost$58720[esp+132], eax
	call	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z ; nc_BaseControllerClass::Find_Building

; 562  : 							if (Factory && Factory->As_VehicleFactoryGameObj())

	test	eax, eax
	mov	DWORD PTR _Factory$58722[esp+128], eax
	je	$LN70@Activate@2
	mov	ecx, eax
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+120]
	call	eax
	test	eax, eax
	je	$LN70@Activate@2

; 563  : 							{
; 564  : 								if (Factory->As_VehicleFactoryGameObj()->IsGenerating)

	mov	ecx, DWORD PTR _Factory$58722[esp+128]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+120]
	call	eax
	cmp	BYTE PTR [eax+2224], 0
	je	SHORT $LN28@Activate@2
$LN479@Activate@2:

; 598  : 				{
; 599  : 					Send_Purchase_Response(sender, ResponseType);

	mov	ecx, DWORD PTR _sender$[ebp]
	mov	eax, 3
	push	eax
	push	ecx
	call	?Send_Purchase_Response@@YAXHH@Z	; Send_Purchase_Response

; 600  : 				}
; 601  : 			}

	jmp	$LN480@Activate@2
$LN28@Activate@2:

; 565  : 									ResponseType = 3;
; 566  : 								else if (Factory->Destroyed)

	mov	ecx, DWORD PTR _Factory$58722[esp+128]
	cmp	BYTE PTR [ecx+1912], 0

; 567  : 									ResponseType = 3;

	jne	SHORT $LN479@Activate@2

; 568  : 								else if (gzTeamCommander->m_teamPool[Team] < Cost)

	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	eax, DWORD PTR _Cost$58720[esp+128]
	cmp	DWORD PTR [edx+esi*4+40], eax
	jae	SHORT $LN24@Activate@2

; 569  : 								{
; 570  : 									PagePlayer(sender, "Team Pool has %d credit(s) but %s requires %d credit(s).",
; 571  : 										gzTeamCommander->m_teamPool[Team],
; 572  : 										gzTranslator->Get(nc_DefinitionMgrClass::Find_Definition(PurchaseDef->presetids[ID], true)->Get_Name()),
; 573  : 										Cost
; 574  : 									);

	mov	ecx, DWORD PTR [ebx+edi*4+76]
	push	1
	push	ecx
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	mov	edx, DWORD PTR _Cost$58720[esp+136]
	add	esp, 8
	push	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	edx, DWORD PTR [ecx+esi*4+40]
	push	eax
	mov	eax, DWORD PTR _sender$[ebp]
	push	edx
	push	OFFSET ??_C@_0DJ@GCGDHDIG@Team?5Pool?5has?5?$CFd?5credit?$CIs?$CJ?5but?5?$CF@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 20					; 00000014H

; 575  : 								}
; 576  : 								else

	jmp	$LN70@Activate@2
$LN24@Activate@2:

; 577  : 								{
; 578  : 									Factory->As_VehicleFactoryGameObj()->Request_Vehicle(PurchaseDef->presetids[ID], 5.0f, gzData->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj());

	mov	ecx, DWORD PTR _gzData$[esp+128]
	mov	eax, DWORD PTR [ecx+76]
	mov	edx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	fld	DWORD PTR __real@40a00000
	push	eax
	mov	eax, DWORD PTR [ebx+edi*4+76]
	push	ecx
	mov	ecx, DWORD PTR _Factory$58722[esp+136]
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx]
	push	eax
	mov	eax, DWORD PTR [edx+120]
	call	eax
	mov	ecx, eax
	call	?Request_Vehicle@nc_VehicleFactoryGameObj@@QAEXHMPAVnc_SoldierGameObj@@@Z ; nc_VehicleFactoryGameObj::Request_Vehicle

; 579  : 									gzTeamCommander->m_teamPool[Team] -= Cost;

	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	ecx, DWORD PTR _Cost$58720[esp+128]
	sub	DWORD PTR [eax+esi*4+40], ecx

; 580  : 									gzTeamCommander->m_nextPurchaseTime[Team] = cGame->GameDuration_Seconds + gzTeamCommander->m_settings->m_vehiclePurchaseInterval;

	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	edx, DWORD PTR [eax+1124]
	mov	ecx, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	ecx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+28]
	add	edx, DWORD PTR [ecx+604]

; 581  : 									gzTeamCommander->m_canRequestVehicleNotify[Team] = true;
; 582  : 									PagePlayer(sender, "[Commander] Request accepted(%s). You have to wait %s for next request.",
; 583  : 										gzTranslator->Get(nc_DefinitionMgrClass::Find_Definition(PurchaseDef->presetids[ID], true)->Get_Name()),
; 584  : 										SecsToAscTime(gzTeamCommander->m_settings->m_vehiclePurchaseInterval).GetString()
; 585  : 									);

	push	1
	mov	DWORD PTR [eax+esi*4+64], edx
	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	BYTE PTR [eax+esi+72], 1
	mov	ecx, DWORD PTR [ebx+edi*4+76]
	push	ecx
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	DWORD PTR tv980[esp+136], eax
	mov	eax, DWORD PTR [edx+1124]
	mov	ecx, DWORD PTR [eax+28]
	push	ecx
	lea	edx, DWORD PTR $T67346[esp+140]
	push	edx
	call	?SecsToAscTime@@YA?AVaString@@I@Z	; SecsToAscTime
	add	esp, 16					; 00000010H
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 33		; 00000021H
	je	SHORT $LN381@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN382@Activate@2
$LN381@Activate@2:
	xor	eax, eax
$LN382@Activate@2:
	mov	ecx, DWORD PTR tv980[esp+128]
	push	eax
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+48]
	call	edx
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0EI@ICPJDPGB@?$FLCommander?$FN?5Request?5accepted?$CI?$CFs?$CJ@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR $T67346[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 586  : 									PagePlayer(sender, "You have used %d credit(s) from TeamPool. TeamPool is now have %d credit(s).", Cost, gzTeamCommander->m_teamPool[Team]);

	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	edx, DWORD PTR [ecx+esi*4+40]
	mov	eax, DWORD PTR _Cost$58720[esp+128]
	mov	ecx, DWORD PTR _sender$[ebp]
	push	edx
	push	eax
	push	OFFSET ??_C@_0EN@CEAPDPPP@You?5have?5used?5?$CFd?5credit?$CIs?$CJ?5from?5@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 587  : 									gzTeamCommander->Log("%ls issued a Buyveh command: %s\n",
; 588  : 										gzTeamCommander->m_commander[Team]->GetPlayerName().GetString(),
; 589  : 										gzTranslator->Get(nc_DefinitionMgrClass::Find_Definition(PurchaseDef->presetids[ID], true)->Get_Name())
; 590  : 									);

	mov	edx, DWORD PTR [ebx+edi*4+76]
	push	1
	push	edx
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	ecx, DWORD PTR [ecx+esi*4+48]
	mov	edi, eax
	add	esp, 24					; 00000018H
	lea	eax, DWORD PTR $T67347[esp+128]
	push	eax
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 34		; 00000022H
	je	SHORT $LN390@Activate@2
	mov	ebx, DWORD PTR [eax]
	jmp	SHORT $LN391@Activate@2
$LN390@Activate@2:
	xor	ebx, ebx
$LN391@Activate@2:
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+48]
	mov	ecx, edi
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	eax
	push	ebx
	push	OFFSET ??_C@_0CB@KNLHIPMM@?$CFls?5issued?5a?5Buyveh?5command?3?5?$CFs?6@
	push	ecx
	call	?Log@gzTeamCommanderClass@@QAAXPBDZZ	; gzTeamCommanderClass::Log
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR $T67347[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 591  : 									gzTeamCommander->m_commanderPurchase[Team] = true;

	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	BYTE PTR [edx+esi+1112], 1
	jmp	$LN70@Activate@2
$LN39@Activate@2:

; 542  : 					PagePlayer(sender, "[Commander]: Vehicle purchase denied because you're either not close to any Purchase Terminal or no visible Purchase Terminal in your screen.");

	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0IO@MHJJGKMI@?$FLCommander?$FN?3?5Vehicle?5purchase?5de@
	push	eax

; 592  : 								}
; 593  : 							}
; 594  : 						}
; 595  : 					}
; 596  : 				}
; 597  : 				if (ResponseType > 0)

	jmp	$LN478@Activate@2
$LN48@Activate@2:

; 602  : 			else if (cmd == "rb" || cmd == "repairbuilding")

	push	OFFSET ??_C@_02JDPG@rb?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN19@Activate@2
	push	OFFSET ??_C@_0P@OLPKFFBF@repairbuilding?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	$LN19@Activate@2

; 622  : 			else if (cmd == "donate")

	push	OFFSET ??_C@_06KCCPDNM@donate?$AA@
	lea	ecx, DWORD PTR _cmd$58525[esp+132]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	je	$LN70@Activate@2

; 623  : 			{
; 624  : 				int Amount = tokmsg.gettok(3, ' ').ToLong();

	push	32					; 00000020H
	push	3
	lea	edx, DWORD PTR $T67349[esp+136]
	push	edx
	lea	ecx, DWORD PTR _tokmsg$58523[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 36		; 00000024H
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	mov	edi, eax
	lea	ecx, DWORD PTR $T67349[esp+128]
	mov	DWORD PTR _Amount$58756[esp+128], edi
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 625  : 				if (tokmsg.numtok(' ') < 3)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _tokmsg$58523[esp+132]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 3
	jge	SHORT $LN11@Activate@2

; 626  : 					PagePlayer(sender, "Usage: !com donate [player] [amount]");

	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0CF@GKCMAPMC@Usage?3?5?$CBcom?5donate?5?$FLplayer?$FN?5?$FLamo@
	push	eax
	jmp	$LN478@Activate@2
$LN11@Activate@2:

; 627  : 
; 628  : 				else if (Amount < 0)

	test	edi, edi
	jge	SHORT $LN9@Activate@2

; 629  : 					PagePlayer(sender, "Invalid amount.");

	push	OFFSET ??_C@_0BA@GPEOFDAN@Invalid?5amount?4?$AA@
	jmp	$LN476@Activate@2
$LN9@Activate@2:

; 630  : 
; 631  : 				else if ((unsigned)Amount > gzTeamCommander->m_teamPool[gzData->GetPlayerData()->PlayerType.Get()])

	mov	ebx, DWORD PTR _gzData$[esp+128]
	mov	eax, DWORD PTR [ebx+76]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	cmp	edi, DWORD PTR [edx+eax*4+40]
	jbe	SHORT $LN7@Activate@2

; 632  : 					PagePlayer(sender, "Your Team Pool does NOT have %d credit(s). It currently has %d credit(s).", Amount, gzTeamCommander->m_teamPool[gzData->GetPlayerData()->PlayerType.Get()]);

	mov	eax, DWORD PTR [ebx+76]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	edx, DWORD PTR [ecx+eax*4+40]
	mov	eax, DWORD PTR _sender$[ebp]
	push	edx
	push	edi
	push	OFFSET ??_C@_0EK@MGNCJOII@Your?5Team?5Pool?5does?5NOT?5have?5?$CFd?5@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H

; 633  : 
; 634  : 				else

	jmp	$LN70@Activate@2
$LN7@Activate@2:

; 635  : 				{
; 636  : 					// Nickname unique check
; 637  : 					int nickCount = gzPlayerManager::FindByPartNameCount(tokmsg.gettok(2, ' ').GetData());

	push	32					; 00000020H
	push	2
	lea	ecx, DWORD PTR $T67350[esp+136]
	push	ecx
	lea	ecx, DWORD PTR _tokmsg$58523[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 37		; 00000025H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z ; gzPlayerManager::FindByPartNameCount
	add	esp, 4
	lea	ecx, DWORD PTR $T67350[esp+128]
	mov	edi, eax
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 638  : 					if (nickCount >= 2 && !gzPlayerManager::Find(tokmsg.gettok(2, ' ').GetData()))

	cmp	edi, 2
	jl	SHORT $LN103@Activate@2
	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T67352[esp+136]
	push	edx
	lea	ecx, DWORD PTR _tokmsg$58523[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 38		; 00000026H
	mov	DWORD PTR $T67373[esp+128], 2
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ; gzPlayerManager::Find
	add	esp, 4
	test	eax, eax
	jne	SHORT $LN103@Activate@2
	mov	bl, 1
	jmp	SHORT $LN104@Activate@2
$LN103@Activate@2:
	xor	bl, bl
$LN104@Activate@2:
	test	BYTE PTR $T67373[esp+128], 2
	mov	DWORD PTR __$EHRec$[esp+136], 6
	je	SHORT $LN144@Activate@2
	lea	ecx, DWORD PTR $T67352[esp+128]
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN144@Activate@2:
	test	bl, bl

; 639  : 					{
; 640  : 						PagePlayer(sender, "Found %d result(s) for \"%s\". Please specify a unique string for the nickname.", nickCount, tokmsg.gettok(2, ' ').GetData().GetString());

	push	32					; 00000020H
	lea	ecx, DWORD PTR _tokmsg$58523[esp+132]
	push	2
	je	SHORT $LN5@Activate@2
	lea	eax, DWORD PTR $T67355[esp+136]
	push	eax
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 39		; 00000027H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN420@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN421@Activate@2
$LN420@Activate@2:
	xor	eax, eax
$LN421@Activate@2:
	mov	ecx, DWORD PTR _sender$[ebp]
	push	eax
	push	edi
	push	OFFSET ??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H

; 646  : 						PagePlayer(sender, "%ls not found.",tokmsg.gettok(2, ' ').GetData().GetString());

	lea	ecx, DWORD PTR $T67357[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	jmp	$LN70@Activate@2
$LN5@Activate@2:

; 641  : 						return;
; 642  : 					}
; 643  : 
; 644  : 					gzPlayer *newData = gzPlayerManager::FindByPartName(tokmsg.gettok(2, ' ').GetData());

	lea	edx, DWORD PTR $T67356[esp+136]
	push	edx
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 40		; 00000028H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ; gzPlayerManager::FindByPartName
	add	esp, 4
	lea	ecx, DWORD PTR $T67356[esp+128]
	mov	edi, eax
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 645  : 					if (newData == NULL)

	test	edi, edi
	jne	SHORT $LN4@Activate@2

; 646  : 						PagePlayer(sender, "%ls not found.",tokmsg.gettok(2, ' ').GetData().GetString());

	push	32					; 00000020H
	push	2
	lea	eax, DWORD PTR $T67357[esp+136]
	push	eax
	lea	ecx, DWORD PTR _tokmsg$58523[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 41		; 00000029H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN429@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN430@Activate@2
$LN429@Activate@2:
	xor	eax, eax
$LN430@Activate@2:
	mov	ecx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
$LN482@Activate@2:
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T67357[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	jmp	$LN70@Activate@2
$LN4@Activate@2:

; 647  : 
; 648  : 					else if (gzData->GetPlayerData()->PlayerType.Get() != newData->GetPlayerData()->PlayerType.Get())

	mov	eax, DWORD PTR [edi+76]
	mov	edx, DWORD PTR _gzData$[esp+128]
	mov	ebx, DWORD PTR [edx+76]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	lea	ecx, DWORD PTR [ebx+1900]
	mov	DWORD PTR tv2537[esp+128], eax
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR tv2537[esp+128]
	cmp	eax, ecx
	je	SHORT $LN2@Activate@2

; 649  : 						PagePlayer(sender, "You can NOT donate to the enemy from the Team Pool!");

	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0DE@DMACKBJL@You?5can?5NOT?5donate?5to?5the?5enemy?5@
	push	eax

; 650  : 
; 651  : 					else

	jmp	$LN478@Activate@2
$LN2@Activate@2:

; 652  : 					{
; 653  : 						newData->GetPlayerData()->Money += (float)Amount;

	mov	eax, DWORD PTR [edi+76]
	fild	DWORD PTR _Amount$58756[esp+128]
	push	ecx
	lea	ecx, DWORD PTR [eax+8]
	fstp	DWORD PTR [esp]
	call	??Ync_FloatDataSafeClass@@QAEXM@Z	; nc_FloatDataSafeClass::operator+=

; 654  : 						newData->GetPlayerData()->Set_Object_Dirty_Bit(nc_DB_OCCASIONAL, true);

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

; 655  : 						gzTeamCommander->m_teamPool[gzData->GetPlayerData()->PlayerType.Get()] -= Amount;

	mov	ecx, DWORD PTR _gzData$[esp+128]
	mov	eax, DWORD PTR [ecx+76]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	ebx, DWORD PTR _Amount$58756[esp+128]
	sub	DWORD PTR [edx+eax*4+40], ebx

; 656  : 						PagePlayer(sender, "[Commander] You've donated %d credit(s) to %ls from the Team Pool.", Amount, newData->GetPlayerData()->PlayerName.m_Buffer);

	mov	ecx, DWORD PTR _sender$[ebp]
	lea	eax, DWORD PTR [edx+eax*4+40]
	mov	eax, DWORD PTR [edi+76]
	mov	eax, DWORD PTR [eax+1880]
	push	eax
	push	ebx
	push	OFFSET ??_C@_0ED@IBKKJIL@?$FLCommander?$FN?5You?8ve?5donated?5?$CFd?5cr@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 657  : 						PagePlayer(newData->GetPlayerData()->PlayerId, "You've received %d credit(s) from the Team Pool by the order of your Team Commander.", Amount);

	mov	eax, DWORD PTR [edi+76]
	mov	edx, DWORD PTR [eax+1884]
	push	ebx
	push	OFFSET ??_C@_0FF@CLBOOHB@You?8ve?5received?5?$CFd?5credit?$CIs?$CJ?5fro@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 658  : 						gzTeamCommander->Log("%ls issued a Donate command: %d to %ls\n",
; 659  : 							gzTeamCommander->m_commander[Team]->GetPlayerName().GetString(),
; 660  : 							Amount,
; 661  : 							newData->GetPlayerData()->PlayerName.m_Buffer
; 662  : 						);

	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	ecx, DWORD PTR [ecx+esi*4+48]
	add	esp, 28					; 0000001cH
	lea	eax, DWORD PTR $T67358[esp+128]
	push	eax
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	edi, DWORD PTR [edi+76]
	mov	BYTE PTR __$EHRec$[esp+136], 42		; 0000002aH
	je	SHORT $LN451@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN452@Activate@2
$LN451@Activate@2:
	xor	eax, eax
$LN452@Activate@2:
	mov	edx, DWORD PTR [edi+1880]
	push	edx
	push	ebx
	push	eax
	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	OFFSET ??_C@_0CI@ELEGOKCG@?$CFls?5issued?5a?5Donate?5command?3?5?$CFd?5@
	push	eax
	call	?Log@gzTeamCommanderClass@@QAAXPBDZZ	; gzTeamCommanderClass::Log
	add	esp, 20					; 00000014H
	lea	ecx, DWORD PTR $T67358[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	jmp	$LN70@Activate@2
$LN19@Activate@2:

; 603  : 			{
; 604  : 				if (gzTeamCommander->m_lastBuildingWarn[Team] == -1)

	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	edi, DWORD PTR [ecx+esi*4+1100]
	cmp	edi, -1

; 605  : 					return;

	je	$LN70@Activate@2

; 606  : 				nc_BuildingGameObj *Building = nc_BaseControllerClass::Find_Base(Team)->BuildingList[gzTeamCommander->m_lastBuildingWarn[Team]];

	push	esi
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	mov	edx, DWORD PTR [eax+1728]
	mov	edi, DWORD PTR [edx+edi*4]
	add	eax, 1724				; 000006bcH
	add	esp, 4

; 607  : 				if (Building->Destroyed)

	cmp	BYTE PTR [edi+1912], 0
	je	SHORT $LN17@Activate@2

; 608  : 				{
; 609  : 					gzTeamCommander->m_lastBuildingWarn[Team] = -1;

	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	or	edi, -1

; 610  : 					return;

	lea	ecx, DWORD PTR _cmd$58525[esp+128]
	mov	DWORD PTR [eax+esi*4+1100], edi
	mov	BYTE PTR __$EHRec$[esp+136], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	DWORD PTR __$EHRec$[esp+136], edi
	jmp	$LN481@Activate@2
$LN17@Activate@2:

; 611  : 				}
; 612  : 				gzTeamCommander->Log("%ls issued a Repair-Building command: %s\n",
; 613  : 					gzTeamCommander->m_commander[Team]->GetPlayerName().GetString(),
; 614  : 					gzTranslator->Get(Building->definition->Get_Name())
; 615  : 				);

	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	lea	ecx, DWORD PTR $T67348[esp+128]
	push	ecx
	mov	ecx, DWORD PTR [edx+esi*4+48]
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 35		; 00000023H
	je	SHORT $LN407@Activate@2
	mov	ebx, DWORD PTR [eax]
	jmp	SHORT $LN408@Activate@2
$LN407@Activate@2:
	xor	ebx, ebx
$LN408@Activate@2:
	mov	ecx, DWORD PTR [edi+1724]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+48]
	call	edx
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	ebx
	push	OFFSET ??_C@_0CK@MGHDIKCG@?$CFls?5issued?5a?5Repair?9Building?5com@
	push	eax
	call	?Log@gzTeamCommanderClass@@QAAXPBDZZ	; gzTeamCommanderClass::Log
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR $T67348[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 616  : 				float HealthValue = Building->Defense.Health.Get() / Building->Defense.HealthMax.Get();

	lea	ecx, DWORD PTR [edi+1840]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv2584[esp+128]
	lea	ecx, DWORD PTR [edi+1844]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fdivr	DWORD PTR tv2584[esp+128]

; 617  : 				if (HealthValue <= 0.2f)

	fld	DWORD PTR __real@3e4ccccd
	fcomp	ST(1)
	fnstsw	ax
	test	ah, 1
	jne	SHORT $LN16@Activate@2

; 618  : 					stConsole::In("tpage %d [Commander]: Critical: Please repair %s because it's lower than 20%% of it's max health!", Team, gzTranslator->Get(Building->definition->Get_Name()));

	mov	ecx, DWORD PTR [edi+1724]
	fstp	ST(0)
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	push	esi
	push	OFFSET ??_C@_0GC@BLIPHEPP@tpage?5?$CFd?5?$FLCommander?$FN?3?5Critical?3?5@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In
	add	esp, 12					; 0000000cH
	jmp	$LN70@Activate@2
$LN16@Activate@2:

; 619  : 				else if (HealthValue <= 0.5f)

	fcomp	DWORD PTR __real@3f000000
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	$LN70@Activate@2

; 620  : 					stConsole::In("tpage %d [Commander]: Warning: Please repair %s because it's lower than 50%% of it's max health!", Team, gzTranslator->Get(Building->definition->Get_Name()));

	mov	ecx, DWORD PTR [edi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	push	esi
	push	OFFSET ??_C@_0GB@HPPIDCBK@tpage?5?$CFd?5?$FLCommander?$FN?3?5Warning?3?5P@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In
	add	esp, 12					; 0000000cH

; 621  : 			}

	jmp	$LN70@Activate@2
$LN52@Activate@2:

; 500  : 			{
; 501  : 				if (tokmsg.numtok(' ') < 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _tokmsg$58523[esp+132]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2
	jge	SHORT $LN51@Activate@2
$LN489@Activate@2:

; 502  : 					PagePlayer(sender, "Usage: !com %s [message]",cmd.GetString());

	mov	eax, DWORD PTR _cmd$58525[esp+132]
	test	eax, eax
	je	SHORT $LN322@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN323@Activate@2
$LN322@Activate@2:
	xor	eax, eax
$LN323@Activate@2:
	mov	ecx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0BJ@MAHEMPMD@Usage?3?5?$CBcom?5?$CFs?5?$FLmessage?$FN?$AA@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH

; 503  : 				else

	jmp	$LN70@Activate@2
$LN51@Activate@2:

; 504  : 				{
; 505  : 					gzTeamCommander->Log("%ls issued a Warning command: %s\n",
; 506  : 						gzTeamCommander->m_commander[Team]->GetPlayerName().GetString(),
; 507  : 						tokmsg.gettok(2, tokmsg.numtok(' ') - 1, ' ').GetData().GetString()
; 508  : 					);

	push	32					; 00000020H
	push	32					; 00000020H
	lea	ecx, DWORD PTR _tokmsg$58523[esp+136]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	sub	eax, 1
	push	eax
	push	2
	lea	edx, DWORD PTR $T67341[esp+140]
	push	edx
	lea	ecx, DWORD PTR _tokmsg$58523[esp+144]
	call	?gettok@aToken@@QAE?AV1@HHE@Z		; aToken::gettok
	mov	edi, eax
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	ecx, DWORD PTR [ecx+esi*4+48]
	lea	eax, DWORD PTR $T67342[esp+128]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+140], 28		; 0000001cH
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	ebx, eax
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+136], 29		; 0000001dH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN328@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN329@Activate@2
$LN328@Activate@2:
	xor	eax, eax
$LN329@Activate@2:
	mov	ebx, DWORD PTR [ebx+4]
	test	ebx, ebx
	je	SHORT $LN334@Activate@2
	mov	ecx, DWORD PTR [ebx]
	jmp	SHORT $LN335@Activate@2
$LN334@Activate@2:
	xor	ecx, ecx
$LN335@Activate@2:
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	eax
	push	ecx
	push	OFFSET ??_C@_0CC@LHBHOBNO@?$CFls?5issued?5a?5Warning?5command?3?5?$CFs@
	push	edx
	call	?Log@gzTeamCommanderClass@@QAAXPBDZZ	; gzTeamCommanderClass::Log
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR $T67342[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 28		; 0000001cH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67341[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 509  : 					stConsole::In("tpage %d [Warning from Commander]: %s", Team, tokmsg.gettok(2, tokmsg.numtok(' ') - 1, ' ').GetData().GetString());

	push	32					; 00000020H
	push	32					; 00000020H
	lea	ecx, DWORD PTR _tokmsg$58523[esp+136]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	sub	eax, 1
	push	eax
	push	2
	lea	eax, DWORD PTR $T67343[esp+140]
	push	eax
	lea	ecx, DWORD PTR _tokmsg$58523[esp+144]
	call	?gettok@aToken@@QAE?AV1@HHE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 30		; 0000001eH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN343@Activate@2
	mov	eax, DWORD PTR [eax]
	push	eax
	push	esi
	push	OFFSET ??_C@_0CG@IFMMNDP@tpage?5?$CFd?5?$FLWarning?5from?5Commander@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In

; 510  : 				}

	jmp	$LN482@Activate@2

; 509  : 					stConsole::In("tpage %d [Warning from Commander]: %s", Team, tokmsg.gettok(2, tokmsg.numtok(' ') - 1, ' ').GetData().GetString());

$LN343@Activate@2:
	xor	eax, eax
	push	eax
	push	esi
	push	OFFSET ??_C@_0CG@IFMMNDP@tpage?5?$CFd?5?$FLWarning?5from?5Commander@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In

; 510  : 				}

	jmp	$LN482@Activate@2
$LN57@Activate@2:

; 487  : 			{
; 488  : 				if (tokmsg.numtok(' ') < 2)

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

; 489  : 					PagePlayer(sender, "Usage: !com %s [message]", cmd.GetString());

	jl	$LN489@Activate@2

; 490  : 				else
; 491  : 				{
; 492  : 					stConsole::In("tpage %d [Order from Commander]: %s", Team, tokmsg.gettok(2, tokmsg.numtok(' ') - 1, ' ').GetData().GetString());

	push	32					; 00000020H
	push	32					; 00000020H
	lea	ecx, DWORD PTR _tokmsg$58523[esp+136]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	sub	eax, edi
	push	eax
	push	2
	lea	edx, DWORD PTR $T67338[esp+140]
	push	edx
	lea	ecx, DWORD PTR _tokmsg$58523[esp+144]
	call	?gettok@aToken@@QAE?AV1@HHE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 25		; 00000019H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN301@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN302@Activate@2
$LN301@Activate@2:
	xor	eax, eax
$LN302@Activate@2:
	push	eax
	push	esi
	push	OFFSET ??_C@_0CE@IMNJOOIJ@tpage?5?$CFd?5?$FLOrder?5from?5Commander?$FN?3@
	call	?In@stConsole@@SAXPBDZZ			; stConsole::In
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T67338[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 493  : 					gzTeamCommander->Log("%ls issued a Order command: %s\n",
; 494  : 						gzTeamCommander->m_commander[Team]->GetPlayerName().GetString(),
; 495  : 						tokmsg.gettok(2, tokmsg.numtok(' ') - 1, ' ').GetData().GetString()
; 496  : 					);

	push	32					; 00000020H
	push	32					; 00000020H
	lea	ecx, DWORD PTR _tokmsg$58523[esp+136]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	sub	eax, 1
	push	eax
	push	2
	lea	eax, DWORD PTR $T67339[esp+140]
	push	eax
	lea	ecx, DWORD PTR _tokmsg$58523[esp+144]
	call	?gettok@aToken@@QAE?AV1@HHE@Z		; aToken::gettok
	mov	edi, eax
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	lea	ecx, DWORD PTR $T67340[esp+128]
	push	ecx
	mov	ecx, DWORD PTR [edx+esi*4+48]
	mov	bl, 26					; 0000001aH
	mov	BYTE PTR __$EHRec$[esp+140], bl
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	esi, eax
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+136], 27		; 0000001bH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN307@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN308@Activate@2
$LN307@Activate@2:
	xor	eax, eax
$LN308@Activate@2:
	mov	esi, DWORD PTR [esi+4]
	test	esi, esi
	je	SHORT $LN313@Activate@2
	mov	ecx, DWORD PTR [esi]
	jmp	SHORT $LN314@Activate@2
$LN313@Activate@2:
	xor	ecx, ecx
$LN314@Activate@2:
	push	eax
	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	ecx
	push	OFFSET ??_C@_0CA@PKNHABEG@?$CFls?5issued?5a?5Order?5command?3?5?$CFs?6?$AA@
	push	eax
	call	?Log@gzTeamCommanderClass@@QAAXPBDZZ	; gzTeamCommanderClass::Log
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR $T67340[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T67339[esp+128]

; 646  : 						PagePlayer(sender, "%ls not found.",tokmsg.gettok(2, ' ').GetData().GetString());

	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	jmp	$LN70@Activate@2
$LN83@Activate@2:

; 403  : 			{
; 404  : 				nc_RefineryGameObj* Refinery = (nc_BaseControllerClass::Find_Base(Team)->Find_Building(nc_REFINERY)) ? nc_BaseControllerClass::Find_Base(Team)->Find_Building(nc_REFINERY)->As_RefineryGameObj() : NULL;

	push	3
	push	esi
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	add	esp, 4
	mov	ecx, eax
	call	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z ; nc_BaseControllerClass::Find_Building
	test	eax, eax
	je	$LN82@Activate@2
	push	3
	push	esi
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	add	esp, 4
	mov	ecx, eax
	call	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z ; nc_BaseControllerClass::Find_Building
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+132]
	call	eax
	mov	edi, eax

; 405  : 				if (Refinery)

	test	edi, edi
	je	$LN82@Activate@2

; 406  : 				{
; 407  : 					if (!Refinery->Harvester || !Refinery->Harvester->Vehicle)

	mov	eax, DWORD PTR [edi+2092]
	test	eax, eax
	je	$LN80@Activate@2
	cmp	DWORD PTR [eax+100], 0
	je	$LN80@Activate@2

; 409  : 
; 410  : 					else if (tokmsg.gettok(2, ' ').GetData() == "start")

	push	OFFSET ??_C@_05FAGFPHJG@start?$AA@
	lea	ecx, DWORD PTR $T67316[esp+132]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	2
	lea	ecx, DWORD PTR $T67317[esp+136]
	push	ecx
	lea	ecx, DWORD PTR _tokmsg$58523[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 7
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	lea	edx, DWORD PTR $T67316[esp+128]
	push	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+140], 8
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	??8@YA_NABVaString@@0@Z			; operator==
	add	esp, 8
	lea	ecx, DWORD PTR $T67317[esp+128]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+136], 7
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T67316[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN78@Activate@2

; 411  : 					{
; 412  : 						if (((nc_TrackedVehicleDefClass *)Refinery->Harvester->Vehicle->Physics->Definition)->MaxEngineTorque == 0.0f)

	mov	eax, DWORD PTR [edi+2092]
	fldz
	mov	ecx, DWORD PTR [eax+100]
	mov	edx, DWORD PTR [ecx+1908]
	mov	eax, DWORD PTR [edx+80]
	fcomp	DWORD PTR [eax+92]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	$LN77@Activate@2

; 413  : 						{
; 414  : 							((nc_TrackedVehicleDefClass *)Refinery->Harvester->Vehicle->Physics->Definition)->MaxEngineTorque = gzTeamCommander->m_harvMaxEngineTorque[Team];

	mov	ecx, DWORD PTR [edi+2092]
	mov	edx, DWORD PTR [ecx+100]
	mov	eax, DWORD PTR [edx+1908]
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	ecx, DWORD PTR [eax+80]
	fld	DWORD PTR [edx+esi*4+56]
	fstp	DWORD PTR [ecx+92]

; 415  : 							gzCommands->Enable_Engine(Refinery->Harvester->Vehicle, true);

	mov	eax, DWORD PTR [edi+2092]
	mov	ecx, DWORD PTR [eax+100]
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+552]
	push	1
	push	ecx
	call	eax

; 416  : 							PagePlayer(sender, "[Commander] The Harvester for your team has returned to normal.");

	mov	ecx, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0EA@NHFKBEMN@?$FLCommander?$FN?5The?5Harvester?5for?5yo@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 417  : 							gzTeamCommander->Log("%ls issued a Harvester Start command.\n", gzTeamCommander->m_commander[Team]->GetPlayerName().GetString());

	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	ecx, DWORD PTR [eax+esi*4+48]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR $T67318[esp+128]
	push	edx
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 9
	je	SHORT $LN175@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN176@Activate@2
$LN175@Activate@2:
	xor	eax, eax
$LN176@Activate@2:
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	eax
	push	OFFSET ??_C@_0CH@KBCCHHCI@?$CFls?5issued?5a?5Harvester?5Start?5com@
	push	ecx
$LN485@Activate@2:
	call	?Log@gzTeamCommanderClass@@QAAXPBDZZ	; gzTeamCommanderClass::Log
$LN487@Activate@2:
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T67318[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 418  : 						}
; 419  : 						else

	jmp	$LN70@Activate@2
$LN77@Activate@2:

; 420  : 							PagePlayer(sender, "[Commander] The Harvester is not stopped.");

	mov	edx, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0CK@JPDNFNED@?$FLCommander?$FN?5The?5Harvester?5is?5not@
	push	edx
	jmp	$LN478@Activate@2
$LN78@Activate@2:

; 421  : 					}
; 422  : 
; 423  : 					else if (tokmsg.gettok(2, ' ').GetData() == "stop")

	push	OFFSET ??_C@_04PEGFANN@stop?$AA@
	lea	ecx, DWORD PTR $T67320[esp+132]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	2
	lea	eax, DWORD PTR $T67321[esp+136]
	push	eax
	lea	ecx, DWORD PTR _tokmsg$58523[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 10		; 0000000aH
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	lea	ecx, DWORD PTR $T67320[esp+128]
	push	ecx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+140], 11		; 0000000bH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	??8@YA_NABVaString@@0@Z			; operator==
	add	esp, 8
	lea	ecx, DWORD PTR $T67321[esp+128]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+136], 10		; 0000000aH
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T67320[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN74@Activate@2

; 424  : 					{
; 425  : 						if (((nc_TrackedVehicleDefClass *)Refinery->Harvester->Vehicle->Physics->Definition)->MaxEngineTorque == gzTeamCommander->m_harvMaxEngineTorque[Team])

	mov	edx, DWORD PTR [edi+2092]
	mov	eax, DWORD PTR [edx+100]
	mov	ecx, DWORD PTR [eax+1908]
	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	fld	DWORD PTR [eax+esi*4+56]
	mov	edx, DWORD PTR [ecx+80]
	fcomp	DWORD PTR [edx+92]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	$LN73@Activate@2

; 426  : 						{
; 427  : 							((nc_TrackedVehicleDefClass *)Refinery->Harvester->Vehicle->Physics->Definition)->MaxEngineTorque = 0.0f;

	mov	ecx, DWORD PTR [edi+2092]
	fldz
	mov	edx, DWORD PTR [ecx+100]
	mov	eax, DWORD PTR [edx+1908]
	mov	ecx, DWORD PTR [eax+80]
	fstp	DWORD PTR [ecx+92]

; 428  : 							gzCommands->Enable_Engine(Refinery->Harvester->Vehicle, false);

	mov	edx, DWORD PTR [edi+2092]
	mov	eax, DWORD PTR [edx+100]
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+552]
	push	0
	push	eax
	call	edx

; 429  : 							PagePlayer(sender, "[Commander] The Harvester for your team has been stopped.");

	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0DK@BOGDACGF@?$FLCommander?$FN?5The?5Harvester?5for?5yo@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 430  : 							gzTeamCommander->Log("%ls issued a Harvester Stop command.\n", gzTeamCommander->m_commander[Team]->GetPlayerName().GetString());

	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR $T67322[esp+128]
	push	ecx
	mov	ecx, DWORD PTR [edx+esi*4+48]
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 12		; 0000000cH
	je	SHORT $LN187@Activate@2
	mov	eax, DWORD PTR [eax]
	push	eax
	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	OFFSET ??_C@_0CG@KNNJFIC@?$CFls?5issued?5a?5Harvester?5Stop?5comm@
	push	eax

; 431  : 						}
; 432  : 						else

	jmp	$LN485@Activate@2

; 430  : 							gzTeamCommander->Log("%ls issued a Harvester Stop command.\n", gzTeamCommander->m_commander[Team]->GetPlayerName().GetString());

$LN187@Activate@2:
	xor	eax, eax
	push	eax
	mov	eax, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	OFFSET ??_C@_0CG@KNNJFIC@?$CFls?5issued?5a?5Harvester?5Stop?5comm@
	push	eax

; 431  : 						}
; 432  : 						else

	jmp	$LN485@Activate@2
$LN73@Activate@2:

; 433  : 							PagePlayer(sender, "The Harvester was already stopped.");

	push	OFFSET ??_C@_0CD@CNDCDELE@The?5Harvester?5was?5already?5stoppe@

; 434  : 					}
; 435  : 
; 436  : 					else

	jmp	SHORT $LN476@Activate@2
$LN74@Activate@2:

; 437  : 						PagePlayer(sender, "Usage: !com %s [start|stop]", cmd.GetString());

	mov	eax, DWORD PTR _cmd$58525[esp+132]
	test	eax, eax
	je	SHORT $LN196@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN197@Activate@2
$LN196@Activate@2:
	xor	eax, eax
$LN197@Activate@2:
	mov	edx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0BM@EGOPMBJG@Usage?3?5?$CBcom?5?$CFs?5?$FLstart?$HMstop?$FN?$AA@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	jmp	SHORT $LN70@Activate@2
$LN80@Activate@2:

; 408  : 						PagePlayer(sender, "[Commander] The Harvester for your team cannot be found.");

	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0DJ@JIMPJCFF@?$FLCommander?$FN?5The?5Harvester?5for?5yo@
	push	eax

; 438  : 				}
; 439  : 				else

	jmp	SHORT $LN478@Activate@2
$LN82@Activate@2:

; 440  : 					PagePlayer(sender, "[Commander] Refinery for your team not found.");

	push	OFFSET ??_C@_0CO@EGCPFIFF@?$FLCommander?$FN?5Refinery?5for?5your?5te@
$LN476@Activate@2:
	mov	ecx, DWORD PTR _sender$[ebp]
	push	ecx
$LN478@Activate@2:
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
$LN480@Activate@2:
	add	esp, 8
$LN70@Activate@2:

; 663  : 					}
; 664  : 				}
; 665  : 			}
; 666  : 		}

	lea	ecx, DWORD PTR _cmd$58525[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	DWORD PTR __$EHRec$[esp+136], -1
$LN481@Activate@2:
	lea	ecx, DWORD PTR _tokmsg$58523[esp+128]
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN86@Activate@2:

; 667  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR $T67310[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR $T67311[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$2:
	lea	ecx, DWORD PTR _tokmsg$58523[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$3:
	lea	ecx, DWORD PTR $T67312[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$4:
	lea	ecx, DWORD PTR _cmd$58525[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$11:
	lea	ecx, DWORD PTR $T67323[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$12:
	lea	ecx, DWORD PTR _nickw$58573[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$13:
	lea	ecx, DWORD PTR $T67324[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$14:
	mov	eax, DWORD PTR $T67373[ebp]
	and	eax, 1
	je	$LN120@Activate@2
	and	DWORD PTR $T67373[ebp], -2		; fffffffeH
	lea	ecx, DWORD PTR $T67326[ebp]
	jmp	??1aString@@UAE@XZ
$LN120@Activate@2:
	ret	0
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$15:
	lea	ecx, DWORD PTR $T67329[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$16:
	lea	ecx, DWORD PTR $T67330[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$17:
	lea	ecx, DWORD PTR $T67331[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$18:
	lea	ecx, DWORD PTR $T67332[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$19:
	lea	ecx, DWORD PTR $T67333[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$20:
	lea	ecx, DWORD PTR $T67336[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$21:
	lea	ecx, DWORD PTR $T67337[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$28:
	lea	ecx, DWORD PTR $T67344[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$29:
	lea	ecx, DWORD PTR $T67345[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$30:
	lea	ecx, DWORD PTR $T67346[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$31:
	lea	ecx, DWORD PTR $T67347[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$33:
	lea	ecx, DWORD PTR $T67349[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$34:
	lea	ecx, DWORD PTR $T67350[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$35:
	mov	eax, DWORD PTR $T67373[ebp]
	and	eax, 2
	je	$LN143@Activate@2
	and	DWORD PTR $T67373[ebp], -3		; fffffffdH
	lea	ecx, DWORD PTR $T67352[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
$LN143@Activate@2:
	ret	0
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$36:
	lea	ecx, DWORD PTR $T67355[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$37:
	lea	ecx, DWORD PTR $T67356[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$38:
	lea	ecx, DWORD PTR $T67357[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$39:
	lea	ecx, DWORD PTR $T67358[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$32:
	lea	ecx, DWORD PTR $T67348[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$25:
	lea	ecx, DWORD PTR $T67341[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$26:
	lea	ecx, DWORD PTR $T67342[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$27:
	lea	ecx, DWORD PTR $T67343[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$22:
	lea	ecx, DWORD PTR $T67338[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$23:
	lea	ecx, DWORD PTR $T67339[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$24:
	lea	ecx, DWORD PTR $T67340[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$5:
	lea	ecx, DWORD PTR $T67316[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$6:
	lea	ecx, DWORD PTR $T67317[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$7:
	lea	ecx, DWORD PTR $T67318[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$8:
	lea	ecx, DWORD PTR $T67320[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$9:
	lea	ecx, DWORD PTR $T67321[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z$10:
	lea	ecx, DWORD PTR $T67322[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@Chat_TeamCommander@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; Chat_TeamCommander::Activate
PUBLIC	??_7Chat_TeamPool@@6B@				; Chat_TeamPool::`vftable'
PUBLIC	??0Chat_TeamPool@@QAE@XZ			; Chat_TeamPool::Chat_TeamPool
PUBLIC	??_R4Chat_TeamPool@@6B@				; Chat_TeamPool::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVChat_TeamPool@@@8			; Chat_TeamPool `RTTI Type Descriptor'
PUBLIC	??_R3Chat_TeamPool@@8				; Chat_TeamPool::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2Chat_TeamPool@@8				; Chat_TeamPool::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@Chat_TeamPool@@8			; Chat_TeamPool::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z ; Chat_TeamPool::Activate
;	COMDAT ??_R1A@?0A@EA@Chat_TeamPool@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@Chat_TeamPool@@8 DD FLAT:??_R0?AVChat_TeamPool@@@8 ; Chat_TeamPool::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3Chat_TeamPool@@8
rdata$r	ENDS
;	COMDAT ??_R2Chat_TeamPool@@8
rdata$r	SEGMENT
??_R2Chat_TeamPool@@8 DD FLAT:??_R1A@?0A@EA@Chat_TeamPool@@8 ; Chat_TeamPool::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3Chat_TeamPool@@8
rdata$r	SEGMENT
??_R3Chat_TeamPool@@8 DD 00H				; Chat_TeamPool::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2Chat_TeamPool@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVChat_TeamPool@@@8
_DATA	SEGMENT
??_R0?AVChat_TeamPool@@@8 DD FLAT:??_7type_info@@6B@	; Chat_TeamPool `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVChat_TeamPool@@', 00H
_DATA	ENDS
;	COMDAT ??_R4Chat_TeamPool@@6B@
rdata$r	SEGMENT
??_R4Chat_TeamPool@@6B@ DD 00H				; Chat_TeamPool::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVChat_TeamPool@@@8
	DD	FLAT:??_R3Chat_TeamPool@@8
rdata$r	ENDS
;	COMDAT ??_7Chat_TeamPool@@6B@
CONST	SEGMENT
??_7Chat_TeamPool@@6B@ DD FLAT:??_R4Chat_TeamPool@@6B@	; Chat_TeamPool::`vftable'
	DD	FLAT:?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0Chat_TeamPool@@QAE@XZ
_TEXT	SEGMENT
??0Chat_TeamPool@@QAE@XZ PROC				; Chat_TeamPool::Chat_TeamPool, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7Chat_TeamPool@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0Chat_TeamPool@@QAE@XZ ENDP				; Chat_TeamPool::Chat_TeamPool
_TEXT	ENDS
PUBLIC	??Znc_FloatDataSafeClass@@QAEXM@Z		; nc_FloatDataSafeClass::operator-=
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_def.h
;	COMDAT ??Znc_FloatDataSafeClass@@QAEXM@Z
_TEXT	SEGMENT
_value$ = 8						; size = 4
??Znc_FloatDataSafeClass@@QAEXM@Z PROC			; nc_FloatDataSafeClass::operator-=, COMDAT
; _this$ = ecx

; 245  : 	void operator-=(float value) {

	push	esi
	mov	esi, ecx

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

	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fsub	DWORD PTR _value$[esp]

; 247  : 		this->Set(value);

	lea	eax, DWORD PTR _value$[esp]
	push	eax
	push	esi
	fstp	DWORD PTR _value$[esp+8]
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set
	pop	esi

; 248  : 	}

	ret	4
??Znc_FloatDataSafeClass@@QAEXM@Z ENDP			; nc_FloatDataSafeClass::operator-=
_TEXT	ENDS
PUBLIC	??_C@_0FK@KCFIHGLF@?$CFls?5has?5donated?5?$CFd?5credit?$CIs?$CJ?5to?5@ ; `string'
PUBLIC	??_C@_0EF@OAOIKKDI@The?5Team?5Pool?5now?5has?5?$CFd?5credit?$CI@ ; `string'
PUBLIC	??_C@_0BN@JINMPIJ@You?5don?8t?5have?5?$CFd?5credit?$CIs?$CJ?4?$AA@ ; `string'
PUBLIC	??_C@_03NFKEKGGK@all?$AA@			; `string'
PUBLIC	??_C@_0CK@HBECHJGM@Currently?5the?5Team?5Pool?5has?5?$CFd?5c@ ; `string'
PUBLIC	??_C@_0DL@KHBLEEKB@You?5can?5not?5donate?5to?5Team?5Pool?5@ ; `string'
PUBLIC	??_C@_0DL@JGPMLAHK@Team?5Commander?5commands?5are?5not?5@ ; `string'
EXTRN	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z:PROC ; nc_cPlayerManager::Find_Player
;	COMDAT ??_C@_0FK@KCFIHGLF@?$CFls?5has?5donated?5?$CFd?5credit?$CIs?$CJ?5to?5@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_0FK@KCFIHGLF@?$CFls?5has?5donated?5?$CFd?5credit?$CIs?$CJ?5to?5@ DB '%'
	DB	'ls has donated %d credit(s) to the Team Pool. Currently, the '
	DB	'Team Pool has %d credit(s).', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0EF@OAOIKKDI@The?5Team?5Pool?5now?5has?5?$CFd?5credit?$CI@
CONST	SEGMENT
??_C@_0EF@OAOIKKDI@The?5Team?5Pool?5now?5has?5?$CFd?5credit?$CI@ DB 'The '
	DB	'Team Pool now has %d credit(s). Thank you for your contributi'
	DB	'on!', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BN@JINMPIJ@You?5don?8t?5have?5?$CFd?5credit?$CIs?$CJ?4?$AA@
CONST	SEGMENT
??_C@_0BN@JINMPIJ@You?5don?8t?5have?5?$CFd?5credit?$CIs?$CJ?4?$AA@ DB 'Yo'
	DB	'u don''t have %d credit(s).', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03NFKEKGGK@all?$AA@
CONST	SEGMENT
??_C@_03NFKEKGGK@all?$AA@ DB 'all', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CK@HBECHJGM@Currently?5the?5Team?5Pool?5has?5?$CFd?5c@
CONST	SEGMENT
??_C@_0CK@HBECHJGM@Currently?5the?5Team?5Pool?5has?5?$CFd?5c@ DB 'Current'
	DB	'ly the Team Pool has %d credit(s).', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0DL@KHBLEEKB@You?5can?5not?5donate?5to?5Team?5Pool?5@
CONST	SEGMENT
??_C@_0DL@KHBLEEKB@You?5can?5not?5donate?5to?5Team?5Pool?5@ DB 'You can n'
	DB	'ot donate to Team Pool while gameplay is pending.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DL@JGPMLAHK@Team?5Commander?5commands?5are?5not?5@
CONST	SEGMENT
??_C@_0DL@JGPMLAHK@Team?5Commander?5commands?5are?5not?5@ DB 'Team Comman'
	DB	'der commands are not available in %s game mode.', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z$3
	DD	04H
	DD	FLAT:__unwindfunclet$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z$4
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stteamcommander.cpp
xdata$x	ENDS
;	COMDAT ?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
_tokmsg$58822 = -44					; size = 8
$T68093 = -36						; size = 8
$T68096 = -28						; size = 8
$T68094 = -28						; size = 8
$T68097 = -20						; size = 8
__$EHRec$ = -12						; size = 12
tv326 = 8						; size = 4
_Credit$58824 = 8					; size = 4
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; Chat_TeamPool::Activate, COMDAT
; _this$ = ecx

; 672  : 	{

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

; 673  : 		// Game mode check
; 674  : 		switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+72]
	mov	eax, DWORD PTR [eax+24]
	sub	esp, 32					; 00000020H
	add	eax, -4					; fffffffcH
	cmp	eax, 2
	push	esi
	ja	SHORT $LN33@Activate@3

; 675  : 		{
; 676  : 			case GAMEMODE_SNIPER:
; 677  : 			case GAMEMODE_500SNIP:
; 678  : 			case GAMEMODE_DM:
; 679  : 				PagePlayer(sender, "Team Commander commands are not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	mov	ecx, DWORD PTR [ecx+40]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+136]
	call	eax
	mov	esi, DWORD PTR _sender$[esp+44]
	push	eax
	push	OFFSET ??_C@_0DL@JGPMLAHK@Team?5Commander?5commands?5are?5not?5@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	jmp	SHORT $LN12@Activate@3
$LN33@Activate@3:
	mov	esi, DWORD PTR _sender$[esp+44]
$LN12@Activate@3:

; 680  : 		}
; 681  : 
; 682  : 		if (!cGame->Is_Gameplay_Permitted())

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

; 683  : 		{
; 684  : 			PagePlayer(sender, "You can not donate to Team Pool while gameplay is pending.");

	push	OFFSET ??_C@_0DL@KHBLEEKB@You?5can?5not?5donate?5to?5Team?5Pool?5@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	esi

; 713  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	20					; 00000014H
$LN10@Activate@3:
	push	edi

; 685  : 			return;
; 686  : 		}
; 687  : 
; 688  : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(sender);

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

; 689  : 		if (!pData)

	test	edi, edi
	je	$LN35@Activate@3

; 690  : 			return;
; 691  : 		if (!*msg)

	mov	eax, DWORD PTR _msg$[esp+48]
	cmp	WORD PTR [eax], 0
	jne	SHORT $LN8@Activate@3

; 692  : 			PagePlayer(sender, "Currently the Team Pool has %d credit(s).", gzTeamCommander->m_teamPool[pData->PlayerType.Get()]);

	lea	ecx, DWORD PTR [edi+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	edx, DWORD PTR [ecx+eax*4+40]
	push	edx
	push	OFFSET ??_C@_0CK@HBECHJGM@Currently?5the?5Team?5Pool?5has?5?$CFd?5c@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	pop	edi
	pop	esi

; 713  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	20					; 00000014H
$LN8@Activate@3:
	push	ebx
	push	ebp

; 693  : 		else
; 694  : 		{
; 695  : 			aToken tokmsg(msg);

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

; 696  : 			int Credit = tokmsg.gettok(1, ' ').ToLong();

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T68094[esp+68]
	push	ecx
	lea	ecx, DWORD PTR _tokmsg$58822[esp+72]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+68], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	mov	ebp, eax
	lea	ecx, DWORD PTR $T68094[esp+60]
	mov	DWORD PTR _Credit$58824[esp+56], ebp
	mov	BYTE PTR __$EHRec$[esp+68], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 697  : 			if (tokmsg.gettok(1, ' ').GetData() == "all")

	push	OFFSET ??_C@_03NFKEKGGK@all?$AA@
	lea	ecx, DWORD PTR $T68096[esp+64]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	1
	lea	edx, DWORD PTR $T68097[esp+68]
	push	edx
	lea	ecx, DWORD PTR _tokmsg$58822[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 4
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	lea	ecx, DWORD PTR $T68096[esp+60]
	push	ecx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 5
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	??8@YA_NABVaString@@0@Z			; operator==
	add	esp, 8
	lea	ecx, DWORD PTR $T68097[esp+60]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+68], 4
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T68096[esp+60]
	mov	BYTE PTR __$EHRec$[esp+68], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN6@Activate@3

; 698  : 				Credit = (int)pData->Money.Get();

	lea	ecx, DWORD PTR [edi+8]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	call	__ftol2_sse
	mov	ebp, eax
	mov	DWORD PTR _Credit$58824[esp+56], eax
$LN6@Activate@3:

; 699  : 			if (Credit < 1)

	cmp	ebp, 1
	jge	SHORT $LN5@Activate@3

; 700  : 				PagePlayer(sender, "Invalid amount.");

	push	OFFSET ??_C@_0BA@GPEOFDAN@Invalid?5amount?4?$AA@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	jmp	$LN1@Activate@3
$LN5@Activate@3:

; 701  : 			else if (Credit > pData->Money.Get())

	fild	DWORD PTR _Credit$58824[esp+56]
	lea	ebx, DWORD PTR [edi+8]
	mov	ecx, ebx
	fstp	DWORD PTR tv326[esp+56]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fcomp	DWORD PTR tv326[esp+56]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN3@Activate@3

; 702  : 				PagePlayer(sender, "You don't have %d credit(s).", Credit);

	push	ebp
	push	OFFSET ??_C@_0BN@JINMPIJ@You?5don?8t?5have?5?$CFd?5credit?$CIs?$CJ?4?$AA@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH

; 703  : 			else

	jmp	$LN1@Activate@3
$LN3@Activate@3:

; 704  : 			{
; 705  : 				gzTeamCommander->m_teamPool[pData->PlayerType.Get()] += Credit;

	lea	esi, DWORD PTR [edi+1900]
	mov	ecx, esi
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get

; 706  : 				pData->Money -= (float)Credit;

	fld	DWORD PTR tv326[esp+56]
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	add	DWORD PTR [edx+eax*4+40], ebp
	push	ecx
	lea	eax, DWORD PTR [edx+eax*4+40]
	fstp	DWORD PTR [esp]
	mov	ecx, ebx
	call	??Znc_FloatDataSafeClass@@QAEXM@Z	; nc_FloatDataSafeClass::operator-=

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

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

; 708  : 				PagePlayer(sender, "The Team Pool now has %d credit(s). Thank you for your contribution!", gzTeamCommander->m_teamPool[pData->PlayerType.Get()]);

	mov	ecx, esi
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	edx, DWORD PTR [ecx+eax*4+40]
	mov	eax, DWORD PTR _sender$[esp+56]
	push	edx
	push	OFFSET ??_C@_0EF@OAOIKKDI@The?5Team?5Pool?5now?5has?5?$CFd?5credit?$CI@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH

; 709  : 				if (gzTeamCommander->m_commander[pData->PlayerType.Get()] != NULL && gzTeamCommander->m_commander[pData->PlayerType.Get()]->GetPlayerData() != pData)

	mov	ecx, esi
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	cmp	DWORD PTR [ecx+eax*4+48], 0
	je	SHORT $LN1@Activate@3
	mov	ecx, esi
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	eax, DWORD PTR [edx+eax*4+48]
	cmp	DWORD PTR [eax+76], edi
	je	SHORT $LN1@Activate@3

; 710  : 					PagePlayer(gzTeamCommander->m_commander[pData->PlayerType.Get()]->GetPlayerData()->PlayerId, "%ls has donated %d credit(s) to the Team Pool. Currently, the Team Pool has %d credit(s).", pData->PlayerName.m_Buffer, Credit, gzTeamCommander->m_teamPool[pData->PlayerType.Get()]);

	mov	ecx, esi
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	eax, DWORD PTR [ecx+eax*4+48]
	mov	ebx, DWORD PTR [eax+76]
	mov	ecx, esi
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	edx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	mov	eax, DWORD PTR [edx+eax*4+40]
	mov	ecx, DWORD PTR [edi+1880]
	mov	edx, DWORD PTR [ebx+1884]
	push	eax
	push	ebp
	push	ecx
	push	OFFSET ??_C@_0FK@KCFIHGLF@?$CFls?5has?5donated?5?$CFd?5credit?$CIs?$CJ?5to?5@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 20					; 00000014H
$LN1@Activate@3:

; 711  : 			}
; 712  : 		}

	lea	ecx, DWORD PTR _tokmsg$58822[esp+60]
	mov	DWORD PTR __$EHRec$[esp+68], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	ebp
	pop	ebx
$LN35@Activate@3:

; 713  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+52]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 44					; 0000002cH
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR $T68093[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR _tokmsg$58822[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z$2:
	lea	ecx, DWORD PTR $T68094[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z$3:
	lea	ecx, DWORD PTR $T68096[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z$4:
	lea	ecx, DWORD PTR $T68097[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@Chat_TeamPool@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; Chat_TeamPool::Activate
PUBLIC	??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@ ; `string'
PUBLIC	??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<Chat_TeamCommander>::gzChatCommand_Reg<Chat_TeamCommander>
EXTRN	?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A:BYTE ; gzChatManagerClass::m_chatCommandList
EXTRN	??4aWideString@@QAEAAV0@ABV0@@Z:PROC		; aWideString::operator=
EXTRN	??4aString@@QAEAAV0@ABV0@@Z:PROC		; aString::operator=
EXTRN	??2@YAPAXI@Z:PROC				; operator new
;	COMDAT ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@
; File d:\source code\alib\include\avector.h
CONST	SEGMENT
??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@ DB 'd:\source '
	DB	'code\stgm\stchat.h', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T68146 = -48						; size = 8
$T68145 = -48						; size = 8
$T68143 = -48						; size = 4
$T68138 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T68136 = -32						; size = 8
$T68144 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_commands$ = 8						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<Chat_TeamCommander>::gzChatCommand_Reg<Chat_TeamCommander>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[ebp]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+64], edi
	je	$LN37@gzChatComm

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

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

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T68138[esp+64], esi
	cmp	esi, ebx
	mov	BYTE PTR __$EHRec$[esp+72], 3
	je	SHORT $LN9@gzChatComm
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7Chat_TeamCommander@@6B@
	mov	ebx, esi
$LN9@gzChatComm:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [ebx+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 2
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm
	lea	edi, DWORD PTR [ebx+4]
	npad	3
$LL5@gzChatComm:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T68144[esp+72]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T68143[esp+72], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T68144[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+64]
$LN3@gzChatComm:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T68145[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T68145[esp+64]
	push	eax
	lea	ecx, DWORD PTR [ebx+24]
	mov	BYTE PTR __$EHRec$[esp+76], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T68145[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T68146[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T68146[esp+64]
	push	ecx
	lea	ecx, DWORD PTR [ebx+32]
	mov	BYTE PTR __$EHRec$[esp+76], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T68146[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN37@gzChatComm:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T68136[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T68138[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T68144[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T68145[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T68146[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<Chat_TeamCommander>::gzChatCommand_Reg<Chat_TeamCommander>
PUBLIC	??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<Chat_TeamPool>::gzChatCommand_Reg<Chat_TeamPool>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T68195 = -48						; size = 8
$T68194 = -48						; size = 8
$T68192 = -48						; size = 4
$T68187 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T68185 = -32						; size = 8
$T68193 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_commands$ = 8						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<Chat_TeamPool>::gzChatCommand_Reg<Chat_TeamPool>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[ebp]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+64], edi
	je	$LN37@gzChatComm@2

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

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

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T68187[esp+64], esi
	cmp	esi, ebx
	mov	BYTE PTR __$EHRec$[esp+72], 3
	je	SHORT $LN9@gzChatComm@2
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7Chat_TeamPool@@6B@
	mov	ebx, esi
$LN9@gzChatComm@2:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [ebx+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 2
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@2
	lea	edi, DWORD PTR [ebx+4]
	npad	3
$LL5@gzChatComm@2:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T68193[esp+72]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T68192[esp+72], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T68193[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@2

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+64]
$LN3@gzChatComm@2:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@2

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T68194[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T68194[esp+64]
	push	eax
	lea	ecx, DWORD PTR [ebx+24]
	mov	BYTE PTR __$EHRec$[esp+76], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T68194[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@2

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T68195[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T68195[esp+64]
	push	ecx
	lea	ecx, DWORD PTR [ebx+32]
	mov	BYTE PTR __$EHRec$[esp+76], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T68195[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@2:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@2
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@2:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN37@gzChatComm@2:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T68185[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T68187[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T68193[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T68194[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T68195[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<Chat_TeamPool>::gzChatCommand_Reg<Chat_TeamPool>
PUBLIC	??_C@_0O@JKAIOFGP@?$CBteampool?0?$CBtp?$AA@	; `string'
PUBLIC	??_C@_0BA@FGLIFNGI@?$CBcommander?0?$CBcom?$AA@	; `string'
PUBLIC	??_C@_0P@DIMAGHGF@RequestRepairs?$AA@		; `string'
PUBLIC	??_C@_1BO@MIPNEJNI@?$AAr?$AAe?$AAp?$AAa?$AAi?$AAr?$AAb?$AAu?$AAi?$AAl?$AAd?$AAi?$AAn?$AAg?$AA?$AA@ ; `string'
PUBLIC	??_7gzTeamCommanderClass@@6BgzSettingsEvent@@@	; gzTeamCommanderClass::`vftable'
PUBLIC	??_7gzTeamCommanderClass@@6BEventHandler@@@	; gzTeamCommanderClass::`vftable'
PUBLIC	??0gzTeamCommanderClass@@QAE@XZ			; gzTeamCommanderClass::gzTeamCommanderClass
PUBLIC	??_R4gzTeamCommanderClass@@6BEventHandler@@@	; gzTeamCommanderClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzTeamCommanderClass@@@8		; gzTeamCommanderClass `RTTI Type Descriptor'
PUBLIC	??_R3gzTeamCommanderClass@@8			; gzTeamCommanderClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzTeamCommanderClass@@8			; gzTeamCommanderClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzTeamCommanderClass@@8		; gzTeamCommanderClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@EventHandler@@8			; EventHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVEventHandler@@@8			; EventHandler `RTTI Type Descriptor'
PUBLIC	??_R3EventHandler@@8				; EventHandler::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2EventHandler@@8				; EventHandler::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzBase@@8				; gzBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVgzBase@@@8				; gzBase `RTTI Type Descriptor'
PUBLIC	??_R3gzBase@@8					; gzBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzBase@@8					; gzBase::`RTTI Base Class Array'
PUBLIC	??_R1CE@?0A@EA@gzSettingsEvent@@8		; gzSettingsEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
PUBLIC	?GetName@gzTeamCommanderClass@@UAEPBDXZ		; gzTeamCommanderClass::GetName
PUBLIC	?Delete@gzTeamCommanderClass@@UAEXXZ		; gzTeamCommanderClass::Delete
PUBLIC	?Level_Loaded@EventHandler@@UAEXXZ		; EventHandler::Level_Loaded
PUBLIC	?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_Joined
PUBLIC	?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z ; EventHandler::Player_Purchase
PUBLIC	?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z ; EventHandler::Player_BandwidthChange
PUBLIC	?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_Suicide
PUBLIC	?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_TeamChange
PUBLIC	?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z ; EventHandler::Player_Chat
PUBLIC	?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z ; EventHandler::Player_Radio
PUBLIC	?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z ; EventHandler::Player_SerialHash
PUBLIC	?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z ; EventHandler::Player_RawDamage
PUBLIC	?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z ; EventHandler::Object_Init
PUBLIC	?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z ; EventHandler::Object_Damaged
PUBLIC	?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z ; EventHandler::Object_Killed
PUBLIC	?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z ; EventHandler::Object_Transition
PUBLIC	?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ; EventHandler::Object_JumpStart
PUBLIC	?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ; EventHandler::Object_JumpComplete
PUBLIC	?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z ; EventHandler::Object_SoldierSquished
PUBLIC	?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z ; EventHandler::Object_C4Creation
PUBLIC	?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z ; EventHandler::Object_C4Detonate
PUBLIC	?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z ; EventHandler::Object_PowerupGrant
PUBLIC	?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z ; EventHandler::Object_Fire
PUBLIC	?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z ; EventHandler::Object_FlipKill
PUBLIC	?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z ; EventHandler::Net_WolPage
PUBLIC	?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z ; EventHandler::Net_SerialAuth
PUBLIC	?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z ; EventHandler::Bhs_Poke
PUBLIC	?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z ; EventHandler::Bhs_Version
PUBLIC	??_R4gzTeamCommanderClass@@6BgzSettingsEvent@@@	; gzTeamCommanderClass::`RTTI Complete Object Locator'
EXTRN	??1EventHandler@@UAE@XZ:PROC			; EventHandler::~EventHandler
EXTRN	?RegisterEvent@EventHandler@@QAEXHH@Z:PROC	; EventHandler::RegisterEvent
EXTRN	??0EventHandler@@QAE@XZ:PROC			; EventHandler::EventHandler
EXTRN	??_EgzTeamCommanderClass@@UAEPAXI@Z:PROC	; gzTeamCommanderClass::`vector deleting destructor'
EXTRN	?SetDeletePending@gzBase@@UAEXXZ:PROC		; gzBase::SetDeletePending
;	COMDAT ??_R4gzTeamCommanderClass@@6BgzSettingsEvent@@@
; File d:\source code\stgm\stsetting.h
rdata$r	SEGMENT
??_R4gzTeamCommanderClass@@6BgzSettingsEvent@@@ DD 00H	; gzTeamCommanderClass::`RTTI Complete Object Locator'
	DD	024H
	DD	00H
	DD	FLAT:??_R0?AVgzTeamCommanderClass@@@8
	DD	FLAT:??_R3gzTeamCommanderClass@@8
rdata$r	ENDS
;	COMDAT ??_R1CE@?0A@EA@gzSettingsEvent@@8
rdata$r	SEGMENT
??_R1CE@?0A@EA@gzSettingsEvent@@8 DD FLAT:??_R0?AVgzSettingsEvent@@@8 ; gzSettingsEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
	DD	00H
	DD	024H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R2gzBase@@8
rdata$r	SEGMENT
??_R2gzBase@@8 DD FLAT:??_R1A@?0A@EA@gzBase@@8		; gzBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzBase@@8
rdata$r	SEGMENT
??_R3gzBase@@8 DD 00H					; gzBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzBase@@@8
_DATA	SEGMENT
??_R0?AVgzBase@@@8 DD FLAT:??_7type_info@@6B@		; gzBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@gzBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzBase@@8 DD FLAT:??_R0?AVgzBase@@@8	; gzBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R2EventHandler@@8
rdata$r	SEGMENT
??_R2EventHandler@@8 DD FLAT:??_R1A@?0A@EA@EventHandler@@8 ; EventHandler::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3EventHandler@@8
rdata$r	SEGMENT
??_R3EventHandler@@8 DD 00H				; EventHandler::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2EventHandler@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVEventHandler@@@8
_DATA	SEGMENT
??_R0?AVEventHandler@@@8 DD FLAT:??_7type_info@@6B@	; EventHandler `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVEventHandler@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@EventHandler@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@EventHandler@@8 DD FLAT:??_R0?AVEventHandler@@@8 ; EventHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3EventHandler@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzTeamCommanderClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzTeamCommanderClass@@8 DD FLAT:??_R0?AVgzTeamCommanderClass@@@8 ; gzTeamCommanderClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzTeamCommanderClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzTeamCommanderClass@@8
rdata$r	SEGMENT
??_R2gzTeamCommanderClass@@8 DD FLAT:??_R1A@?0A@EA@gzTeamCommanderClass@@8 ; gzTeamCommanderClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
	DD	FLAT:??_R1CE@?0A@EA@gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R3gzTeamCommanderClass@@8
rdata$r	SEGMENT
??_R3gzTeamCommanderClass@@8 DD 00H			; gzTeamCommanderClass::`RTTI Class Hierarchy Descriptor'
	DD	01H
	DD	04H
	DD	FLAT:??_R2gzTeamCommanderClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzTeamCommanderClass@@@8
_DATA	SEGMENT
??_R0?AVgzTeamCommanderClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzTeamCommanderClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzTeamCommanderClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzTeamCommanderClass@@6BEventHandler@@@
rdata$r	SEGMENT
??_R4gzTeamCommanderClass@@6BEventHandler@@@ DD 00H	; gzTeamCommanderClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzTeamCommanderClass@@@8
	DD	FLAT:??_R3gzTeamCommanderClass@@8
rdata$r	ENDS
;	COMDAT ??_C@_0O@JKAIOFGP@?$CBteampool?0?$CBtp?$AA@
CONST	SEGMENT
??_C@_0O@JKAIOFGP@?$CBteampool?0?$CBtp?$AA@ DB '!teampool,!tp', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@FGLIFNGI@?$CBcommander?0?$CBcom?$AA@
CONST	SEGMENT
??_C@_0BA@FGLIFNGI@?$CBcommander?0?$CBcom?$AA@ DB '!commander,!com', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@DIMAGHGF@RequestRepairs?$AA@
CONST	SEGMENT
??_C@_0P@DIMAGHGF@RequestRepairs?$AA@ DB 'RequestRepairs', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BO@MIPNEJNI@?$AAr?$AAe?$AAp?$AAa?$AAi?$AAr?$AAb?$AAu?$AAi?$AAl?$AAd?$AAi?$AAn?$AAg?$AA?$AA@
CONST	SEGMENT
??_C@_1BO@MIPNEJNI@?$AAr?$AAe?$AAp?$AAa?$AAi?$AAr?$AAb?$AAu?$AAi?$AAl?$AAd?$AAi?$AAn?$AAg?$AA?$AA@ DB 'r'
	DB	00H, 'e', 00H, 'p', 00H, 'a', 00H, 'i', 00H, 'r', 00H, 'b', 00H
	DB	'u', 00H, 'i', 00H, 'l', 00H, 'd', 00H, 'i', 00H, 'n', 00H, 'g'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_7gzTeamCommanderClass@@6BgzSettingsEvent@@@
CONST	SEGMENT
??_7gzTeamCommanderClass@@6BgzSettingsEvent@@@ DD FLAT:??_R4gzTeamCommanderClass@@6BgzSettingsEvent@@@ ; gzTeamCommanderClass::`vftable'
	DD	FLAT:?Settings_Loaded@gzTeamCommanderClass@@UAEXXZ
CONST	ENDS
;	COMDAT ??_7gzTeamCommanderClass@@6BEventHandler@@@
CONST	SEGMENT
??_7gzTeamCommanderClass@@6BEventHandler@@@ DD FLAT:??_R4gzTeamCommanderClass@@6BEventHandler@@@ ; gzTeamCommanderClass::`vftable'
	DD	FLAT:??_EgzTeamCommanderClass@@UAEPAXI@Z
	DD	FLAT:?GetName@gzTeamCommanderClass@@UAEPBDXZ
	DD	FLAT:?Delete@gzTeamCommanderClass@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@EventHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@gzTeamCommanderClass@@UAEXXZ
	DD	FLAT:?Think@gzTeamCommanderClass@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzTeamCommanderClass@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@gzTeamCommanderClass@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzTeamCommanderClass@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzTeamCommanderClass@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzTeamCommanderClass@@QAE@XZ$1
__ehfuncinfo$??0gzTeamCommanderClass@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0gzTeamCommanderClass@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stteamcommander.cpp
xdata$x	ENDS
;	COMDAT ??0gzTeamCommanderClass@@QAE@XZ
_TEXT	SEGMENT
_Chat_TeamPool_Reg$ = -21				; size = 1
_Chat_TeamCommander_Reg$ = -21				; size = 1
_this$ = -20						; size = 4
$T68235 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzTeamCommanderClass@@QAE@XZ PROC			; gzTeamCommanderClass::gzTeamCommanderClass, COMDAT
; _this$ = ecx

; 56   : {

	push	-1
	push	__ehhandler$??0gzTeamCommanderClass@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 12					; 0000000cH
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+32], esi
	call	??0EventHandler@@QAE@XZ			; EventHandler::EventHandler
	lea	edi, DWORD PTR [esi+36]

; 57   : 	this->RegisterEvent(EVT_GAME_LEVEL_ENDED);

	push	0
	mov	DWORD PTR [edi], OFFSET ??_7gzSettingsEvent@@6B@
	push	4097					; 00001001H
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+48], 0
	mov	DWORD PTR [esi], OFFSET ??_7gzTeamCommanderClass@@6BEventHandler@@@
	mov	DWORD PTR [edi], OFFSET ??_7gzTeamCommanderClass@@6BgzSettingsEvent@@@
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 58   : 	this->RegisterEvent(EVT_GAME_THINK);

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

; 59   : 	this->RegisterEvent(EVT_PLAYER_LEFT);

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

; 60   : 	this->RegisterEvent(EVT_OBJECT_CREATE);

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

; 61   : 
; 62   : 	this->m_settings = new gzSettingsTeamCommanderClass;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	62					; 0000003eH
	push	OFFSET ??_C@_0BG@LIMFAEEA@?4?2stteamcommander?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	56					; 00000038H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T68235[esp+32], eax
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+40], 1
	je	SHORT $LN3@gzTeamComm
	mov	ecx, eax
	call	??0gzSettingsTeamCommanderClass@@QAE@XZ
	jmp	SHORT $LN4@gzTeamComm
$LN3@gzTeamComm:
	xor	eax, eax
$LN4@gzTeamComm:

; 63   : 	this->m_settings->SetOwner(this);
; 64   : 
; 65   : 	gzChatCommand_Reg<Chat_TeamCommander> Chat_TeamCommander_Reg("!commander,!com", MSG_ALL | MSG_TEAM, "RequestRepairs", L"repairbuilding");

	push	OFFSET ??_C@_1BO@MIPNEJNI@?$AAr?$AAe?$AAp?$AAa?$AAi?$AAr?$AAb?$AAu?$AAi?$AAl?$AAd?$AAi?$AAn?$AAg?$AA?$AA@
	push	OFFSET ??_C@_0P@DIMAGHGF@RequestRepairs?$AA@
	push	3
	mov	DWORD PTR [esi+1124], eax
	push	OFFSET ??_C@_0BA@FGLIFNGI@?$CBcommander?0?$CBcom?$AA@
	lea	ecx, DWORD PTR _Chat_TeamCommander_Reg$[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], 0
	mov	DWORD PTR [eax+8], edi
	call	??0?$gzChatCommand_Reg@VChat_TeamCommander@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<Chat_TeamCommander>::gzChatCommand_Reg<Chat_TeamCommander>

; 66   : 	gzChatCommand_Reg<Chat_TeamPool> Chat_TeamPool_Reg("!teampool,!tp");

	push	0
	push	0
	push	3
	push	OFFSET ??_C@_0O@JKAIOFGP@?$CBteampool?0?$CBtp?$AA@
	lea	ecx, DWORD PTR _Chat_TeamPool_Reg$[esp+48]
	call	??0?$gzChatCommand_Reg@VChat_TeamPool@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<Chat_TeamPool>::gzChatCommand_Reg<Chat_TeamPool>

; 67   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 24					; 00000018H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzTeamCommanderClass@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__unwindfunclet$??0gzTeamCommanderClass@@QAE@XZ$1:
	mov	eax, DWORD PTR $T68235[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$??0gzTeamCommanderClass@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzTeamCommanderClass@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzTeamCommanderClass@@QAE@XZ ENDP			; gzTeamCommanderClass::gzTeamCommanderClass
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stevent.h
;	COMDAT ?Level_Loaded@EventHandler@@UAEXXZ
_TEXT	SEGMENT
?Level_Loaded@EventHandler@@UAEXXZ PROC			; EventHandler::Level_Loaded, COMDAT
; _this$ = ecx

; 62   : 	virtual void Level_Loaded()	{ };

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; 23   : 		return "gzTeamCommanderClass";

	mov	eax, OFFSET ??_C@_0BF@BKGCLOGA@gzTeamCommanderClass?$AA@

; 24   : 	}

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

; 26   : 	void Delete() { };

	ret	0
?Delete@gzTeamCommanderClass@@UAEXXZ ENDP		; gzTeamCommanderClass::Delete
_TEXT	ENDS
PUBLIC	??1gzTeamCommanderClass@@UAE@XZ			; gzTeamCommanderClass::~gzTeamCommanderClass
; Function compile flags: /Ogtpy
;	COMDAT ??1gzTeamCommanderClass@@UAE@XZ
_TEXT	SEGMENT
??1gzTeamCommanderClass@@UAE@XZ PROC			; gzTeamCommanderClass::~gzTeamCommanderClass, COMDAT
; _this$ = ecx
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
??1gzTeamCommanderClass@@UAE@XZ ENDP			; gzTeamCommanderClass::~gzTeamCommanderClass
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzTeamCommanderClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzTeamCommanderClass@@UAEPAXI@Z PROC		; gzTeamCommanderClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@9
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@9:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzTeamCommanderClass@@UAEPAXI@Z ENDP		; gzTeamCommanderClass::`scalar deleting destructor'
_TEXT	ENDS
EXTRN	_atexit:PROC
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stinc.h
;	COMDAT ??__EgzCritical@@YAXXZ
text$yc	SEGMENT
??__EgzCritical@@YAXXZ PROC				; `dynamic initializer for 'gzCritical'', COMDAT

; 67   : static aCriticalSection gzCritical;

	push	OFFSET _gzCritical
	call	DWORD PTR __imp__InitializeCriticalSection@4
	push	OFFSET ??__FgzCritical@@YAXXZ		; `dynamic atexit destructor for 'gzCritical''
	call	_atexit
	pop	ecx
	ret	0
??__EgzCritical@@YAXXZ ENDP				; `dynamic initializer for 'gzCritical''
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stteamcommander.cpp
text$yc	ENDS
;	COMDAT ??__Esetteamcommander@@YAXXZ
text$yc	SEGMENT
??__Esetteamcommander@@YAXXZ PROC			; `dynamic initializer for 'setteamcommander'', COMDAT

; 750  : SetTeamCommanderConsoleFunction setteamcommander;

	mov	ecx, OFFSET ?setteamcommander@@3VSetTeamCommanderConsoleFunction@@A ; setteamcommander
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?setteamcommander@@3VSetTeamCommanderConsoleFunction@@A, OFFSET ??_7SetTeamCommanderConsoleFunction@@6B@ ; setteamcommander
	ret	0
??__Esetteamcommander@@YAXXZ ENDP			; `dynamic initializer for 'setteamcommander''
; 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''
text$yd	ENDS
PUBLIC	?setteamcommander@@3VSetTeamCommanderConsoleFunction@@A ; setteamcommander
_BSS	SEGMENT
?setteamcommander@@3VSetTeamCommanderConsoleFunction@@A DD 01H DUP (?) ; setteamcommander
_gzCritical DB	018H DUP (?)
_BSS	ENDS
CRT$XCU	SEGMENT
_gzCritical$initializer$ DD FLAT:??__EgzCritical@@YAXXZ
_setteamcommander$initializer$ DD FLAT:??__Esetteamcommander@@YAXXZ
CRT$XCU	ENDS
END
