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

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

INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES

PUBLIC	??_C@_0P@GHFPNOJB@bad?5allocation?$AA@		; `string'
PUBLIC	?SetLadderPoints@@3PAXA				; SetLadderPoints
PUBLIC	?GetColor@@3PAXA				; GetColor
PUBLIC	?GetPlayerCount@@3PAXA				; GetPlayerCount
PUBLIC	?Find_Team@@3P6APADH@ZA				; Find_Team
PUBLIC	?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A	; PlayerList
PUBLIC	?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA	; Get_Color_For_Team
PUBLIC	?SetPlayerType@@3PAXA				; SetPlayerType
PUBLIC	?SetRung@@3PAXA					; SetRung
PUBLIC	?FindPlayer@@3P6APAVcPlayer@@H@ZA		; FindPlayer
PUBLIC	?TallyTeamSize@@3P6AHH@ZA			; TallyTeamSize
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
_BSS	SEGMENT
?SetLadderPoints@@3PAXA DD 01H DUP (?)			; SetLadderPoints
?GetColor@@3PAXA DD 01H DUP (?)				; GetColor
?GetPlayerCount@@3PAXA DD 01H DUP (?)			; GetPlayerCount
?Find_Team@@3P6APADH@ZA DD 01H DUP (?)			; Find_Team
?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A DD 01H DUP (?)	; PlayerList
?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA DD 01H DUP (?) ; Get_Color_For_Team
?SetPlayerType@@3PAXA DD 01H DUP (?)			; SetPlayerType
?SetRung@@3PAXA DD 01H DUP (?)				; SetRung
?FindPlayer@@3P6APAVcPlayer@@H@ZA DD 01H DUP (?)	; FindPlayer
?TallyTeamSize@@3P6AHH@ZA DD 01H DUP (?)		; TallyTeamSize
_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\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	??BWideStringClass@@QAEPB_WXZ			; WideStringClass::operator wchar_t const *
; Function compile flags: /Ogtpy
; File d:\source code\stgm\engine_string.h
;	COMDAT ??BWideStringClass@@QAEPB_WXZ
_TEXT	SEGMENT
??BWideStringClass@@QAEPB_WXZ PROC			; WideStringClass::operator wchar_t const *, COMDAT
; _this$ = ecx

; 180  : 		return m_Buffer;

	mov	eax, DWORD PTR [ecx]

; 181  : 	}

	ret	0
??BWideStringClass@@QAEPB_WXZ ENDP			; WideStringClass::operator wchar_t const *
_TEXT	ENDS
PUBLIC	?Peek_Buffer@WideStringClass@@QAEPA_WXZ		; WideStringClass::Peek_Buffer
; Function compile flags: /Ogtpy
;	COMDAT ?Peek_Buffer@WideStringClass@@QAEPA_WXZ
_TEXT	SEGMENT
?Peek_Buffer@WideStringClass@@QAEPA_WXZ PROC		; WideStringClass::Peek_Buffer, COMDAT
; _this$ = ecx

; 209  : 		return m_Buffer;

	mov	eax, DWORD PTR [ecx]

; 210  : 	}

	ret	0
?Peek_Buffer@WideStringClass@@QAEPA_WXZ ENDP		; WideStringClass::Peek_Buffer
_TEXT	ENDS
PUBLIC	?Get_Player_Count@@YAHXZ			; Get_Player_Count
; Function compile flags: /Odtpy
; File d:\source code\stgm\engine_player.cpp
;	COMDAT ?Get_Player_Count@@YAHXZ
_TEXT	SEGMENT
?Get_Player_Count@@YAHXZ PROC				; Get_Player_Count, COMDAT

; 43   : IMPLEMENT_THUNK_RETURN(GetPlayerCount)

	mov	eax, DWORD PTR ?GetPlayerCount@@3PAXA	; GetPlayerCount
	jmp	eax
?Get_Player_Count@@YAHXZ ENDP				; Get_Player_Count
_TEXT	ENDS
PUBLIC	?Set_Player_Type@cPlayer@@QAEXH@Z		; cPlayer::Set_Player_Type
; Function compile flags: /Odtpy
;	COMDAT ?Set_Player_Type@cPlayer@@QAEXH@Z
_TEXT	SEGMENT
_type$ = 8						; size = 4
?Set_Player_Type@cPlayer@@QAEXH@Z PROC			; cPlayer::Set_Player_Type, COMDAT
; _this$ = ecx

; 45   : IMPLEMENT_THUNK(SetPlayerType)

	mov	eax, DWORD PTR ?SetPlayerType@@3PAXA	; SetPlayerType
	jmp	eax
?Set_Player_Type@cPlayer@@QAEXH@Z ENDP			; cPlayer::Set_Player_Type
_TEXT	ENDS
PUBLIC	?Set_Ladder_Points@cPlayer@@QAEXH@Z		; cPlayer::Set_Ladder_Points
; Function compile flags: /Odtpy
;	COMDAT ?Set_Ladder_Points@cPlayer@@QAEXH@Z
_TEXT	SEGMENT
_amount$ = 8						; size = 4
?Set_Ladder_Points@cPlayer@@QAEXH@Z PROC		; cPlayer::Set_Ladder_Points, COMDAT
; _this$ = ecx

; 47   : IMPLEMENT_THUNK(SetLadderPoints)

	mov	eax, DWORD PTR ?SetLadderPoints@@3PAXA	; SetLadderPoints
	jmp	eax
?Set_Ladder_Points@cPlayer@@QAEXH@Z ENDP		; cPlayer::Set_Ladder_Points
_TEXT	ENDS
PUBLIC	?Set_Rung@cPlayer@@QAEXH@Z			; cPlayer::Set_Rung
; Function compile flags: /Odtpy
;	COMDAT ?Set_Rung@cPlayer@@QAEXH@Z
_TEXT	SEGMENT
_amount$ = 8						; size = 4
?Set_Rung@cPlayer@@QAEXH@Z PROC				; cPlayer::Set_Rung, COMDAT
; _this$ = ecx

; 49   : IMPLEMENT_THUNK(SetRung)

	mov	eax, DWORD PTR ?SetRung@@3PAXA		; SetRung
	jmp	eax
?Set_Rung@cPlayer@@QAEXH@Z ENDP				; cPlayer::Set_Rung
_TEXT	ENDS
PUBLIC	?Get_Color@cPlayer@@QAE?AUVector3@@XZ		; cPlayer::Get_Color
; Function compile flags: /Odtpy
;	COMDAT ?Get_Color@cPlayer@@QAE?AUVector3@@XZ
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
?Get_Color@cPlayer@@QAE?AUVector3@@XZ PROC		; cPlayer::Get_Color, COMDAT
; _this$ = ecx

; 51   : IMPLEMENT_THUNK_RETURN_V(GetColor)

	mov	eax, DWORD PTR ?GetColor@@3PAXA		; GetColor
	jmp	eax
?Get_Color@cPlayer@@QAE?AUVector3@@XZ ENDP		; cPlayer::Get_Color
_TEXT	ENDS
PUBLIC	?InitEnginePlayer@@YAXI@Z			; InitEnginePlayer
; Function compile flags: /Ogtpy
;	COMDAT ?InitEnginePlayer@@YAXI@Z
_TEXT	SEGMENT
_exe$ = 8						; size = 4
?InitEnginePlayer@@YAXI@Z PROC				; InitEnginePlayer, COMDAT

; 55   : 	switch(exe)

	mov	eax, DWORD PTR _exe$[esp-4]
	cmp	eax, 3
	ja	$LN1@InitEngine
	jmp	DWORD PTR $LN10@InitEngine[eax*4]
$LN5@InitEngine:

; 56   : 	{
; 57   : 		case 0: //game.exe
; 58   : 			GetColor = (void *)0x0040E530;

	mov	DWORD PTR ?GetColor@@3PAXA, 4252976	; GetColor, 0040e530H

; 59   : 			SetLadderPoints = (void *)0x0040FC90;

	mov	DWORD PTR ?SetLadderPoints@@3PAXA, 4258960 ; SetLadderPoints, 0040fc90H

; 60   : 			SetRung = (void *)0x00410790;

	mov	DWORD PTR ?SetRung@@3PAXA, 4261776	; SetRung, 00410790H

; 61   : 			FindPlayer = (Find_Player)0x004157E0;

	mov	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA, 4282336 ; FindPlayer, 004157e0H

; 62   : 			SetPlayerType = (void *)0x0040D600;

	mov	DWORD PTR ?SetPlayerType@@3PAXA, 4249088 ; SetPlayerType, 0040d600H

; 63   : 			GetPlayerCount = (void *)0x00417040;

	mov	DWORD PTR ?GetPlayerCount@@3PAXA, 4288576 ; GetPlayerCount, 00417040H

; 64   : 			Get_Color_For_Team = (GetTeamColor)0x006D99E0;

	mov	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA, 7182816 ; Get_Color_For_Team, 006d99e0H

; 65   : 			Find_Team = (FindTeam)0x0041DA10;

	mov	DWORD PTR ?Find_Team@@3P6APADH@ZA, 4315664 ; Find_Team, 0041da10H

; 66   : 			TallyTeamSize = (tts)0x004170D0;

	mov	DWORD PTR ?TallyTeamSize@@3P6AHH@ZA, 4288720 ; TallyTeamSize, 004170d0H

; 67   : 			PlayerList = (SList<cPlayer *> *)0x0081CFE8;

	mov	DWORD PTR ?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A, 8507368 ; PlayerList, 0081cfe8H

; 115  : 			break;
; 116  : 	}
; 117  : }

	ret	0
$LN4@InitEngine:

; 68   : 			break;
; 69   : 		case 1: //server.dat
; 70   : 			GetColor = (void *)0x0040E530;

	mov	DWORD PTR ?GetColor@@3PAXA, 4252976	; GetColor, 0040e530H

; 71   : 			SetLadderPoints = (void *)0x0040FC90;

	mov	DWORD PTR ?SetLadderPoints@@3PAXA, 4258960 ; SetLadderPoints, 0040fc90H

; 72   : 			SetRung = (void *)0x00410790;

	mov	DWORD PTR ?SetRung@@3PAXA, 4261776	; SetRung, 00410790H

; 73   : 			FindPlayer = (Find_Player)0x004157E0;

	mov	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA, 4282336 ; FindPlayer, 004157e0H

; 74   : 			SetPlayerType = (void *)0x0040D600;

	mov	DWORD PTR ?SetPlayerType@@3PAXA, 4249088 ; SetPlayerType, 0040d600H

; 75   : 			GetPlayerCount = (void *)0x00417040;

	mov	DWORD PTR ?GetPlayerCount@@3PAXA, 4288576 ; GetPlayerCount, 00417040H

; 76   : 			Get_Color_For_Team = (GetTeamColor)0x006D9280;

	mov	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA, 7180928 ; Get_Color_For_Team, 006d9280H

; 77   : 			Find_Team = (FindTeam)0x0041DA10;

	mov	DWORD PTR ?Find_Team@@3P6APADH@ZA, 4315664 ; Find_Team, 0041da10H

; 78   : 			TallyTeamSize = (tts)0x004170D0;

	mov	DWORD PTR ?TallyTeamSize@@3P6AHH@ZA, 4288720 ; TallyTeamSize, 004170d0H

; 79   : 			PlayerList = (SList<cPlayer *> *)0x0081C1C8;

	mov	DWORD PTR ?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A, 8503752 ; PlayerList, 0081c1c8H

; 115  : 			break;
; 116  : 	}
; 117  : }

	ret	0
$LN3@InitEngine:

; 80   : 			break;
; 81   : 		case 2: //RH73
; 82   : 			GetColor = (void *)0x080A74D4;

	mov	DWORD PTR ?GetColor@@3PAXA, 134902996	; GetColor, 080a74d4H

; 83   : 			SetLadderPoints = (void *)0x080A84B0;

	mov	DWORD PTR ?SetLadderPoints@@3PAXA, 134907056 ; SetLadderPoints, 080a84b0H

; 84   : 			SetRung = (void *)0x080A8560;

	mov	DWORD PTR ?SetRung@@3PAXA, 134907232	; SetRung, 080a8560H

; 85   : 			FindPlayer = (Find_Player)0x080A9CDC;

	mov	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA, 134913244 ; FindPlayer, 080a9cdcH

; 86   : 			SetPlayerType = (void *)0x080A7438;

	mov	DWORD PTR ?SetPlayerType@@3PAXA, 134902840 ; SetPlayerType, 080a7438H

; 87   : 			GetPlayerCount = (void *)0x080AA7F0;

	mov	DWORD PTR ?GetPlayerCount@@3PAXA, 134916080 ; GetPlayerCount, 080aa7f0H

; 88   : 			Get_Color_For_Team = (GetTeamColor)0x08102AA8;

	mov	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA, 135277224 ; Get_Color_For_Team, 08102aa8H

; 89   : 			Find_Team = (FindTeam)0x080BFBD4;

	mov	DWORD PTR ?Find_Team@@3P6APADH@ZA, 135003092 ; Find_Team, 080bfbd4H

; 90   : 			TallyTeamSize = (tts)0x080AA84C;

	mov	DWORD PTR ?TallyTeamSize@@3P6AHH@ZA, 134916172 ; TallyTeamSize, 080aa84cH

; 91   : 			PlayerList = (SList<cPlayer *> *)0x08B9B0C8;

	mov	DWORD PTR ?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A, 146387144 ; PlayerList, 08b9b0c8H

; 115  : 			break;
; 116  : 	}
; 117  : }

	ret	0
$LN2@InitEngine:

; 92   : 			break;
; 93   : 		case 3: //RH8
; 94   : 			GetColor = (void *)0x080A2EE6;

	mov	DWORD PTR ?GetColor@@3PAXA, 134885094	; GetColor, 080a2ee6H

; 95   : 			SetLadderPoints = (void *)0x080A3BEE;

	mov	DWORD PTR ?SetLadderPoints@@3PAXA, 134888430 ; SetLadderPoints, 080a3beeH

; 96   : 			SetRung = (void *)0x080A3C8E;

	mov	DWORD PTR ?SetRung@@3PAXA, 134888590	; SetRung, 080a3c8eH

; 97   : 			FindPlayer = (Find_Player)0x080A510A;

	mov	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA, 134893834 ; FindPlayer, 080a510aH

; 98   : 			SetPlayerType = (void *)0x080A2E50;

	mov	DWORD PTR ?SetPlayerType@@3PAXA, 134884944 ; SetPlayerType, 080a2e50H

; 99   : 			GetPlayerCount = (void *)0x080A5A62;

	mov	DWORD PTR ?GetPlayerCount@@3PAXA, 134896226 ; GetPlayerCount, 080a5a62H

; 100  : 			Get_Color_For_Team = (GetTeamColor)0x080F5EB8;

	mov	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA, 135225016 ; Get_Color_For_Team, 080f5eb8H

; 101  : 			Find_Team = (FindTeam)0x080B82C4;

	mov	DWORD PTR ?Find_Team@@3P6APADH@ZA, 134972100 ; Find_Team, 080b82c4H

; 102  : 			TallyTeamSize = (tts)0x080A5AB6;

	mov	DWORD PTR ?TallyTeamSize@@3P6AHH@ZA, 134896310 ; TallyTeamSize, 080a5ab6H

; 103  : 			PlayerList = (SList<cPlayer *> *)0x089A2200;

	mov	DWORD PTR ?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A, 144318976 ; PlayerList, 089a2200H

; 115  : 			break;
; 116  : 	}
; 117  : }

	ret	0
$LN1@InitEngine:

; 104  : 			break;
; 105  : 		default:
; 106  : 			GetColor = (void *)0;

	xor	eax, eax
	mov	DWORD PTR ?GetColor@@3PAXA, eax		; GetColor

; 107  : 			SetLadderPoints = (void *)0;

	mov	DWORD PTR ?SetLadderPoints@@3PAXA, eax	; SetLadderPoints

; 108  : 			SetRung = (void *)0;

	mov	DWORD PTR ?SetRung@@3PAXA, eax		; SetRung

; 109  : 			FindPlayer = (Find_Player)0;

	mov	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA, eax ; FindPlayer

; 110  : 			SetPlayerType = (void *)0;

	mov	DWORD PTR ?SetPlayerType@@3PAXA, eax	; SetPlayerType

; 111  : 			GetPlayerCount = (void *)0;

	mov	DWORD PTR ?GetPlayerCount@@3PAXA, eax	; GetPlayerCount

; 112  : 			Get_Color_For_Team = (GetTeamColor)0;

	mov	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA, eax ; Get_Color_For_Team

; 113  : 			Find_Team = (FindTeam)0;

	mov	DWORD PTR ?Find_Team@@3P6APADH@ZA, eax	; Find_Team

; 114  : 			TallyTeamSize = (tts)0;

	mov	DWORD PTR ?TallyTeamSize@@3P6AHH@ZA, eax ; TallyTeamSize

; 115  : 			break;
; 116  : 	}
; 117  : }

	ret	0
$LN10@InitEngine:
	DD	$LN5@InitEngine
	DD	$LN4@InitEngine
	DD	$LN3@InitEngine
	DD	$LN2@InitEngine
?InitEnginePlayer@@YAXI@Z ENDP				; InitEnginePlayer
_TEXT	ENDS
PUBLIC	??_C@_04OHJIHAFH@None?$AA@			; `string'
PUBLIC	??_C@_0BE@OIOKFBGE@?4?2engine_player?4cpp?$AA@	; `string'
PUBLIC	??_C@_0BA@EKCLLPEE@Get_Player_Name?$AA@		; `string'
PUBLIC	?Get_Player_Name@@YAPBDPAE@Z			; Get_Player_Name
EXTRN	?cpystr@@YAPADPBDPAD@Z:PROC			; cpystr
EXTRN	??_U@YAPAXI@Z:PROC				; operator new[]
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
EXTRN	?WideCharToChar@@YAPBDPB_W@Z:PROC		; WideCharToChar
EXTRN	?As_SoldierGameObj@@YAPAEPAE@Z:PROC		; As_SoldierGameObj
EXTRN	?Commands@@3PAUScriptCommands@@A:DWORD		; Commands
;	COMDAT ??_C@_04OHJIHAFH@None?$AA@
; File d:\source code\stgm\engine_string.h
CONST	SEGMENT
??_C@_04OHJIHAFH@None?$AA@ DB 'None', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@OIOKFBGE@?4?2engine_player?4cpp?$AA@
CONST	SEGMENT
??_C@_0BE@OIOKFBGE@?4?2engine_player?4cpp?$AA@ DB '.\engine_player.cpp', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@EKCLLPEE@Get_Player_Name?$AA@
CONST	SEGMENT
??_C@_0BA@EKCLLPEE@Get_Player_Name?$AA@ DB 'Get_Player_Name', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\engine_player.cpp
CONST	ENDS
;	COMDAT ?Get_Player_Name@@YAPBDPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Player_Name@@YAPBDPAE@Z PROC			; Get_Player_Name, COMDAT

; 121  : 	if (!Commands->Get_ID(obj) || !obj)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	esi
	mov	esi, DWORD PTR _obj$[esp]
	push	esi
	call	ecx
	add	esp, 4
	test	eax, eax
	je	SHORT $LN3@Get_Player
	test	esi, esi
	je	SHORT $LN3@Get_Player

; 124  : 	}
; 125  : 	GameObject *o = As_SoldierGameObj(obj);

	push	esi
	call	?As_SoldierGameObj@@YAPAEPAE@Z		; As_SoldierGameObj
	add	esp, 4

; 126  : 	char *c = (char *)o;
; 127  : 	if (!o)

	test	eax, eax
	jne	SHORT $LN2@Get_Player

; 128  : 	{
; 129  : 		return newstr("None");

	push	OFFSET ??_C@_0BA@EKCLLPEE@Get_Player_Name?$AA@
	push	129					; 00000081H
	jmp	SHORT $LN17@Get_Player
$LN2@Get_Player:

; 130  : 	}
; 131  : 	c += 0x960;
; 132  : 	cPlayer *x = (cPlayer *)*(unsigned int *)c;

	mov	eax, DWORD PTR [eax+2400]

; 133  : 	if (!x)

	test	eax, eax
	jne	SHORT $LN1@Get_Player

; 134  : 	{
; 135  : 		return newstr("None");

	push	OFFSET ??_C@_0BA@EKCLLPEE@Get_Player_Name?$AA@
	push	135					; 00000087H
	jmp	SHORT $LN17@Get_Player
$LN1@Get_Player:

; 136  : 	}
; 137  : 	return WideCharToChar(x->PlayerName);

	mov	eax, DWORD PTR [eax+1880]
	pop	esi
	mov	DWORD PTR _obj$[esp-4], eax
	jmp	?WideCharToChar@@YAPBDPB_W@Z		; WideCharToChar
$LN3@Get_Player:

; 122  : 	{
; 123  : 		return newstr("None");

	push	OFFSET ??_C@_0BA@EKCLLPEE@Get_Player_Name?$AA@
	push	123					; 0000007bH
$LN17@Get_Player:
	push	OFFSET ??_C@_0BE@OIOKFBGE@?4?2engine_player?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	5
	call	??_U@YAPAXI@Z				; operator new[]
	push	eax
	push	OFFSET ??_C@_04OHJIHAFH@None?$AA@
	call	?cpystr@@YAPADPBDPAD@Z			; cpystr
	add	esp, 24					; 00000018H
	pop	esi

; 138  : }

	ret	0
?Get_Player_Name@@YAPBDPAE@Z ENDP			; Get_Player_Name
_TEXT	ENDS
PUBLIC	?Get_Player_Name_By_ID@@YAPBDH@Z		; Get_Player_Name_By_ID
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Player_Name_By_ID@@YAPBDH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?Get_Player_Name_By_ID@@YAPBDH@Z PROC			; Get_Player_Name_By_ID, COMDAT

; 142  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 143  : 	if (!x)

	test	eax, eax
	jne	SHORT $LN1@Get_Player@2

; 148  : }

	ret	0
$LN1@Get_Player@2:

; 144  : 	{
; 145  : 		return 0;
; 146  : 	}
; 147  : 	return WideCharToChar(x->PlayerName);

	mov	eax, DWORD PTR [eax+1880]
	mov	DWORD PTR _PlayerID$[esp-4], eax
	jmp	?WideCharToChar@@YAPBDPB_W@Z		; WideCharToChar
?Get_Player_Name_By_ID@@YAPBDH@Z ENDP			; Get_Player_Name_By_ID
_TEXT	ENDS
PUBLIC	?Change_Team@@YAXPAEH@Z				; Change_Team
; Function compile flags: /Ogtpy
;	COMDAT ?Change_Team@@YAXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_Team$ = 12						; size = 4
?Change_Team@@YAXPAEH@Z PROC				; Change_Team, COMDAT

; 164  : 	if (!Commands->Get_ID(obj) || !obj)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	esi
	mov	esi, DWORD PTR _obj$[esp]
	push	esi
	call	ecx
	add	esp, 4
	test	eax, eax
	je	SHORT $LN3@Change_Tea
	test	esi, esi
	je	SHORT $LN3@Change_Tea

; 165  : 	{
; 166  : 		return;
; 167  : 	}
; 168  : 	GameObject *o = As_SoldierGameObj(obj);

	push	esi
	call	?As_SoldierGameObj@@YAPAEPAE@Z		; As_SoldierGameObj
	add	esp, 4

; 169  : 	if (!o)

	test	eax, eax
	je	SHORT $LN3@Change_Tea

; 170  : 	{
; 171  : 		return;
; 172  : 	}
; 173  : 	char *c = (char *)o;
; 174  : 	c += 0x960;
; 175  : 	cPlayer *x = (cPlayer *)*(unsigned int *)c;

	mov	eax, DWORD PTR [eax+2400]

; 176  : 	if (!x)

	test	eax, eax
	je	SHORT $LN3@Change_Tea

; 177  : 	{
; 178  : 		return;
; 179  : 	}
; 180  : 	x->Set_Player_Type(Team);

	mov	edx, DWORD PTR _Team$[esp]
	push	edx
	mov	ecx, eax
	call	?Set_Player_Type@cPlayer@@QAEXH@Z	; cPlayer::Set_Player_Type

; 181  : 	Commands->Destroy_Object(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+92]
	push	esi
	call	ecx
	add	esp, 4
$LN3@Change_Tea:
	pop	esi

; 182  : }

	ret	0
?Change_Team@@YAXPAEH@Z ENDP				; Change_Team
_TEXT	ENDS
PUBLIC	?Change_Team_2@@YAXPAEH@Z			; Change_Team_2
; Function compile flags: /Ogtpy
;	COMDAT ?Change_Team_2@@YAXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_Team$ = 12						; size = 4
?Change_Team_2@@YAXPAEH@Z PROC				; Change_Team_2, COMDAT

; 186  : 	if (!Commands->Get_ID(obj) || !obj)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	esi
	mov	esi, DWORD PTR _obj$[esp]
	push	esi
	call	ecx
	add	esp, 4
	test	eax, eax
	je	SHORT $LN3@Change_Tea@2
	test	esi, esi
	je	SHORT $LN3@Change_Tea@2

; 187  : 	{
; 188  : 		return;
; 189  : 	}
; 190  : 	GameObject *o = As_SoldierGameObj(obj);

	push	esi
	call	?As_SoldierGameObj@@YAPAEPAE@Z		; As_SoldierGameObj
	add	esp, 4

; 191  : 	if (!o)

	test	eax, eax
	je	SHORT $LN3@Change_Tea@2

; 192  : 	{
; 193  : 		return;
; 194  : 	}
; 195  : 	char *c = (char *)o;
; 196  : 	c += 0x960;
; 197  : 	cPlayer *x = (cPlayer *)*(unsigned int *)c;

	mov	eax, DWORD PTR [eax+2400]

; 198  : 	if (!x)

	test	eax, eax
	je	SHORT $LN3@Change_Tea@2

; 199  : 	{
; 200  : 		return;
; 201  : 	}
; 202  : 	x->Set_Player_Type(Team);

	mov	edx, DWORD PTR _Team$[esp]
	push	edx
	mov	ecx, eax
	call	?Set_Player_Type@cPlayer@@QAEXH@Z	; cPlayer::Set_Player_Type
$LN3@Change_Tea@2:
	pop	esi

; 203  : }

	ret	0
?Change_Team_2@@YAXPAEH@Z ENDP				; Change_Team_2
_TEXT	ENDS
PUBLIC	?Get_Player_ID@@YAJPAE@Z			; Get_Player_ID
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Player_ID@@YAJPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Player_ID@@YAJPAE@Z PROC				; Get_Player_ID, COMDAT

; 207  : 	if (!Commands->Get_ID(obj) || !obj)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	esi
	mov	esi, DWORD PTR _obj$[esp]
	push	esi
	call	ecx
	add	esp, 4
	test	eax, eax
	je	SHORT $LN3@Get_Player@3
	test	esi, esi
	je	SHORT $LN3@Get_Player@3

; 210  : 	}
; 211  : 	GameObject *o = As_SoldierGameObj(obj);

	push	esi
	call	?As_SoldierGameObj@@YAPAEPAE@Z		; As_SoldierGameObj
	add	esp, 4

; 212  : 	if (!o)

	test	eax, eax

; 213  : 	{
; 214  : 		return -1;

	je	SHORT $LN3@Get_Player@3

; 215  : 	}
; 216  : 	char *c = (char *)o;
; 217  : 	c += 0x960;
; 218  : 	cPlayer *x = (cPlayer *)*(unsigned int *)c;

	mov	eax, DWORD PTR [eax+2400]

; 219  : 	if (!x)

	test	eax, eax

; 220  : 	{
; 221  : 		return -1;

	je	SHORT $LN3@Get_Player@3

; 222  : 	}
; 223  : 	return x->PlayerId;

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

; 224  : }

	ret	0
$LN3@Get_Player@3:

; 208  : 	{
; 209  : 		return -1;

	or	eax, -1
	pop	esi

; 224  : }

	ret	0
?Get_Player_ID@@YAJPAE@Z ENDP				; Get_Player_ID
_TEXT	ENDS
PUBLIC	?Get_GameObj@@YAPAEH@Z				; Get_GameObj
; Function compile flags: /Ogtpy
;	COMDAT ?Get_GameObj@@YAPAEH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?Get_GameObj@@YAPAEH@Z PROC				; Get_GameObj, COMDAT

; 228  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 229  : 	if ((x) && (x->Owner.Reference))

	test	eax, eax
	je	SHORT $LN1@Get_GameOb
	mov	eax, DWORD PTR [eax+20]
	test	eax, eax
	je	SHORT $LN1@Get_GameOb

; 230  : 	{
; 231  : 		return (GameObject *)x->Owner.Reference->obj;

	mov	eax, DWORD PTR [eax+4]

; 234  : }

	ret	0
$LN1@Get_GameOb:

; 232  : 	}
; 233  : 	return 0;

	xor	eax, eax

; 234  : }

	ret	0
?Get_GameObj@@YAPAEH@Z ENDP				; Get_GameObj
_TEXT	ENDS
PUBLIC	?Get_Team@@YAHH@Z				; Get_Team
EXTRN	?Get@IntDataSafeClass@@QAEHXZ:PROC		; IntDataSafeClass::Get
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Team@@YAHH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?Get_Team@@YAHH@Z PROC					; Get_Team, COMDAT

; 238  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 239  : 	if (!x)

	test	eax, eax
	jne	SHORT $LN1@Get_Team

; 244  : }

	ret	0
$LN1@Get_Team:

; 240  : 	{
; 241  : 		return 0;
; 242  : 	}
; 243  : 	return x->PlayerType.Get();

	lea	ecx, DWORD PTR [eax+1900]
	jmp	?Get@IntDataSafeClass@@QAEHXZ		; IntDataSafeClass::Get
?Get_Team@@YAHH@Z ENDP					; Get_Team
_TEXT	ENDS
PUBLIC	?Get_Rank@@YAHH@Z				; Get_Rank
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Rank@@YAHH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?Get_Rank@@YAHH@Z PROC					; Get_Rank, COMDAT

; 248  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 249  : 	if (!x)

	test	eax, eax
	jne	SHORT $LN1@Get_Rank

; 254  : }

	ret	0
$LN1@Get_Rank:

; 250  : 	{
; 251  : 		return 0;
; 252  : 	}
; 253  : 	return x->Rung.Get();

	lea	ecx, DWORD PTR [eax+1904]
	jmp	?Get@IntDataSafeClass@@QAEHXZ		; IntDataSafeClass::Get
?Get_Rank@@YAHH@Z ENDP					; Get_Rank
_TEXT	ENDS
PUBLIC	?Get_Kills@@YAHH@Z				; Get_Kills
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Kills@@YAHH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?Get_Kills@@YAHH@Z PROC					; Get_Kills, COMDAT

; 258  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 259  : 	if (!x)

	test	eax, eax
	jne	SHORT $LN1@Get_Kills

; 264  : }

	ret	0
$LN1@Get_Kills:

; 260  : 	{
; 261  : 		return 0;
; 262  : 	}
; 263  : 	return x->Kills.Get();

	lea	ecx, DWORD PTR [eax+1892]
	jmp	?Get@IntDataSafeClass@@QAEHXZ		; IntDataSafeClass::Get
?Get_Kills@@YAHH@Z ENDP					; Get_Kills
_TEXT	ENDS
PUBLIC	?Get_Deaths@@YAHH@Z				; Get_Deaths
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Deaths@@YAHH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?Get_Deaths@@YAHH@Z PROC				; Get_Deaths, COMDAT

; 268  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 269  : 	if (!x)

	test	eax, eax
	jne	SHORT $LN1@Get_Deaths

; 274  : }

	ret	0
$LN1@Get_Deaths:

; 270  : 	{
; 271  : 		return 0;
; 272  : 	}
; 273  : 	return x->Deaths.Get();

	lea	ecx, DWORD PTR [eax+1896]
	jmp	?Get@IntDataSafeClass@@QAEHXZ		; IntDataSafeClass::Get
?Get_Deaths@@YAHH@Z ENDP				; Get_Deaths
_TEXT	ENDS
PUBLIC	__real@00000000
PUBLIC	?Get_Score@@YAMH@Z				; Get_Score
EXTRN	?Get@FloatDataSafeClass@@QAEMXZ:PROC		; FloatDataSafeClass::Get
EXTRN	__fltused:DWORD
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Score@@YAMH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?Get_Score@@YAMH@Z PROC					; Get_Score, COMDAT

; 278  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 279  : 	if (!x)

	test	eax, eax
	jne	SHORT $LN1@Get_Score

; 280  : 	{
; 281  : 		return 0;

	fldz

; 284  : }

	ret	0
$LN1@Get_Score:

; 282  : 	}
; 283  : 	return x->Score.Get();

	lea	ecx, DWORD PTR [eax+4]
	jmp	?Get@FloatDataSafeClass@@QAEMXZ		; FloatDataSafeClass::Get
?Get_Score@@YAMH@Z ENDP					; Get_Score
_TEXT	ENDS
PUBLIC	?Get_Money@@YAMH@Z				; Get_Money
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Money@@YAMH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?Get_Money@@YAMH@Z PROC					; Get_Money, COMDAT

; 288  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 289  : 	if (!x)

	test	eax, eax
	jne	SHORT $LN1@Get_Money

; 290  : 	{
; 291  : 		return 0;

	fldz

; 294  : }

	ret	0
$LN1@Get_Money:

; 292  : 	}
; 293  : 	return x->Money.Get();

	lea	ecx, DWORD PTR [eax+8]
	jmp	?Get@FloatDataSafeClass@@QAEMXZ		; FloatDataSafeClass::Get
?Get_Money@@YAMH@Z ENDP					; Get_Money
_TEXT	ENDS
PUBLIC	__real@bf800000
PUBLIC	?Get_Kill_To_Death_Ratio@@YAMH@Z		; Get_Kill_To_Death_Ratio
;	COMDAT __real@bf800000
CONST	SEGMENT
__real@bf800000 DD 0bf800000r			; -1
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Kill_To_Death_Ratio@@YAMH@Z
_TEXT	SEGMENT
_kills$ = -8						; size = 4
_deaths$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Get_Kill_To_Death_Ratio@@YAMH@Z PROC			; Get_Kill_To_Death_Ratio, COMDAT

; 297  : {

	sub	esp, 8
	push	esi

; 298  : 	int kills = Get_Kills(PlayerID);

	mov	esi, DWORD PTR _PlayerID$[esp+8]
	push	esi
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4
	test	eax, eax
	jne	SHORT $LN4@Get_Kill_T
	mov	DWORD PTR _kills$[esp+12], eax
	jmp	SHORT $LN5@Get_Kill_T
$LN4@Get_Kill_T:
	lea	ecx, DWORD PTR [eax+1892]
	call	?Get@IntDataSafeClass@@QAEHXZ		; IntDataSafeClass::Get
	mov	DWORD PTR _kills$[esp+12], eax
$LN5@Get_Kill_T:

; 299  : 	int deaths = Get_Deaths(PlayerID);

	push	esi
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4
	test	eax, eax
	pop	esi
	je	SHORT $LN10@Get_Kill_T
	lea	ecx, DWORD PTR [eax+1896]
	call	?Get@IntDataSafeClass@@QAEHXZ		; IntDataSafeClass::Get

; 300  : 	if (deaths <= 0)

	test	eax, eax
	mov	DWORD PTR _deaths$[esp+8], eax
	jg	SHORT $LN1@Get_Kill_T
$LN10@Get_Kill_T:

; 301  : 	{
; 302  : 		return -1.0;

	fld	DWORD PTR __real@bf800000

; 305  : }

	add	esp, 8
	ret	0
$LN1@Get_Kill_T:

; 303  : 	}
; 304  : 	return (float)kills/(float)deaths;

	fild	DWORD PTR _kills$[esp+8]
	fidiv	DWORD PTR _deaths$[esp+8]

; 305  : }

	add	esp, 8
	ret	0
?Get_Kill_To_Death_Ratio@@YAMH@Z ENDP			; Get_Kill_To_Death_Ratio
_TEXT	ENDS
PUBLIC	__real@437f0000
PUBLIC	?Get_Player_Color@@YAXHPAI00@Z			; Get_Player_Color
EXTRN	??0Vector3@@QAE@MMM@Z:PROC			; Vector3::Vector3
;	COMDAT __real@437f0000
CONST	SEGMENT
__real@437f0000 DD 0437f0000r			; 255
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Player_Color@@YAXHPAI00@Z
_TEXT	SEGMENT
tv160 = -26						; size = 2
tv88 = -26						; size = 2
tv74 = -26						; size = 2
tv165 = -24						; size = 8
tv163 = -24						; size = 4
tv93 = -24						; size = 8
tv91 = -24						; size = 4
tv85 = -24						; size = 4
tv79 = -24						; size = 8
$T59117 = -24						; size = 12
_v$ = -12						; size = 12
_PlayerID$ = 8						; size = 4
_red$ = 12						; size = 4
_green$ = 16						; size = 4
_blue$ = 20						; size = 4
?Get_Player_Color@@YAXHPAI00@Z PROC			; Get_Player_Color, COMDAT

; 309  : 	Vector3 v;

	fldz
	sub	esp, 28					; 0000001cH
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	fst	DWORD PTR [esp+4]
	lea	ecx, DWORD PTR _v$[esp+40]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 310  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp+24]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 311  : 	if (!x)

	test	eax, eax
	je	$LN2@Get_Player@4

; 312  : 	{
; 313  : 		return;
; 314  : 	}
; 315  : 	v = x->Get_Color();

	lea	ecx, DWORD PTR $T59117[esp+28]
	push	ecx
	mov	ecx, eax
	call	?Get_Color@cPlayer@@QAE?AUVector3@@XZ	; cPlayer::Get_Color

; 316  : 	*red = (unsigned int)(v.X*255);

	fnstcw	WORD PTR tv74[esp+28]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+28], edx
	fld	DWORD PTR _v$[esp+28]
	mov	ecx, DWORD PTR [eax+4]
	fld	DWORD PTR __real@437f0000
	mov	DWORD PTR _v$[esp+32], ecx
	fmul	ST(1), ST(0)
	mov	edx, DWORD PTR [eax+8]
	fxch	ST(1)
	movzx	eax, WORD PTR tv74[esp+28]
	mov	ecx, DWORD PTR _red$[esp+24]
	or	eax, 3072				; 00000c00H
	mov	DWORD PTR tv85[esp+28], eax
	mov	DWORD PTR _v$[esp+36], edx
	fldcw	WORD PTR tv85[esp+28]
	fistp	QWORD PTR tv79[esp+28]
	mov	eax, DWORD PTR tv79[esp+28]
	mov	DWORD PTR [ecx], eax
	fldcw	WORD PTR tv74[esp+28]

; 317  : 	*green = (unsigned int)(v.Y*255);

	fld	DWORD PTR _v$[esp+32]
	fnstcw	WORD PTR tv88[esp+28]
	fmul	ST(0), ST(1)
	movzx	eax, WORD PTR tv88[esp+28]
	or	eax, 3072				; 00000c00H
	mov	DWORD PTR tv91[esp+28], eax
	mov	eax, DWORD PTR _green$[esp+24]
	fldcw	WORD PTR tv91[esp+28]
	fistp	QWORD PTR tv93[esp+28]
	mov	edx, DWORD PTR tv93[esp+28]
	mov	DWORD PTR [eax], edx

; 318  : 	*blue = (unsigned int)(v.Z*255);

	mov	edx, DWORD PTR _blue$[esp+24]
	fldcw	WORD PTR tv88[esp+28]
	fmul	DWORD PTR _v$[esp+36]
	fnstcw	WORD PTR tv160[esp+28]
	movzx	eax, WORD PTR tv160[esp+28]
	or	eax, 3072				; 00000c00H
	mov	DWORD PTR tv163[esp+28], eax
	fldcw	WORD PTR tv163[esp+28]
	fistp	QWORD PTR tv165[esp+28]
	mov	ecx, DWORD PTR tv165[esp+28]
	mov	DWORD PTR [edx], ecx
	fldcw	WORD PTR tv160[esp+28]
$LN2@Get_Player@4:

; 319  : }

	add	esp, 28					; 0000001cH
	ret	0
?Get_Player_Color@@YAXHPAI00@Z ENDP			; Get_Player_Color
_TEXT	ENDS
PUBLIC	?Purchase_Item@@YA_NPAEH@Z			; Purchase_Item
; Function compile flags: /Ogtpy
;	COMDAT ?Purchase_Item@@YA_NPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_cost$ = 12						; size = 4
?Purchase_Item@@YA_NPAEH@Z PROC				; Purchase_Item, COMDAT

; 323  : 	if (!Commands->Get_ID(obj) || !obj)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	esi
	mov	esi, DWORD PTR _obj$[esp]
	push	esi
	call	ecx
	add	esp, 4
	test	eax, eax
	je	SHORT $LN2@Purchase_I
	test	esi, esi
	je	SHORT $LN2@Purchase_I

; 326  : 	}
; 327  : 	GameObject *o = As_SoldierGameObj(obj);

	push	esi
	call	?As_SoldierGameObj@@YAPAEPAE@Z		; As_SoldierGameObj
	add	esp, 4

; 328  : 	char *c = (char *)o;
; 329  : 	if (!o)

	test	eax, eax

; 330  : 	{
; 331  : 		return false;

	je	SHORT $LN2@Purchase_I

; 332  : 	}
; 333  : 	c += 0x960;
; 334  : 	cPlayer *x = (cPlayer *)*(unsigned int *)c;

	mov	eax, DWORD PTR [eax+2400]

; 335  : 	return x->Purchase_Item(cost);

	mov	ecx, DWORD PTR _cost$[esp]
	mov	edx, DWORD PTR [eax]
	mov	edx, DWORD PTR [edx+20]
	push	ecx
	mov	ecx, eax
	call	edx
	pop	esi

; 336  : }

	ret	0
$LN2@Purchase_I:

; 324  : 	{
; 325  : 		return false;

	xor	al, al
	pop	esi

; 336  : }

	ret	0
?Purchase_Item@@YA_NPAEH@Z ENDP				; Purchase_Item
_TEXT	ENDS
PUBLIC	?Set_Money@@YAXHM@Z				; Set_Money
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Money@@YAXHM@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
_amount$ = 12						; size = 4
?Set_Money@@YAXHM@Z PROC				; Set_Money, COMDAT

; 340  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 341  : 	if (!x)

	test	eax, eax
	je	SHORT $LN2@Set_Money

; 342  : 	{
; 343  : 		return;
; 344  : 	}
; 345  : 	x->Set_Money(amount);

	mov	edx, DWORD PTR [eax]
	fld	DWORD PTR _amount$[esp-4]
	push	ecx
	mov	ecx, eax
	fstp	DWORD PTR [esp]
	mov	eax, DWORD PTR [edx+12]
	call	eax
$LN2@Set_Money:

; 346  : }

	ret	0
?Set_Money@@YAXHM@Z ENDP				; Set_Money
_TEXT	ENDS
PUBLIC	?Set_Score@@YAXHM@Z				; Set_Score
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Score@@YAXHM@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
_amount$ = 12						; size = 4
?Set_Score@@YAXHM@Z PROC				; Set_Score, COMDAT

; 350  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 351  : 	if (!x)

	test	eax, eax
	je	SHORT $LN2@Set_Score

; 352  : 	{
; 353  : 		return;
; 354  : 	}
; 355  : 	x->Set_Score(amount);

	mov	edx, DWORD PTR [eax]
	fld	DWORD PTR _amount$[esp-4]
	push	ecx
	mov	ecx, eax
	fstp	DWORD PTR [esp]
	mov	eax, DWORD PTR [edx+4]
	call	eax
$LN2@Set_Score:

; 356  : }

	ret	0
?Set_Score@@YAXHM@Z ENDP				; Set_Score
_TEXT	ENDS
PUBLIC	?Set_Ladder_Points@@YAXHH@Z			; Set_Ladder_Points
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Ladder_Points@@YAXHH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
_amount$ = 12						; size = 4
?Set_Ladder_Points@@YAXHH@Z PROC			; Set_Ladder_Points, COMDAT

; 360  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 361  : 	if (!x)

	test	eax, eax
	je	SHORT $LN2@Set_Ladder

; 362  : 	{
; 363  : 		return;
; 364  : 	}
; 365  : 	x->Set_Ladder_Points(amount);

	mov	ecx, DWORD PTR _amount$[esp-4]
	push	ecx
	mov	ecx, eax
	call	?Set_Ladder_Points@cPlayer@@QAEXH@Z	; cPlayer::Set_Ladder_Points
$LN2@Set_Ladder:

; 366  : }

	ret	0
?Set_Ladder_Points@@YAXHH@Z ENDP			; Set_Ladder_Points
_TEXT	ENDS
PUBLIC	?Set_Rung@@YAXHH@Z				; Set_Rung
; Function compile flags: /Ogtpy
;	COMDAT ?Set_Rung@@YAXHH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
_amount$ = 12						; size = 4
?Set_Rung@@YAXHH@Z PROC					; Set_Rung, COMDAT

; 370  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[esp-4]
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 371  : 	if (!x)

	test	eax, eax
	je	SHORT $LN2@Set_Rung

; 372  : 	{
; 373  : 		return;
; 374  : 	}
; 375  : 	x->Set_Rung(amount);

	mov	ecx, DWORD PTR _amount$[esp-4]
	push	ecx
	mov	ecx, eax
	call	?Set_Rung@cPlayer@@QAEXH@Z		; cPlayer::Set_Rung
$LN2@Set_Rung:

; 376  : }

	ret	0
?Set_Rung@@YAXHH@Z ENDP					; Set_Rung
_TEXT	ENDS
PUBLIC	?Tally_Team_Size@@YAHH@Z			; Tally_Team_Size
; Function compile flags: /Ogtpy
;	COMDAT ?Tally_Team_Size@@YAHH@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Tally_Team_Size@@YAHH@Z PROC				; Tally_Team_Size, COMDAT

; 380  : 	return TallyTeamSize(team);

	jmp	DWORD PTR ?TallyTeamSize@@3P6AHH@ZA	; TallyTeamSize
?Tally_Team_Size@@YAHH@Z ENDP				; Tally_Team_Size
_TEXT	ENDS
PUBLIC	?Get_Team_Score@@YAMH@Z				; Get_Team_Score
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Team_Score@@YAMH@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Get_Team_Score@@YAMH@Z PROC				; Get_Team_Score, COMDAT

; 385  : 	char *teamdata = Find_Team(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	DWORD PTR ?Find_Team@@3P6APADH@ZA	; Find_Team

; 386  : 	teamdata += 0x6C0;
; 387  : 	return *((float *)teamdata);

	fld	DWORD PTR [eax+1728]
	add	eax, 1728				; 000006c0H
	add	esp, 4

; 388  : }

	ret	0
?Get_Team_Score@@YAMH@Z ENDP				; Get_Team_Score
_TEXT	ENDS
PUBLIC	?Get_Team_Color@@YAXIPAI00@Z			; Get_Team_Color
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Team_Color@@YAXIPAI00@Z
_TEXT	SEGMENT
tv131 = -22						; size = 2
tv128 = -20						; size = 4
tv93 = -20						; size = 8
tv85 = -20						; size = 8
tv83 = -20						; size = 4
tv81 = -20						; size = 8
_v$ = -12						; size = 12
_team$ = 8						; size = 4
tv88 = 12						; size = 2
tv74 = 12						; size = 2
_red$ = 12						; size = 4
tv91 = 16						; size = 4
_green$ = 16						; size = 4
_blue$ = 20						; size = 4
?Get_Team_Color@@YAXIPAI00@Z PROC			; Get_Team_Color, COMDAT

; 391  : {

	sub	esp, 24					; 00000018H

; 392  : 	Vector3 v;

	fldz
	sub	esp, 12					; 0000000cH
	fst	DWORD PTR [esp+8]
	lea	ecx, DWORD PTR _v$[esp+36]
	fst	DWORD PTR [esp+4]
	fstp	DWORD PTR [esp]
	call	??0Vector3@@QAE@MMM@Z			; Vector3::Vector3

; 393  : 	Get_Color_For_Team(&v,team);

	mov	eax, DWORD PTR _team$[esp+20]
	push	eax
	lea	ecx, DWORD PTR _v$[esp+28]
	push	ecx
	call	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA ; Get_Color_For_Team

; 394  : 	*red = (unsigned int)(v.X*255);

	fld	DWORD PTR _v$[esp+32]
	fld	DWORD PTR __real@437f0000
	fnstcw	WORD PTR tv131[esp+32]
	movzx	eax, WORD PTR tv131[esp+32]
	fmul	ST(1), ST(0)
	or	eax, 3072				; 00000c00H
	fxch	ST(1)
	mov	DWORD PTR tv128[esp+32], eax
	mov	eax, DWORD PTR _red$[esp+28]
	fldcw	WORD PTR tv128[esp+32]
	fistp	QWORD PTR tv81[esp+32]
	mov	edx, DWORD PTR tv81[esp+32]
	mov	DWORD PTR [eax], edx

; 395  : 	*green = (unsigned int)(v.Y*255);

	mov	edx, DWORD PTR _green$[esp+28]
	fldcw	WORD PTR tv131[esp+32]
	fld	DWORD PTR _v$[esp+36]
	fnstcw	WORD PTR tv74[esp+28]
	fmul	ST(0), ST(1)
	movzx	eax, WORD PTR tv74[esp+28]
	or	eax, 3072				; 00000c00H
	mov	DWORD PTR tv83[esp+32], eax
	fldcw	WORD PTR tv83[esp+32]
	fistp	QWORD PTR tv85[esp+32]
	mov	ecx, DWORD PTR tv85[esp+32]
	mov	DWORD PTR [edx], ecx

; 396  : 	*blue = (unsigned int)(v.Z*255);

	mov	ecx, DWORD PTR _blue$[esp+28]
	fldcw	WORD PTR tv74[esp+28]
	fmul	DWORD PTR _v$[esp+40]
	fnstcw	WORD PTR tv88[esp+28]
	movzx	eax, WORD PTR tv88[esp+28]
	or	eax, 3072				; 00000c00H
	mov	DWORD PTR tv91[esp+28], eax
	fldcw	WORD PTR tv91[esp+28]
	fistp	QWORD PTR tv93[esp+32]
	mov	eax, DWORD PTR tv93[esp+32]
	mov	DWORD PTR [ecx], eax
	fldcw	WORD PTR tv88[esp+28]

; 397  : }

	add	esp, 32					; 00000020H
	ret	0
?Get_Team_Color@@YAXIPAI00@Z ENDP			; Get_Team_Color
_TEXT	ENDS
PUBLIC	??_C@_0BL@CNKGLJFF@Get_GameObj_By_Player_Name?$AA@ ; `string'
PUBLIC	?Get_GameObj_By_Player_Name@@YAPAEPBD@Z		; Get_GameObj_By_Player_Name
EXTRN	??_V@YAXPAX@Z:PROC				; operator delete[]
EXTRN	__stricmp:PROC
;	COMDAT ??_C@_0BL@CNKGLJFF@Get_GameObj_By_Player_Name?$AA@
; File d:\source code\stgm\engine_string.h
CONST	SEGMENT
??_C@_0BL@CNKGLJFF@Get_GameObj_By_Player_Name?$AA@ DB 'Get_GameObj_By_Pla'
	DB	'yer_Name', 00H				; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\engine_player.cpp
CONST	ENDS
;	COMDAT ?Get_GameObj_By_Player_Name@@YAPAEPBD@Z
_TEXT	SEGMENT
_name$ = 8						; size = 4
?Get_GameObj_By_Player_Name@@YAPAEPBD@Z PROC		; Get_GameObj_By_Player_Name, COMDAT

; 401  : 	for (GenericSLNode* PlayerIter = PlayerList->HeadNode; (PlayerIter != NULL); PlayerIter = PlayerIter->NodeNext)

	mov	eax, DWORD PTR ?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A ; PlayerList
	push	ebx
	mov	ebx, DWORD PTR [eax+4]
	test	ebx, ebx
	push	ebp
	push	esi
	push	edi
	je	SHORT $LN3@Get_GameOb@2
	mov	ebp, DWORD PTR _name$[esp+12]
$LL5@Get_GameOb@2:

; 402  : 	{
; 403  : 		cPlayer *p = (cPlayer *)PlayerIter->NodeData;

	mov	edi, DWORD PTR [ebx+4]

; 404  : 		if (!p->IsActive)

	cmp	BYTE PTR [edi+1981], 0
	je	SHORT $LN4@Get_GameOb@2

; 405  : 		{
; 406  : 			continue;
; 407  : 		}
; 408  : 		const char *c = WideCharToChar(p->PlayerName.Peek_Buffer());

	mov	eax, DWORD PTR [edi+1880]
	push	eax
	call	?WideCharToChar@@YAPBDPB_W@Z		; WideCharToChar
	mov	esi, eax

; 409  : 		if (!_stricmp(c,name))

	push	ebp
	push	esi
	call	__stricmp
	add	esp, 12					; 0000000cH
	test	eax, eax

; 413  : 		}
; 414  : 		delete[] c;

	push	OFFSET ??_C@_0BL@CNKGLJFF@Get_GameObj_By_Player_Name?$AA@
	je	SHORT $LN15@Get_GameOb@2
	push	414					; 0000019eH
	push	OFFSET ??_C@_0BE@OIOKFBGE@?4?2engine_player?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN4@Get_GameOb@2:
	mov	ebx, DWORD PTR [ebx]
	test	ebx, ebx
	jne	SHORT $LL5@Get_GameOb@2
$LN3@Get_GameOb@2:
	pop	edi
	pop	esi
	pop	ebp

; 415  : 	}
; 416  : 	return 0;

	xor	eax, eax
	pop	ebx

; 417  : }

	ret	0
$LN15@Get_GameOb@2:

; 410  : 		{
; 411  : 			delete[] c;

	push	411					; 0000019bH
	push	OFFSET ??_C@_0BE@OIOKFBGE@?4?2engine_player?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??_V@YAXPAX@Z				; operator delete[]

; 412  : 			return (GameObject *)p->Owner.Reference->obj;

	mov	ecx, DWORD PTR [edi+20]
	mov	eax, DWORD PTR [ecx+4]
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 417  : }

	ret	0
?Get_GameObj_By_Player_Name@@YAPAEPBD@Z ENDP		; Get_GameObj_By_Player_Name
_TEXT	ENDS
PUBLIC	?Find_First_Player@@YAPAEH@Z			; Find_First_Player
EXTRN	?Get_Object_Type@@YAHPAE@Z:PROC			; Get_Object_Type
EXTRN	?As_ScriptableGameObj@@YAPAEPAE@Z:PROC		; As_ScriptableGameObj
EXTRN	?BaseGameObjList@@3PAV?$SList@E@@A:DWORD	; BaseGameObjList
; Function compile flags: /Ogtpy
;	COMDAT ?Find_First_Player@@YAPAEH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Find_First_Player@@YAPAEH@Z PROC			; Find_First_Player, COMDAT

; 421  : 	GenericSLNode *x = BaseGameObjList->HeadNode;

	mov	eax, DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A ; BaseGameObjList
	push	ebx
	push	esi
	push	edi
	mov	edi, DWORD PTR [eax+4]

; 422  : 	while (x)

	test	edi, edi
	je	SHORT $LN5@Find_First
	mov	ebx, DWORD PTR _Team$[esp+8]
$LL6@Find_First:

; 423  : 	{
; 424  : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 425  : 		if (o && As_ScriptableGameObj(o) && As_SoldierGameObj(o))

	test	esi, esi
	je	SHORT $LN2@Find_First
	push	esi
	call	?As_ScriptableGameObj@@YAPAEPAE@Z	; As_ScriptableGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN2@Find_First
	push	esi
	call	?As_SoldierGameObj@@YAPAEPAE@Z		; As_SoldierGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN2@Find_First

; 426  : 		{
; 427  : 			if (Commands->Is_A_Star(o))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+280]
	push	esi
	call	edx
	add	esp, 4
	test	al, al
	je	SHORT $LN2@Find_First

; 428  : 			{
; 429  : 				if ((Get_Object_Type(o) == Team) || (Team == 2))

	push	esi
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	add	esp, 4
	cmp	eax, ebx
	je	SHORT $LN1@Find_First
	cmp	ebx, 2
	je	SHORT $LN1@Find_First
$LN2@Find_First:

; 432  : 				}
; 433  : 			}
; 434  : 		}
; 435  : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $LL6@Find_First
$LN5@Find_First:
	pop	edi
	pop	esi

; 436  : 	}
; 437  : 	return 0;

	xor	eax, eax
	pop	ebx

; 438  : }

	ret	0
$LN1@Find_First:
	pop	edi

; 430  : 				{
; 431  : 					return o;

	mov	eax, esi
	pop	esi
	pop	ebx

; 438  : }

	ret	0
?Find_First_Player@@YAPAEH@Z ENDP			; Find_First_Player
_TEXT	ENDS
PUBLIC	??_C@_0BD@GLJBNPNO@Change_Player_Team?$AA@	; `string'
PUBLIC	??_C@_0BG@HDNGLABG@msg?5?$CFs?5switched?5teams?$AA@ ; `string'
PUBLIC	?Change_Player_Team@@YA_NPAE_N11@Z		; Change_Player_Team
EXTRN	?Console_Input@@YAXPBD@Z:PROC			; Console_Input
EXTRN	_sprintf:PROC
EXTRN	?Disarm_All_C4@@YAXH@Z:PROC			; Disarm_All_C4
;	COMDAT ??_C@_0BD@GLJBNPNO@Change_Player_Team?$AA@
CONST	SEGMENT
??_C@_0BD@GLJBNPNO@Change_Player_Team?$AA@ DB 'Change_Player_Team', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@HDNGLABG@msg?5?$CFs?5switched?5teams?$AA@
CONST	SEGMENT
??_C@_0BG@HDNGLABG@msg?5?$CFs?5switched?5teams?$AA@ DB 'msg %s switched t'
	DB	'eams', 00H					; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Change_Player_Team@@YA_NPAE_N11@Z
_TEXT	SEGMENT
_Score$ = -112						; size = 4
_Credits$ = -108					; size = 4
tv208 = -104						; size = 4
_outputmsg$55122 = -100					; size = 100
_obj$ = 8						; size = 4
_Retain_Score$ = 12					; size = 1
_Retain_Money$ = 16					; size = 1
_Show_Host_Message$ = 20				; size = 1
?Change_Player_Team@@YA_NPAE_N11@Z PROC			; Change_Player_Team, COMDAT

; 442  : 	if (!Commands->Get_ID(obj) || !obj)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	sub	esp, 112				; 00000070H
	push	esi
	mov	esi, DWORD PTR _obj$[esp+112]
	push	esi
	call	ecx
	add	esp, 4
	test	eax, eax
	je	$LN10@Change_Pla
	test	esi, esi
	je	$LN10@Change_Pla

; 445  : 	}
; 446  : 	if (!Commands->Is_A_Star(obj))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+280]
	push	esi
	call	eax
	add	esp, 4
	test	al, al

; 447  : 	{
; 448  : 		return false;

	je	$LN10@Change_Pla

; 449  : 	}
; 450  : 	Disarm_All_C4(Get_Player_ID(obj));

	push	esi
	call	?Get_Player_ID@@YAJPAE@Z		; Get_Player_ID
	push	eax
	call	?Disarm_All_C4@@YAXH@Z			; Disarm_All_C4

; 451  : 	float Score = Commands->Get_Points(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+632]
	push	esi
	call	edx
	fstp	DWORD PTR _Score$[esp+128]

; 452  : 	float Credits = Commands->Get_Money(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+640]
	push	esi
	call	ecx
	fstp	DWORD PTR _Credits$[esp+132]

; 453  : 	Commands->Give_Points(obj,(Score*-1),false);

	fld	DWORD PTR _Score$[esp+132]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fmul	DWORD PTR __real@bf800000
	mov	eax, DWORD PTR [edx+636]
	add	esp, 16					; 00000010H
	push	0
	push	ecx
	fst	DWORD PTR tv208[esp+124]
	fstp	DWORD PTR [esp]
	push	esi
	call	eax

; 454  : 	if (Score < 0)

	fldz
	fld	DWORD PTR _Score$[esp+128]
	add	esp, 12					; 0000000cH
	fcom	ST(1)
	fnstsw	ax
	fstp	ST(1)
	test	ah, 5
	jp	SHORT $LN17@Change_Pla

; 455  : 	{
; 456  : 		Commands->Give_Money(obj,Score,false);

	push	0
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+644]
	push	esi
	call	edx
	add	esp, 12					; 0000000cH
	jmp	SHORT $LN8@Change_Pla
$LN17@Change_Pla:
	fstp	ST(0)
$LN8@Change_Pla:

; 457  : 	}
; 458  : 	Commands->Give_Money(obj,(Credits*-1),false);

	fld	DWORD PTR _Credits$[esp+116]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fmul	DWORD PTR __real@bf800000
	push	0
	push	ecx
	mov	ecx, DWORD PTR [eax+644]
	fstp	DWORD PTR [esp]
	push	esi
	call	ecx

; 459  : 	if (!Commands->Get_Player_Type(obj))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+248]
	push	esi
	call	eax
	add	esp, 16					; 00000010H
	test	eax, eax
	jne	SHORT $LN7@Change_Pla

; 460  : 	{
; 461  : 		Change_Team(obj,1);

	push	1
	jmp	SHORT $LN19@Change_Pla
$LN7@Change_Pla:

; 462  : 	}
; 463  : 	else if (Commands->Get_Player_Type(obj) == 1)

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	edx, DWORD PTR [ecx+248]
	push	esi
	call	edx
	add	esp, 4
	cmp	eax, 1
	jne	SHORT $LN5@Change_Pla

; 464  : 	{
; 465  : 		Change_Team(obj,0);

	push	0
$LN19@Change_Pla:
	push	esi
	call	?Change_Team@@YAXPAEH@Z			; Change_Team
	add	esp, 8
$LN5@Change_Pla:

; 466  : 	}
; 467  : 	if (Retain_Score)

	cmp	BYTE PTR _Retain_Score$[esp+112], 0
	je	SHORT $LN3@Change_Pla

; 468  : 	{
; 469  : 		Commands->Give_Points(obj,Score,false);

	fld	DWORD PTR _Score$[esp+116]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ecx
	mov	ecx, DWORD PTR [eax+636]
	fstp	DWORD PTR [esp]
	push	esi
	call	ecx

; 470  : 		if (Score > 0)

	fldz
	fcomp	DWORD PTR _Score$[esp+128]
	add	esp, 12					; 0000000cH
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN3@Change_Pla

; 471  : 		{
; 472  : 			Commands->Give_Money(obj,(Score*-1),false);

	fld	DWORD PTR tv208[esp+116]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+644]
	push	0
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	call	eax
	add	esp, 12					; 0000000cH
$LN3@Change_Pla:

; 473  : 		}
; 474  : 	}
; 475  : 	if (Retain_Money)

	cmp	BYTE PTR _Retain_Money$[esp+112], 0
	je	SHORT $LN2@Change_Pla

; 476  : 	{
; 477  : 		Commands->Give_Money(obj,Credits,false);

	fld	DWORD PTR _Credits$[esp+116]
	push	0
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	mov	edx, DWORD PTR [ecx+644]
	push	esi
	call	edx
	add	esp, 12					; 0000000cH
$LN2@Change_Pla:

; 478  : 	}
; 479  : 	if (Show_Host_Message)

	cmp	BYTE PTR _Show_Host_Message$[esp+112], 0
	je	SHORT $LN1@Change_Pla

; 480  : 	{
; 481  : 		char outputmsg[100];
; 482  : 		const char *name = Get_Player_Name(obj);

	push	esi
	call	?Get_Player_Name@@YAPBDPAE@Z		; Get_Player_Name
	mov	esi, eax

; 483  : 		sprintf(outputmsg,"msg %s switched teams",name);

	push	esi
	lea	eax, DWORD PTR _outputmsg$55122[esp+124]
	push	OFFSET ??_C@_0BG@HDNGLABG@msg?5?$CFs?5switched?5teams?$AA@
	push	eax
	call	_sprintf

; 484  : 		delete[] name;

	push	OFFSET ??_C@_0BD@GLJBNPNO@Change_Player_Team?$AA@
	push	484					; 000001e4H
	push	OFFSET ??_C@_0BE@OIOKFBGE@?4?2engine_player?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??_V@YAXPAX@Z				; operator delete[]

; 485  : 		Console_Input(outputmsg);

	lea	ecx, DWORD PTR _outputmsg$55122[esp+148]
	push	ecx
	call	?Console_Input@@YAXPBD@Z		; Console_Input
	add	esp, 36					; 00000024H
$LN1@Change_Pla:

; 486  : 	}
; 487  : 	return true;

	mov	al, 1
	pop	esi

; 488  : }

	add	esp, 112				; 00000070H
	ret	0
$LN10@Change_Pla:

; 443  : 	{
; 444  : 		return false;

	xor	al, al
	pop	esi

; 488  : }

	add	esp, 112				; 00000070H
	ret	0
?Change_Player_Team@@YA_NPAE_N11@Z ENDP			; Change_Player_Team
_TEXT	ENDS
PUBLIC	?stristr@@YAPADPBD0@Z				; stristr
; Function compile flags: /Ogtpy
;	COMDAT ?stristr@@YAPADPBD0@Z
_TEXT	SEGMENT
_m_pStr1$ = 8						; size = 4
_m_pStr2$ = 12						; size = 4
?stristr@@YAPADPBD0@Z PROC				; stristr, COMDAT

; 494  : 	register char *m_pCP = (char *)m_pStr1;

	mov	edx, DWORD PTR _m_pStr1$[esp-4]

; 495  : 	register char *m_pS1, *m_pS2;
; 496  : 	while (*m_pCP)

	mov	cl, BYTE PTR [edx]
	test	cl, cl
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	eax, edx
	je	SHORT $LN4@stristr
	mov	ebp, DWORD PTR _m_pStr2$[esp+12]
	sub	edx, ebp
	mov	edi, edx
$LL5@stristr:

; 497  : 	{
; 498  : 		m_pS1 = m_pCP;
; 499  : 		m_pS2 = (char *) m_pStr2;
; 500  : 		while (*m_pS1 && *m_pS2 && !(LOWER(*m_pS1) - LOWER(*m_pS2)))

	test	cl, cl
	mov	esi, ebp
	je	SHORT $LN2@stristr
	npad	2
$LL3@stristr:
	mov	bl, BYTE PTR [esi]
	test	bl, bl
	je	SHORT $LN6@stristr
	mov	cl, BYTE PTR [edi+esi]
	cmp	cl, 65					; 00000041H
	jl	SHORT $LN8@stristr
	cmp	cl, 90					; 0000005aH
	jg	SHORT $LN8@stristr
	movsx	edx, cl
	add	edx, 32					; 00000020H
	jmp	SHORT $LN9@stristr
$LN8@stristr:
	movsx	edx, cl
$LN9@stristr:
	cmp	bl, 65					; 00000041H
	jl	SHORT $LN10@stristr
	cmp	bl, 90					; 0000005aH
	jg	SHORT $LN10@stristr
	movsx	ecx, bl
	add	ecx, 32					; 00000020H
	jmp	SHORT $LN11@stristr
$LN10@stristr:
	movsx	ecx, bl
$LN11@stristr:
	sub	edx, ecx
	jne	SHORT $LN2@stristr

; 501  : 		{
; 502  : 			m_pS1++, m_pS2++;

	add	esi, 1
	cmp	BYTE PTR [edi+esi], dl
	jne	SHORT $LL3@stristr
$LN2@stristr:

; 503  : 		}
; 504  : 		if (!*m_pS2)

	cmp	BYTE PTR [esi], 0
	je	SHORT $LN6@stristr
	mov	cl, BYTE PTR [eax+1]

; 505  : 		{
; 506  : 			return m_pCP;
; 507  : 		}
; 508  : 		m_pCP++;

	add	eax, 1
	add	edi, 1
	test	cl, cl
	jne	SHORT $LL5@stristr
$LN4@stristr:

; 509  : 	}
; 510  : 	return NULL;

	xor	eax, eax
$LN6@stristr:
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 511  : }

	ret	0
?stristr@@YAPADPBD0@Z ENDP				; stristr
_TEXT	ENDS
PUBLIC	??_C@_0O@BALMFLKK@Get_Part_Name?$AA@		; `string'
PUBLIC	?Get_Part_Name@@YAPAEPBD@Z			; Get_Part_Name
;	COMDAT ??_C@_0O@BALMFLKK@Get_Part_Name?$AA@
CONST	SEGMENT
??_C@_0O@BALMFLKK@Get_Part_Name?$AA@ DB 'Get_Part_Name', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Part_Name@@YAPAEPBD@Z
_TEXT	SEGMENT
_count$ = -4						; size = 4
_name1$ = 8						; size = 4
?Get_Part_Name@@YAPAEPBD@Z PROC				; Get_Part_Name, COMDAT

; 514  : {

	push	ecx

; 515  : 	GenericSLNode *x = BaseGameObjList->HeadNode;

	mov	eax, DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A ; BaseGameObjList
	push	ebx
	mov	ebx, DWORD PTR [eax+4]
	push	ebp

; 516  : 	int count = 0;
; 517  : 	GameObject *current = 0;

	xor	ebp, ebp

; 518  : 	while (x)

	test	ebx, ebx
	mov	DWORD PTR _count$[esp+12], 0
	je	$LN2@Get_Part_N
	push	esi
	push	edi
	npad	1
$LL6@Get_Part_N:

; 519  : 	{
; 520  : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [ebx+4]

; 521  : 		if (o && As_ScriptableGameObj(o) && As_SoldierGameObj(o))

	test	esi, esi
	je	SHORT $LN10@Get_Part_N
	push	esi
	call	?As_ScriptableGameObj@@YAPAEPAE@Z	; As_ScriptableGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN10@Get_Part_N
	push	esi
	call	?As_SoldierGameObj@@YAPAEPAE@Z		; As_SoldierGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN10@Get_Part_N

; 522  : 		{
; 523  : 			const char *name = Get_Player_Name(o);

	push	esi
	call	?Get_Player_Name@@YAPBDPAE@Z		; Get_Player_Name

; 524  : 			if (!stristr(name,name1))

	mov	ecx, DWORD PTR _name1$[esp+20]
	mov	edi, eax
	push	ecx
	push	edi
	call	?stristr@@YAPADPBD0@Z			; stristr
	add	esp, 12					; 0000000cH
	test	eax, eax
	jne	SHORT $LN3@Get_Part_N

; 525  : 			{
; 526  : 				current = o;
; 527  : 				count++;

	add	DWORD PTR _count$[esp+20], 1
	mov	ebp, esi
$LN3@Get_Part_N:

; 528  : 			}
; 529  : 			delete[] name;

	push	OFFSET ??_C@_0O@BALMFLKK@Get_Part_Name?$AA@
	push	529					; 00000211H
	push	OFFSET ??_C@_0BE@OIOKFBGE@?4?2engine_player?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	edi
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN10@Get_Part_N:

; 530  : 		}
; 531  : 		x = x->NodeNext;

	mov	ebx, DWORD PTR [ebx]
	test	ebx, ebx
	jne	SHORT $LL6@Get_Part_N

; 532  : 	}
; 533  : 	if ((count == 1) && (current) && (Commands->Get_ID(current)))

	cmp	DWORD PTR _count$[esp+20], 1
	pop	edi
	pop	esi
	jne	SHORT $LN2@Get_Part_N
	test	ebp, ebp
	je	SHORT $LN2@Get_Part_N
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	eax, DWORD PTR [edx+108]
	push	ebp
	call	eax
	add	esp, 4
	test	eax, eax
	je	SHORT $LN2@Get_Part_N

; 534  : 	{
; 535  : 		return current;

	mov	eax, ebp
	pop	ebp
	pop	ebx

; 540  : 	}
; 541  : }

	pop	ecx
	ret	0
$LN2@Get_Part_N:
	pop	ebp

; 536  : 	}
; 537  : 	else
; 538  : 	{
; 539  : 		return 0;

	xor	eax, eax
	pop	ebx

; 540  : 	}
; 541  : }

	pop	ecx
	ret	0
?Get_Part_Name@@YAPAEPBD@Z ENDP				; Get_Part_Name
_TEXT	ENDS
PUBLIC	??_C@_0P@DCABNMJI@Get_Part_Names?$AA@		; `string'
PUBLIC	?Get_Part_Names@@YAHPBD@Z			; Get_Part_Names
;	COMDAT ??_C@_0P@DCABNMJI@Get_Part_Names?$AA@
CONST	SEGMENT
??_C@_0P@DCABNMJI@Get_Part_Names?$AA@ DB 'Get_Part_Names', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Part_Names@@YAHPBD@Z
_TEXT	SEGMENT
_name1$ = 8						; size = 4
?Get_Part_Names@@YAHPBD@Z PROC				; Get_Part_Names, COMDAT

; 545  : 	GenericSLNode *x = BaseGameObjList->HeadNode;

	mov	eax, DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A ; BaseGameObjList
	push	ebp
	push	edi
	mov	edi, DWORD PTR [eax+4]

; 546  : 	int count = 0;

	xor	ebp, ebp

; 547  : 	while (x)

	test	edi, edi
	je	SHORT $LN11@Get_Part_N@2
	push	ebx
	mov	ebx, DWORD PTR _name1$[esp+8]
	push	esi
$LL4@Get_Part_N@2:

; 548  : 	{
; 549  : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 550  : 		if (o && As_ScriptableGameObj(o) && As_SoldierGameObj(o))

	test	esi, esi
	je	SHORT $LN12@Get_Part_N@2
	push	esi
	call	?As_ScriptableGameObj@@YAPAEPAE@Z	; As_ScriptableGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN12@Get_Part_N@2
	push	esi
	call	?As_SoldierGameObj@@YAPAEPAE@Z		; As_SoldierGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN12@Get_Part_N@2

; 551  : 		{
; 552  : 			const char *name = Get_Player_Name(o);

	push	esi
	call	?Get_Player_Name@@YAPBDPAE@Z		; Get_Player_Name
	mov	esi, eax

; 553  : 			if (!stristr(name,name1))

	push	ebx
	push	esi
	call	?stristr@@YAPADPBD0@Z			; stristr
	add	esp, 12					; 0000000cH
	test	eax, eax
	jne	SHORT $LN1@Get_Part_N@2

; 554  : 			{
; 555  : 				count++;

	add	ebp, 1
$LN1@Get_Part_N@2:

; 556  : 			}
; 557  : 			delete[] name;

	push	OFFSET ??_C@_0P@DCABNMJI@Get_Part_Names?$AA@
	push	557					; 0000022dH
	push	OFFSET ??_C@_0BE@OIOKFBGE@?4?2engine_player?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN12@Get_Part_N@2:

; 558  : 		}
; 559  : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $LL4@Get_Part_N@2
	pop	esi
	pop	ebx
$LN11@Get_Part_N@2:
	pop	edi

; 560  : 	}
; 561  : 	return count;

	mov	eax, ebp
	pop	ebp

; 562  : }

	ret	0
?Get_Part_Names@@YAHPBD@Z ENDP				; Get_Part_Names
_TEXT	ENDS
PUBLIC	?Get_Team_Player_Count@@YAHH@Z			; Get_Team_Player_Count
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Team_Player_Count@@YAHH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Get_Team_Player_Count@@YAHH@Z PROC			; Get_Team_Player_Count, COMDAT

; 566  : 	int Total = 0;
; 567  : 	GenericSLNode *x = BaseGameObjList->HeadNode;

	mov	eax, DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A ; BaseGameObjList
	push	ebx
	push	edi
	mov	edi, DWORD PTR [eax+4]
	xor	ebx, ebx

; 568  : 	while (x)

	test	edi, edi
	je	SHORT $LN8@Get_Team_P
	push	ebp
	mov	ebp, DWORD PTR _Team$[esp+8]
	push	esi
$LL3@Get_Team_P:

; 569  : 	{
; 570  : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 571  : 		if (o && As_ScriptableGameObj(o) && As_SoldierGameObj(o) && Get_Object_Type(o) == Team)

	test	esi, esi
	je	SHORT $LN9@Get_Team_P
	push	esi
	call	?As_ScriptableGameObj@@YAPAEPAE@Z	; As_ScriptableGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN9@Get_Team_P
	push	esi
	call	?As_SoldierGameObj@@YAPAEPAE@Z		; As_SoldierGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN9@Get_Team_P
	push	esi
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	add	esp, 4
	cmp	eax, ebp
	jne	SHORT $LN9@Get_Team_P

; 572  : 		{
; 573  : 			Total++;

	add	ebx, 1
$LN9@Get_Team_P:

; 574  : 		}
; 575  : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $LL3@Get_Team_P
	pop	esi
	pop	ebp
$LN8@Get_Team_P:
	pop	edi

; 576  : 	}
; 577  : 	return Total;

	mov	eax, ebx
	pop	ebx

; 578  : }

	ret	0
?Get_Team_Player_Count@@YAHH@Z ENDP			; Get_Team_Player_Count
_TEXT	ENDS
PUBLIC	?Send_Custom_All_Players@@YAXHPAEH@Z		; Send_Custom_All_Players
; Function compile flags: /Ogtpy
;	COMDAT ?Send_Custom_All_Players@@YAXHPAEH@Z
_TEXT	SEGMENT
_message$ = 8						; size = 4
_sender$ = 12						; size = 4
_team$ = 16						; size = 4
?Send_Custom_All_Players@@YAXHPAEH@Z PROC		; Send_Custom_All_Players, COMDAT

; 582  : 	if (!Commands->Get_ID(sender) || !sender)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	ebx
	mov	ebx, DWORD PTR _sender$[esp]
	push	ebx
	call	ecx
	add	esp, 4
	test	eax, eax
	je	SHORT $LN7@Send_Custo
	test	ebx, ebx
	je	SHORT $LN7@Send_Custo

; 583  : 	{
; 584  : 		return;
; 585  : 	}
; 586  : 	for (GenericSLNode* PlayerIter = PlayerList->HeadNode; (PlayerIter != NULL); PlayerIter = PlayerIter->NodeNext)

	mov	edx, DWORD PTR ?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A ; PlayerList
	push	edi
	mov	edi, DWORD PTR [edx+4]
	test	edi, edi
	je	SHORT $LN14@Send_Custo
	push	ebp
	mov	ebp, DWORD PTR _team$[esp+8]
	push	esi
	npad	1
$LL6@Send_Custo:

; 587  : 	{
; 588  : 		cPlayer *p = (cPlayer *)PlayerIter->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 589  : 		if (!p->IsActive)

	cmp	BYTE PTR [esi+1981], 0
	je	SHORT $LN5@Send_Custo

; 590  : 		{
; 591  : 			continue;
; 592  : 		}
; 593  : 		if ((p->PlayerType.Get() == team) || (team == 2))

	lea	ecx, DWORD PTR [esi+1900]
	call	?Get@IntDataSafeClass@@QAEHXZ		; IntDataSafeClass::Get
	cmp	eax, ebp
	je	SHORT $LN1@Send_Custo
	cmp	ebp, 2
	jne	SHORT $LN5@Send_Custo
$LN1@Send_Custo:

; 594  : 		{
; 595  : 			Commands->Send_Custom_Event(sender,(GameObject *)p->Owner.Reference->obj,message,0,0);

	fldz
	mov	eax, DWORD PTR _message$[esp+12]
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR [esi+20]
	mov	edx, DWORD PTR [ecx+4]
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+140]
	push	edx
	push	ebx
	call	ecx
	add	esp, 20					; 00000014H
$LN5@Send_Custo:
	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $LL6@Send_Custo
	pop	esi
	pop	ebp
$LN14@Send_Custo:
	pop	edi
$LN7@Send_Custo:
	pop	ebx

; 596  : 		}
; 597  : 	}
; 598  : }

	ret	0
?Send_Custom_All_Players@@YAXHPAEH@Z ENDP		; Send_Custom_All_Players
_TEXT	ENDS
PUBLIC	?Steal_Team_Credits@@YAMMH@Z			; Steal_Team_Credits
; Function compile flags: /Ogtpy
;	COMDAT ?Steal_Team_Credits@@YAMMH@Z
_TEXT	SEGMENT
_theft$ = -4						; size = 4
_percentage$ = 8					; size = 4
_team$ = 12						; size = 4
?Steal_Team_Credits@@YAMMH@Z PROC			; Steal_Team_Credits, COMDAT

; 601  : {

	push	ecx

; 602  : 	float theft = 0;
; 603  : 	for (GenericSLNode* PlayerIter = PlayerList->HeadNode; (PlayerIter != NULL); PlayerIter = PlayerIter->NodeNext)

	mov	eax, DWORD PTR ?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A ; PlayerList
	fldz
	push	edi
	fst	DWORD PTR _theft$[esp+8]
	mov	edi, DWORD PTR [eax+4]
	test	edi, edi
	je	SHORT $LN3@Steal_Team
	push	ebx
	fstp	ST(0)
	mov	ebx, DWORD PTR _team$[esp+8]
	push	esi
	npad	4
$LL5@Steal_Team:

; 604  : 	{
; 605  : 		cPlayer *p = (cPlayer *)PlayerIter->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 606  : 		if (!p->IsActive)

	cmp	BYTE PTR [esi+1981], 0
	je	SHORT $LN4@Steal_Team

; 607  : 		{
; 608  : 			continue;
; 609  : 		}
; 610  : 		if (Commands->Get_Player_Type((GameObject *)p->Owner.Reference->obj) == team)

	mov	ecx, DWORD PTR [esi+20]
	mov	edx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+248]
	push	edx
	call	ecx
	add	esp, 4
	cmp	eax, ebx
	jne	SHORT $LN4@Steal_Team

; 611  : 		{
; 612  : 			float credits = p->Money.Get();

	lea	ecx, DWORD PTR [esi+8]
	call	?Get@FloatDataSafeClass@@QAEMXZ		; FloatDataSafeClass::Get

; 613  : 			credits = credits * percentage;

	fmul	DWORD PTR _percentage$[esp+12]

; 614  : 			theft += credits;

	fld	DWORD PTR _theft$[esp+16]

; 615  : 			p->Increment_Money(-credits);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+16]
	fadd	ST(0), ST(1)
	push	ecx
	mov	ecx, esi
	fstp	DWORD PTR _theft$[esp+20]
	fchs
	fstp	DWORD PTR [esp]
	call	eax
$LN4@Steal_Team:
	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $LL5@Steal_Team

; 616  : 		}
; 617  : 	}
; 618  : 	return theft;

	fld	DWORD PTR _theft$[esp+16]
	pop	esi
	pop	ebx
$LN3@Steal_Team:
	pop	edi

; 619  : }

	pop	ecx
	ret	0
?Steal_Team_Credits@@YAMMH@Z ENDP			; Steal_Team_Credits
_TEXT	ENDS
PUBLIC	?Get_Team_Credits@@YAMH@Z			; Get_Team_Credits
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Team_Credits@@YAMH@Z
_TEXT	SEGMENT
_count$ = -4						; size = 4
_team$ = 8						; size = 4
?Get_Team_Credits@@YAMH@Z PROC				; Get_Team_Credits, COMDAT

; 622  : {

	push	ecx

; 623  : 	float count = 0;
; 624  : 	for (GenericSLNode* PlayerIter = PlayerList->HeadNode; (PlayerIter != NULL); PlayerIter = PlayerIter->NodeNext)

	mov	eax, DWORD PTR ?PlayerList@@3PAV?$SList@PAVcPlayer@@@@A ; PlayerList
	fldz
	push	esi
	fst	DWORD PTR _count$[esp+8]
	mov	esi, DWORD PTR [eax+4]
	test	esi, esi
	je	SHORT $LN3@Get_Team_C
	push	ebx
	fstp	ST(0)
	mov	ebx, DWORD PTR _team$[esp+8]
	push	edi
	npad	4
$LL5@Get_Team_C:

; 625  : 	{
; 626  : 		cPlayer *p = (cPlayer *)PlayerIter->NodeData;

	mov	edi, DWORD PTR [esi+4]

; 627  : 		if (!p->IsActive)

	cmp	BYTE PTR [edi+1981], 0
	je	SHORT $LN4@Get_Team_C

; 628  : 		{
; 629  : 			continue;
; 630  : 		}
; 631  : 		if (Commands->Get_Player_Type((GameObject *)p->Owner.Reference->obj) == team)

	mov	ecx, DWORD PTR [edi+20]
	mov	edx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+248]
	push	edx
	call	ecx
	add	esp, 4
	cmp	eax, ebx
	jne	SHORT $LN4@Get_Team_C

; 632  : 		{
; 633  : 			count += p->Money.Get();

	lea	ecx, DWORD PTR [edi+8]
	call	?Get@FloatDataSafeClass@@QAEMXZ		; FloatDataSafeClass::Get
	fadd	DWORD PTR _count$[esp+16]
	fstp	DWORD PTR _count$[esp+16]
$LN4@Get_Team_C:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL5@Get_Team_C

; 634  : 		}
; 635  : 	}
; 636  : 	return count;

	fld	DWORD PTR _count$[esp+16]
	pop	edi
	pop	ebx
$LN3@Get_Team_C:
	pop	esi

; 637  : }

	pop	ecx
	ret	0
?Get_Team_Credits@@YAMH@Z ENDP				; Get_Team_Credits
_TEXT	ENDS
PUBLIC	?Get_Player_Type@@YAHPAE@Z			; Get_Player_Type
; Function compile flags: /Ogtpy
;	COMDAT ?Get_Player_Type@@YAHPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Player_Type@@YAHPAE@Z PROC				; Get_Player_Type, COMDAT

; 641  : 	if (!Commands->Get_ID(obj) || !obj)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	esi
	mov	esi, DWORD PTR _obj$[esp]
	push	esi
	call	ecx
	add	esp, 4
	test	eax, eax
	je	SHORT $LN3@Get_Player@5
	test	esi, esi
	je	SHORT $LN3@Get_Player@5

; 644  : 	}
; 645  : 	GameObject *o = As_SoldierGameObj(obj);

	push	esi
	call	?As_SoldierGameObj@@YAPAEPAE@Z		; As_SoldierGameObj
	add	esp, 4

; 646  : 	char *c = (char *)o;
; 647  : 	if (!o)

	test	eax, eax

; 648  : 	{
; 649  : 		return 0;

	je	SHORT $LN3@Get_Player@5

; 650  : 	}
; 651  : 	c += 0x960;
; 652  : 	cPlayer *x = (cPlayer *)*(unsigned int *)c;

	mov	eax, DWORD PTR [eax+2400]

; 653  : 	if (!x)

	test	eax, eax

; 654  : 	{
; 655  : 		return 0;

	je	SHORT $LN3@Get_Player@5

; 656  : 	}
; 657  : 	return x->PlayerType.Get();

	lea	ecx, DWORD PTR [eax+1900]
	pop	esi
	jmp	?Get@IntDataSafeClass@@QAEHXZ		; IntDataSafeClass::Get
$LN3@Get_Player@5:

; 642  : 	{
; 643  : 		return 0;

	xor	eax, eax
	pop	esi

; 658  : }

	ret	0
?Get_Player_Type@@YAHPAE@Z ENDP				; Get_Player_Type
_TEXT	ENDS
PUBLIC	??_C@_19KLMLHLJG@?$AAN?$AAo?$AAn?$AAe?$AA?$AA@	; `string'
PUBLIC	?Get_Wide_Player_Name@@YAPB_WPAE@Z		; Get_Wide_Player_Name
;	COMDAT ??_C@_19KLMLHLJG@?$AAN?$AAo?$AAn?$AAe?$AA?$AA@
; File d:\source code\stgm\engine_string.h
CONST	SEGMENT
??_C@_19KLMLHLJG@?$AAN?$AAo?$AAn?$AAe?$AA?$AA@ DB 'N', 00H, 'o', 00H, 'n', 00H
	DB	'e', 00H, 00H, 00H				; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\engine_player.cpp
CONST	ENDS
;	COMDAT ?Get_Wide_Player_Name@@YAPB_WPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Wide_Player_Name@@YAPB_WPAE@Z PROC			; Get_Wide_Player_Name, COMDAT

; 662  : 	if (!Commands->Get_ID(obj) || !obj)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ecx, DWORD PTR [eax+108]
	push	esi
	mov	esi, DWORD PTR _obj$[esp]
	push	esi
	call	ecx
	add	esp, 4
	test	eax, eax
	je	SHORT $LN3@Get_Wide_P
	test	esi, esi
	je	SHORT $LN3@Get_Wide_P

; 665  : 	}
; 666  : 	GameObject *o = As_SoldierGameObj(obj);

	push	esi
	call	?As_SoldierGameObj@@YAPAEPAE@Z		; As_SoldierGameObj
	add	esp, 4

; 667  : 	char *c = (char *)o;
; 668  : 	if (!o)

	test	eax, eax

; 669  : 	{
; 670  : 		return L"None";

	je	SHORT $LN3@Get_Wide_P

; 671  : 	}
; 672  : 	c += 0x960;
; 673  : 	cPlayer *x = (cPlayer *)*(unsigned int *)c;

	mov	eax, DWORD PTR [eax+2400]

; 674  : 	if (!x)

	test	eax, eax

; 675  : 	{
; 676  : 		return L"None";

	je	SHORT $LN3@Get_Wide_P

; 677  : 	}
; 678  : 	return x->PlayerName.Peek_Buffer();

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

; 679  : }

	ret	0
$LN3@Get_Wide_P:

; 663  : 	{
; 664  : 		return L"None";

	mov	eax, OFFSET ??_C@_19KLMLHLJG@?$AAN?$AAo?$AAn?$AAe?$AA?$AA@
	pop	esi

; 679  : }

	ret	0
?Get_Wide_Player_Name@@YAPB_WPAE@Z ENDP			; Get_Wide_Player_Name
_TEXT	ENDS
PUBLIC	__TI2?AVbad_alloc@std@@
PUBLIC	??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@ ; `string'
PUBLIC	?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z ; std::_DebugHeapAllocator<char>::allocate
PUBLIC	__CTA2?AVbad_alloc@std@@
PUBLIC	__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
PUBLIC	??0bad_alloc@std@@QAE@ABV01@@Z			; std::bad_alloc::bad_alloc
PUBLIC	__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
EXTRN	??_U@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z:PROC	; operator new[]
EXTRN	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ:PROC ; std::_DebugHeapTag_func
EXTRN	__CxxThrowException@8:PROC
EXTRN	??0exception@std@@QAE@ABV01@@Z:PROC		; std::exception::exception
;	COMDAT __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
; File c:\program files\microsoft visual studio 8\vc\include\exception
xdata$x	SEGMENT
__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 DD 00H
	DD	FLAT:??_R0?AVexception@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0exception@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
xdata$x	SEGMENT
__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12 DD 00H
	DD	FLAT:??_R0?AVbad_alloc@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0bad_alloc@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CTA2?AVbad_alloc@std@@
xdata$x	SEGMENT
__CTA2?AVbad_alloc@std@@ DD 02H
	DD	FLAT:__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
	DD	FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x	ENDS
;	COMDAT __TI2?AVbad_alloc@std@@
xdata$x	SEGMENT
__TI2?AVbad_alloc@std@@ DD 00H
	DD	FLAT:??1bad_alloc@std@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA2?AVbad_alloc@std@@
xdata$x	ENDS
;	COMDAT ??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@
CONST	SEGMENT
??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@ DB 'C:\Program '
	DB	'Files\Microsoft Visual Studio 8\VC\include\xdebug', 00H ; `string'
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
CONST	ENDS
;	COMDAT ?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z
_TEXT	SEGMENT
$T59256 = -12						; size = 12
_this$ = 8						; size = 4
$T59262 = 12						; size = 4
__Count$ = 12						; size = 4
___formal$ = 16						; size = 4
?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z PROC ; std::_DebugHeapAllocator<char>::allocate, COMDAT

; 79   : 		{	// check for integer overflow

	sub	esp, 12					; 0000000cH
	push	esi

; 80   : 		if (_Count <= 0)

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

; 81   : 			_Count = 0;

	xor	esi, esi
$LN1@allocate:

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

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

; 87   : 		}

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

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

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

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

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

; 90   : 		{	// check for integer overflow

	sub	esp, 12					; 0000000cH
	push	esi

; 91   : 		if (_Count <= 0)

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

; 92   : 			_Count = 0;

	xor	esi, esi
$LN1@allocate@2:

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

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

; 98   : 		}

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

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

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

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

	lea	eax, DWORD PTR $T59273[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T59268[esp+20]
	mov	DWORD PTR $T59273[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T59268[esp+20]
	push	ecx
	mov	DWORD PTR $T59268[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
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0bad_alloc@std@@QAE@ABV01@@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx
	mov	eax, DWORD PTR ___that$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABV01@@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0bad_alloc@std@@QAE@ABV01@@Z ENDP			; std::bad_alloc::bad_alloc
_TEXT	ENDS
PUBLIC	??0?$allocator@D@std@@QAE@XZ			; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ??0?$allocator@D@std@@QAE@XZ
_TEXT	SEGMENT
??0?$allocator@D@std@@QAE@XZ PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

; 120  : 	allocator() _THROW0()

	mov	eax, ecx

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

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

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

	mov	eax, ecx

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

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

; 56   : 	if (_Ptr != 0)

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

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

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

; 62   : 		}
; 63   : 	}

	ret	0
??$_DebugHeapDelete@X@std@@YAXPAX@Z ENDP		; std::_DebugHeapDelete<void>
_TEXT	ENDS
PUBLIC	?Change_Team_By_ID@@YAXHH@Z			; Change_Team_By_ID
; Function compile flags: /Ogtpy
; File d:\source code\stgm\engine_player.cpp
;	COMDAT ?Change_Team_By_ID@@YAXHH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
_Team$ = 12						; size = 4
?Change_Team_By_ID@@YAXHH@Z PROC			; Change_Team_By_ID, COMDAT

; 151  : {

	push	esi

; 152  : 	cPlayer *x = FindPlayer(PlayerID);

	mov	esi, DWORD PTR _PlayerID$[esp]
	push	esi
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4

; 153  : 	if (!x)

	test	eax, eax
	je	SHORT $LN2@Change_Tea@3

; 154  : 	{
; 155  : 		return;
; 156  : 	}
; 157  : 	x->Set_Player_Type(Team);

	mov	ecx, DWORD PTR _Team$[esp]
	push	ecx
	mov	ecx, eax
	call	?Set_Player_Type@cPlayer@@QAEXH@Z	; cPlayer::Set_Player_Type

; 158  : 	GameObject *obj = Get_GameObj(PlayerID);

	push	esi
	call	DWORD PTR ?FindPlayer@@3P6APAVcPlayer@@H@ZA ; FindPlayer
	add	esp, 4
	test	eax, eax
	je	SHORT $LN4@Change_Tea@3
	mov	eax, DWORD PTR [eax+20]
	test	eax, eax
	je	SHORT $LN4@Change_Tea@3
	mov	eax, DWORD PTR [eax+4]

; 159  : 	Commands->Destroy_Object(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [edx+92]
	call	eax
	add	esp, 4
	pop	esi

; 160  : }

	ret	0

; 158  : 	GameObject *obj = Get_GameObj(PlayerID);

$LN4@Change_Tea@3:

; 159  : 	Commands->Destroy_Object(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	xor	eax, eax
	push	eax
	mov	eax, DWORD PTR [edx+92]
	call	eax
	add	esp, 4
$LN2@Change_Tea@3:
	pop	esi

; 160  : }

	ret	0
?Change_Team_By_ID@@YAXHH@Z ENDP			; Change_Team_By_ID
_TEXT	ENDS
PUBLIC	?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ; std::_DebugHeapAllocator<char>::deallocate
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
;	COMDAT ?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z PROC ; std::_DebugHeapAllocator<char>::deallocate, COMDAT
; _this$ = ecx

; 102  : 		_DELETE_CRT_VEC(_Ptr);

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

; 103  : 		}

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