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

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

INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES

PUBLIC	??_C@_0P@GHFPNOJB@bad?5allocation?$AA@		; `string'
PUBLIC	?collate@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::collate
PUBLIC	?ctype@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::ctype
PUBLIC	?monetary@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::monetary
PUBLIC	?numeric@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::numeric
PUBLIC	?time@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::time
PUBLIC	?messages@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::messages
PUBLIC	?all@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::all
PUBLIC	?none@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::none
PUBLIC	?table_size@?$ctype@D@std@@2IB			; std::ctype<char>::table_size
PUBLIC	?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::skipws
PUBLIC	?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::unitbuf
PUBLIC	?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::uppercase
PUBLIC	?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showbase
PUBLIC	?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpoint
PUBLIC	?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpos
PUBLIC	?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::left
PUBLIC	?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::right
PUBLIC	?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::internal
PUBLIC	?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::dec
PUBLIC	?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::oct
PUBLIC	?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::hex
PUBLIC	?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::scientific
PUBLIC	?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::fixed
PUBLIC	?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::boolalpha
PUBLIC	?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::_Stdio
PUBLIC	?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::adjustfield
PUBLIC	?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::basefield
PUBLIC	?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::floatfield
PUBLIC	?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::goodbit
PUBLIC	?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::eofbit
PUBLIC	?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::failbit
PUBLIC	?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::badbit
PUBLIC	?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::_Hardfail
PUBLIC	?in@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::in
PUBLIC	?out@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::out
PUBLIC	?ate@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::ate
PUBLIC	?app@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::app
PUBLIC	?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::trunc
PUBLIC	?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Nocreate
PUBLIC	?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Noreplace
PUBLIC	?binary@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::binary
PUBLIC	?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::beg
PUBLIC	?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::cur
PUBLIC	?end@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::end
PUBLIC	?gzVehicleMgr@@3PAVgzManagerVehicle@@A		; gzVehicleMgr
_BSS	SEGMENT
?gzVehicleMgr@@3PAVgzManagerVehicle@@A DD 01H DUP (?)	; gzVehicleMgr
_BSS	ENDS
;	COMDAT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?end@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 02H		; std::_Iosb<int>::end
CONST	ENDS
;	COMDAT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 01H		; std::_Iosb<int>::cur
CONST	ENDS
;	COMDAT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 00H		; std::_Iosb<int>::beg
CONST	ENDS
;	COMDAT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?binary@?$_Iosb@H@std@@2W4_Openmode@12@B DD 020H	; std::_Iosb<int>::binary
CONST	ENDS
;	COMDAT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B DD 080H	; std::_Iosb<int>::_Noreplace
CONST	ENDS
;	COMDAT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 040H	; std::_Iosb<int>::_Nocreate
CONST	ENDS
;	COMDAT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B DD 010H		; std::_Iosb<int>::trunc
CONST	ENDS
;	COMDAT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?app@?$_Iosb@H@std@@2W4_Openmode@12@B DD 08H		; std::_Iosb<int>::app
CONST	ENDS
;	COMDAT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?ate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 04H		; std::_Iosb<int>::ate
CONST	ENDS
;	COMDAT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?out@?$_Iosb@H@std@@2W4_Openmode@12@B DD 02H		; std::_Iosb<int>::out
CONST	ENDS
;	COMDAT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?in@?$_Iosb@H@std@@2W4_Openmode@12@B DD 01H		; std::_Iosb<int>::in
CONST	ENDS
;	COMDAT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B DD 010H	; std::_Iosb<int>::_Hardfail
CONST	ENDS
;	COMDAT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 04H		; std::_Iosb<int>::badbit
CONST	ENDS
;	COMDAT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 02H		; std::_Iosb<int>::failbit
CONST	ENDS
;	COMDAT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 01H		; std::_Iosb<int>::eofbit
CONST	ENDS
;	COMDAT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 00H		; std::_Iosb<int>::goodbit
CONST	ENDS
;	COMDAT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 03000H	; std::_Iosb<int>::floatfield
CONST	ENDS
;	COMDAT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0e00H	; std::_Iosb<int>::basefield
CONST	ENDS
;	COMDAT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01c0H	; std::_Iosb<int>::adjustfield
CONST	ENDS
;	COMDAT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08000H	; std::_Iosb<int>::_Stdio
CONST	ENDS
;	COMDAT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04000H	; std::_Iosb<int>::boolalpha
CONST	ENDS
;	COMDAT ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02000H	; std::_Iosb<int>::fixed
CONST	ENDS
;	COMDAT ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01000H	; std::_Iosb<int>::scientific
CONST	ENDS
;	COMDAT ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0800H		; std::_Iosb<int>::hex
CONST	ENDS
;	COMDAT ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0400H		; std::_Iosb<int>::oct
CONST	ENDS
;	COMDAT ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0200H		; std::_Iosb<int>::dec
CONST	ENDS
;	COMDAT ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0100H	; std::_Iosb<int>::internal
CONST	ENDS
;	COMDAT ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 080H		; std::_Iosb<int>::right
CONST	ENDS
;	COMDAT ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 040H		; std::_Iosb<int>::left
CONST	ENDS
;	COMDAT ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 020H	; std::_Iosb<int>::showpos
CONST	ENDS
;	COMDAT ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 010H	; std::_Iosb<int>::showpoint
CONST	ENDS
;	COMDAT ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08H	; std::_Iosb<int>::showbase
CONST	ENDS
;	COMDAT ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04H	; std::_Iosb<int>::uppercase
CONST	ENDS
;	COMDAT ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02H	; std::_Iosb<int>::unitbuf
CONST	ENDS
;	COMDAT ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01H		; std::_Iosb<int>::skipws
CONST	ENDS
;	COMDAT ?table_size@?$ctype@D@std@@2IB
CONST	SEGMENT
?table_size@?$ctype@D@std@@2IB DD 0100H			; std::ctype<char>::table_size
CONST	ENDS
;	COMDAT ?none@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?none@?$_Locbase@H@std@@2HB DD 00H			; std::_Locbase<int>::none
CONST	ENDS
;	COMDAT ?all@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?all@?$_Locbase@H@std@@2HB DD 03fH			; std::_Locbase<int>::all
CONST	ENDS
;	COMDAT ?messages@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?messages@?$_Locbase@H@std@@2HB DD 020H			; std::_Locbase<int>::messages
CONST	ENDS
;	COMDAT ?time@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?time@?$_Locbase@H@std@@2HB DD 010H			; std::_Locbase<int>::time
CONST	ENDS
;	COMDAT ?numeric@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?numeric@?$_Locbase@H@std@@2HB DD 08H			; std::_Locbase<int>::numeric
CONST	ENDS
;	COMDAT ?monetary@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?monetary@?$_Locbase@H@std@@2HB DD 04H			; std::_Locbase<int>::monetary
CONST	ENDS
;	COMDAT ?ctype@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?ctype@?$_Locbase@H@std@@2HB DD 02H			; std::_Locbase<int>::ctype
CONST	ENDS
;	COMDAT ?collate@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?collate@?$_Locbase@H@std@@2HB DD 01H			; std::_Locbase<int>::collate
CONST	ENDS
_DATA	SEGMENT
__bad_alloc_Message DD FLAT:??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
_DATA	ENDS
;	COMDAT ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
CONST	SEGMENT
??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ DB 'bad allocation', 00H ; `string'
CONST	ENDS
EXTRN	__stat64i32:PROC
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\sys\stat.inl
;	COMDAT _stat
_TEXT	SEGMENT
_stat	PROC						; COMDAT
; __Filename$ = ecx
; __Stat$ = eax

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

	push	eax
	push	ecx
	call	__stat64i32
	add	esp, 8

; 62   : }

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

; 371  : 		{	// construct from message string

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

; 372  : 		}

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

; 380  : 		{	// destroy the object

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

; 381  : 		}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	je	SHORT $LN3@GetString
	mov	eax, DWORD PTR [eax]
	ret	0
$LN3@GetString:
	xor	eax, eax
	ret	0
?GetString@aString@@QBEPBDXZ ENDP			; aString::GetString
_TEXT	ENDS
PUBLIC	??1aString@@UAE@XZ				; aString::~aString
EXTRN	??1aStringBase@@UAE@XZ:PROC			; aStringBase::~aStringBase
; Function compile flags: /Ogtpy
;	COMDAT ??1aString@@UAE@XZ
_TEXT	SEGMENT
??1aString@@UAE@XZ PROC					; aString::~aString, COMDAT
; _this$ = ecx
	jmp	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
??1aString@@UAE@XZ ENDP					; aString::~aString
_TEXT	ENDS
PUBLIC	??H@YA?AVaString@@ABV0@0@Z			; operator+
EXTRN	??YaString@@QAEAAV0@ABV0@@Z:PROC		; aString::operator+=
EXTRN	___CxxFrameHandler3:PROC
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??H@YA?AVaString@@ABV0@0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??H@YA?AVaString@@ABV0@0@Z$0
__ehfuncinfo$??H@YA?AVaString@@ABV0@0@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??H@YA?AVaString@@ABV0@0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??H@YA?AVaString@@ABV0@0@Z
_TEXT	SEGMENT
$T68966 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_str1$ = 12						; size = 4
_str2$ = 16						; size = 4
??H@YA?AVaString@@ABV0@0@Z PROC				; operator+, COMDAT

; 177  : {

	push	-1
	push	__ehhandler$??H@YA?AVaString@@ABV0@0@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx

; 178  : 	aString ret = str1;

	mov	eax, DWORD PTR _str1$[esp+12]
	push	esi
	mov	DWORD PTR $T68966[esp+20], 0
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+16]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [esi], OFFSET ??_7aString@@6B@

; 179  : 	ret += str2;
; 180  : 	return ret;

	mov	ecx, DWORD PTR _str2$[esp+16]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	mov	DWORD PTR $T68966[esp+24], 1
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=

; 181  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??H@YA?AVaString@@ABV0@0@Z$0:
	mov	eax, DWORD PTR $T68966[ebp]
	and	eax, 1
	je	$LN4@operator
	and	DWORD PTR $T68966[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR ___$ReturnUdt$[ebp-4]
	jmp	??1aString@@UAE@XZ
$LN4@operator:
	ret	0
__ehhandler$??H@YA?AVaString@@ABV0@0@Z:
	mov	eax, OFFSET __ehfuncinfo$??H@YA?AVaString@@ABV0@0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??H@YA?AVaString@@ABV0@0@Z ENDP				; operator+
PUBLIC	??_7aWideString@@6B@				; aWideString::`vftable'
PUBLIC	??0aWideString@@QAE@ABV0@@Z			; aWideString::aWideString
PUBLIC	??_R4aWideString@@6B@				; aWideString::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaWideString@@@8				; aWideString `RTTI Type Descriptor'
PUBLIC	??_R3aWideString@@8				; aWideString::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aWideString@@8				; aWideString::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aWideString@@8			; aWideString::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?CharSize@aWideString@@UBEIXZ			; aWideString::CharSize
EXTRN	??_EaWideString@@UAEPAXI@Z:PROC			; aWideString::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@aWideString@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aWideString@@8 DD FLAT:??_R0?AVaWideString@@@8 ; aWideString::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aWideString@@8
rdata$r	ENDS
;	COMDAT ??_R2aWideString@@8
rdata$r	SEGMENT
??_R2aWideString@@8 DD FLAT:??_R1A@?0A@EA@aWideString@@8 ; aWideString::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R3aWideString@@8
rdata$r	SEGMENT
??_R3aWideString@@8 DD 00H				; aWideString::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2aWideString@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaWideString@@@8
_DATA	SEGMENT
??_R0?AVaWideString@@@8 DD FLAT:??_7type_info@@6B@	; aWideString `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaWideString@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aWideString@@6B@
rdata$r	SEGMENT
??_R4aWideString@@6B@ DD 00H				; aWideString::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaWideString@@@8
	DD	FLAT:??_R3aWideString@@8
rdata$r	ENDS
;	COMDAT ??_7aWideString@@6B@
CONST	SEGMENT
??_7aWideString@@6B@ DD FLAT:??_R4aWideString@@6B@	; aWideString::`vftable'
	DD	FLAT:??_EaWideString@@UAEPAXI@Z
	DD	FLAT:?CharSize@aWideString@@UBEIXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aWideString@@QAE@ABV0@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??0aWideString@@QAE@ABV0@@Z PROC			; aWideString::aWideString, COMDAT
; _this$ = ecx

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

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

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

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

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

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

; 7    : 	aCriticalSection()

	push	esi
	mov	esi, ecx

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

	push	esi
	call	DWORD PTR __imp__InitializeCriticalSection@4

; 10   : 	};

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

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

	push	ecx
	call	DWORD PTR __imp__DeleteCriticalSection@4

; 14   : 	};

	ret	0
??1aCriticalSection@@QAE@XZ ENDP			; aCriticalSection::~aCriticalSection
_TEXT	ENDS
PUBLIC	??4nc_FloatDataSafeClass@@QAEXM@Z		; nc_FloatDataSafeClass::operator=
EXTRN	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z:PROC	; nc_FloatDataSafeClass::Set
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_def.h
;	COMDAT ??4nc_FloatDataSafeClass@@QAEXM@Z
_TEXT	SEGMENT
_value$ = 8						; size = 4
??4nc_FloatDataSafeClass@@QAEXM@Z PROC			; nc_FloatDataSafeClass::operator=, COMDAT
; _this$ = ecx

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

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

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

	push	esi
	mov	esi, ecx

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

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

; 243  : 		this->Set(value);

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

; 244  : 	}

	ret	4
??Ync_FloatDataSafeClass@@QAEXM@Z ENDP			; nc_FloatDataSafeClass::operator+=
_TEXT	ENDS
PUBLIC	?Skip@gzEventSkippable@gzEventObjectDamage@@QAEXXZ ; gzEventObjectDamage::gzEventSkippable::Skip
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzeventbase.h
;	COMDAT ?Skip@gzEventSkippable@gzEventObjectDamage@@QAEXXZ
_TEXT	SEGMENT
?Skip@gzEventSkippable@gzEventObjectDamage@@QAEXXZ PROC	; gzEventObjectDamage::gzEventSkippable::Skip, COMDAT
; _this$ = ecx

; 228  : 	gzEVT_SKIPPABLE();

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

; 228  : 	gzEVT_SKIPPABLE();

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

; 252  : 	gzEVT_SKIPPABLE();

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

; 252  : 	gzEVT_SKIPPABLE();

	mov	BYTE PTR [ecx+40], 0
	ret	0
?Skip@gzEventObjectTransition@@QAEXXZ ENDP		; gzEventObjectTransition::Skip
_TEXT	ENDS
PUBLIC	??_7stSettingsBase@@6B@				; stSettingsBase::`vftable'
PUBLIC	??0stSettingsBase@@QAE@XZ			; stSettingsBase::stSettingsBase
PUBLIC	??_R4stSettingsBase@@6B@			; stSettingsBase::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVstSettingsBase@@@8			; stSettingsBase `RTTI Type Descriptor'
PUBLIC	??_R3stSettingsBase@@8				; stSettingsBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2stSettingsBase@@8				; stSettingsBase::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@stSettingsBase@@8			; stSettingsBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Delete@stSettingsBase@@UAEXXZ			; stSettingsBase::Delete
EXTRN	?gzSettingsMgr@@3PAVgzSettingsManager@@A:DWORD	; gzSettingsMgr
EXTRN	__purecall:PROC
;	COMDAT ??_R1A@?0A@EA@stSettingsBase@@8
; File d:\source code\gzgm\gzsetting.h
rdata$r	SEGMENT
??_R1A@?0A@EA@stSettingsBase@@8 DD FLAT:??_R0?AVstSettingsBase@@@8 ; stSettingsBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_R2stSettingsBase@@8
rdata$r	SEGMENT
??_R2stSettingsBase@@8 DD FLAT:??_R1A@?0A@EA@stSettingsBase@@8 ; stSettingsBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3stSettingsBase@@8
rdata$r	SEGMENT
??_R3stSettingsBase@@8 DD 00H				; stSettingsBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVstSettingsBase@@@8
_DATA	SEGMENT
??_R0?AVstSettingsBase@@@8 DD FLAT:??_7type_info@@6B@	; stSettingsBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVstSettingsBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R4stSettingsBase@@6B@
rdata$r	SEGMENT
??_R4stSettingsBase@@6B@ DD 00H				; stSettingsBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVstSettingsBase@@@8
	DD	FLAT:??_R3stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_7stSettingsBase@@6B@
CONST	SEGMENT
??_7stSettingsBase@@6B@ DD FLAT:??_R4stSettingsBase@@6B@ ; stSettingsBase::`vftable'
	DD	FLAT:?Delete@stSettingsBase@@UAEXXZ
	DD	FLAT:__purecall
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0stSettingsBase@@QAE@XZ
_TEXT	SEGMENT
$T69037 = -4						; size = 4
??0stSettingsBase@@QAE@XZ PROC				; stSettingsBase::stSettingsBase, COMDAT
; _this$ = ecx

; 101  : 	stSettingsBase()

	push	ecx

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

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

; 104  : 		this->m_confModTime = 0;

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

; 105  : 		this->m_owner = NULL;

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

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

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

; 107  : 	};

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

; 108  : 	virtual void Delete() { };

	ret	0
?Delete@stSettingsBase@@UAEXXZ ENDP			; stSettingsBase::Delete
_TEXT	ENDS
PUBLIC	?GetHitLog@gzPlayer@@QAEPAVgzAntiCheatHitLog@@XZ ; gzPlayer::GetHitLog
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzplayer.h
;	COMDAT ?GetHitLog@gzPlayer@@QAEPAVgzAntiCheatHitLog@@XZ
_TEXT	SEGMENT
?GetHitLog@gzPlayer@@QAEPAVgzAntiCheatHitLog@@XZ PROC	; gzPlayer::GetHitLog, COMDAT
; _this$ = ecx

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

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

; 75   : 	inline gzVehicleOwnerClass *GetVehicleData() { return this->m_vehOwnData; };

	mov	eax, DWORD PTR [ecx+56]
	ret	0
?GetVehicleData@gzPlayer@@QAEPAVgzVehicleOwnerClass@@XZ ENDP ; gzPlayer::GetVehicleData
_TEXT	ENDS
PUBLIC	?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ	; gzPlayer::GetPlayerData
; Function compile flags: /Ogtpy
;	COMDAT ?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ
_TEXT	SEGMENT
?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ PROC	; gzPlayer::GetPlayerData, COMDAT
; _this$ = ecx

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

	mov	eax, DWORD PTR [ecx+72]
	ret	0
?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ ENDP	; gzPlayer::GetPlayerData
_TEXT	ENDS
PUBLIC	?IsLastPrimaryFire@gzPlayer@@QAE_NXZ		; gzPlayer::IsLastPrimaryFire
; Function compile flags: /Ogtpy
;	COMDAT ?IsLastPrimaryFire@gzPlayer@@QAE_NXZ
_TEXT	SEGMENT
?IsLastPrimaryFire@gzPlayer@@QAE_NXZ PROC		; gzPlayer::IsLastPrimaryFire, COMDAT
; _this$ = ecx

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

	mov	al, BYTE PTR [ecx+96]
	ret	0
?IsLastPrimaryFire@gzPlayer@@QAE_NXZ ENDP		; gzPlayer::IsLastPrimaryFire
_TEXT	ENDS
PUBLIC	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ	; gzPlayer::GetPlayerName
; Function compile flags: /Ogtpy
;	COMDAT ?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ
_TEXT	SEGMENT
$T69057 = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ PROC	; gzPlayer::GetPlayerName, COMDAT
; _this$ = ecx

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

	push	ecx
	push	esi
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+4]
	add	ecx, 76					; 0000004cH
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR $T69057[esp+12], 0
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [esi], OFFSET ??_7aWideString@@6B@
	mov	eax, esi
	pop	esi
	pop	ecx
	ret	4
?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ENDP	; gzPlayer::GetPlayerName
_TEXT	ENDS
PUBLIC	??1gzVehicleWreckageStruct@@QAE@XZ		; gzVehicleWreckageStruct::~gzVehicleWreckageStruct
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzVehicleWreckageStruct@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzVehicleWreckageStruct@@QAE@XZ$0
__ehfuncinfo$??1gzVehicleWreckageStruct@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzVehicleWreckageStruct@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzVehicleWreckageStruct@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzVehicleWreckageStruct@@QAE@XZ PROC			; gzVehicleWreckageStruct::~gzVehicleWreckageStruct, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzVehicleWreckageStruct@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1gzVehicleWreckageStruct@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzVehicleWreckageStruct@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzVehicleWreckageStruct@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzVehicleWreckageStruct@@QAE@XZ ENDP			; gzVehicleWreckageStruct::~gzVehicleWreckageStruct
PUBLIC	??1gzVehicleDestroyAnimStruct@@QAE@XZ		; gzVehicleDestroyAnimStruct::~gzVehicleDestroyAnimStruct
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzVehicleDestroyAnimStruct@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzVehicleDestroyAnimStruct@@QAE@XZ$0
__ehfuncinfo$??1gzVehicleDestroyAnimStruct@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzVehicleDestroyAnimStruct@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzVehicleDestroyAnimStruct@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzVehicleDestroyAnimStruct@@QAE@XZ PROC		; gzVehicleDestroyAnimStruct::~gzVehicleDestroyAnimStruct, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzVehicleDestroyAnimStruct@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1gzVehicleDestroyAnimStruct@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzVehicleDestroyAnimStruct@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzVehicleDestroyAnimStruct@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzVehicleDestroyAnimStruct@@QAE@XZ ENDP		; gzVehicleDestroyAnimStruct::~gzVehicleDestroyAnimStruct
PUBLIC	??0gzVehicleWreckageStruct@@QAE@XZ		; gzVehicleWreckageStruct::gzVehicleWreckageStruct
EXTRN	??0aString@@QAE@XZ:PROC				; aString::aString
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzVehicleWreckageStruct@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzVehicleWreckageStruct@@QAE@XZ$0
__ehfuncinfo$??0gzVehicleWreckageStruct@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzVehicleWreckageStruct@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzVehicleWreckageStruct@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzVehicleWreckageStruct@@QAE@XZ PROC			; gzVehicleWreckageStruct::gzVehicleWreckageStruct, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0gzVehicleWreckageStruct@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??0aString@@QAE@XZ			; aString::aString
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzVehicleWreckageStruct@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??0gzVehicleWreckageStruct@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzVehicleWreckageStruct@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzVehicleWreckageStruct@@QAE@XZ ENDP			; gzVehicleWreckageStruct::gzVehicleWreckageStruct
PUBLIC	??0gzVehicleDestroyAnimStruct@@QAE@XZ		; gzVehicleDestroyAnimStruct::gzVehicleDestroyAnimStruct
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzVehicleDestroyAnimStruct@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzVehicleDestroyAnimStruct@@QAE@XZ$0
__ehfuncinfo$??0gzVehicleDestroyAnimStruct@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzVehicleDestroyAnimStruct@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzVehicleDestroyAnimStruct@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzVehicleDestroyAnimStruct@@QAE@XZ PROC		; gzVehicleDestroyAnimStruct::gzVehicleDestroyAnimStruct, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0gzVehicleDestroyAnimStruct@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??0aString@@QAE@XZ			; aString::aString
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzVehicleDestroyAnimStruct@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??0gzVehicleDestroyAnimStruct@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzVehicleDestroyAnimStruct@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzVehicleDestroyAnimStruct@@QAE@XZ ENDP		; gzVehicleDestroyAnimStruct::gzVehicleDestroyAnimStruct
PUBLIC	??_7gzManagerEvent@@6B@				; gzManagerEvent::`vftable'
PUBLIC	??0gzManagerEvent@@QAE@XZ			; gzManagerEvent::gzManagerEvent
PUBLIC	??_R4gzManagerEvent@@6B@			; gzManagerEvent::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzManagerEvent@@@8			; gzManagerEvent `RTTI Type Descriptor'
PUBLIC	??_R3gzManagerEvent@@8				; gzManagerEvent::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzManagerEvent@@8				; gzManagerEvent::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzManagerEvent@@8			; gzManagerEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z ; gzManagerEvent::ChildObjCreation
;	COMDAT ??_R1A@?0A@EA@gzManagerEvent@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzManagerEvent@@8 DD FLAT:??_R0?AVgzManagerEvent@@@8 ; gzManagerEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R2gzManagerEvent@@8
rdata$r	SEGMENT
??_R2gzManagerEvent@@8 DD FLAT:??_R1A@?0A@EA@gzManagerEvent@@8 ; gzManagerEvent::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzManagerEvent@@8
rdata$r	SEGMENT
??_R3gzManagerEvent@@8 DD 00H				; gzManagerEvent::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzManagerEvent@@@8
_DATA	SEGMENT
??_R0?AVgzManagerEvent@@@8 DD FLAT:??_7type_info@@6B@	; gzManagerEvent `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzManagerEvent@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzManagerEvent@@6B@
rdata$r	SEGMENT
??_R4gzManagerEvent@@6B@ DD 00H				; gzManagerEvent::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzManagerEvent@@@8
	DD	FLAT:??_R3gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_7gzManagerEvent@@6B@
CONST	SEGMENT
??_7gzManagerEvent@@6B@ DD FLAT:??_R4gzManagerEvent@@6B@ ; gzManagerEvent::`vftable'
	DD	FLAT:__purecall
	DD	FLAT:?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z
	DD	FLAT:__purecall
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzManagerEvent@@QAE@XZ
_TEXT	SEGMENT
??0gzManagerEvent@@QAE@XZ PROC				; gzManagerEvent::gzManagerEvent, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET ??_7gzManagerEvent@@6B@
	ret	0
??0gzManagerEvent@@QAE@XZ ENDP				; gzManagerEvent::gzManagerEvent
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzevent.h
_TEXT	ENDS
;	COMDAT ?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z PROC ; gzManagerEvent::ChildObjCreation, COMDAT
; _this$ = ecx

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

	ret	4
?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z ENDP ; gzManagerEvent::ChildObjCreation
_TEXT	ENDS
PUBLIC	??_C@_0BC@HKIMCODC@gzObserverVehicle?$AA@	; `string'
PUBLIC	?Level_Loaded@gzManagerVehicle@@UAEXXZ		; gzManagerVehicle::Level_Loaded
EXTRN	?Insert_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z:PROC ; nc_ScriptableGameObj::Insert_Observer
EXTRN	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z:PROC ; nc_ScriptManager::Create_Script
EXTRN	?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A:DWORD ; nc_GameObjManager::GameObjList
;	COMDAT ??_C@_0BC@HKIMCODC@gzObserverVehicle?$AA@
; File d:\source code\gzgm\gzvehicle.cpp
CONST	SEGMENT
??_C@_0BC@HKIMCODC@gzObserverVehicle?$AA@ DB 'gzObserverVehicle', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Level_Loaded@gzManagerVehicle@@UAEXXZ
_TEXT	SEGMENT
?Level_Loaded@gzManagerVehicle@@UAEXXZ PROC		; gzManagerVehicle::Level_Loaded, COMDAT
; _this$ = ecx

; 166  : 	this->Delete();

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

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

	mov	eax, DWORD PTR ?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A ; nc_GameObjManager::GameObjList
	mov	esi, DWORD PTR [eax+4]
	test	esi, esi
	je	SHORT $LN2@Level_Load
	push	edi
$LL4@Level_Load:

; 169  : 	{
; 170  : 		if (objList->NodeData->As_VehicleGameObj() && gzStatic_Cast(nc_VehicleGameObjDef, objList->NodeData->definition)->VehicleType == 4)

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	call	eax
	test	eax, eax
	je	SHORT $LN3@Level_Load
	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx+1724]
	cmp	DWORD PTR [edx+224], 4
	jne	SHORT $LN3@Level_Load

; 171  : 			objList->NodeData->As_ScriptableGameObj()->Insert_Observer(nc_ScriptManager::Create_Script("gzObserverVehicle"));

	push	OFFSET ??_C@_0BC@HKIMCODC@gzObserverVehicle?$AA@
	mov	edi, ecx
	call	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z ; nc_ScriptManager::Create_Script
	add	esp, 4
	push	eax
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+48]
	mov	ecx, edi
	call	edx
	mov	ecx, eax
	call	?Insert_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z ; nc_ScriptableGameObj::Insert_Observer
$LN3@Level_Load:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL4@Level_Load
	pop	edi
$LN2@Level_Load:
	pop	esi

; 172  : 	}
; 173  : }

	ret	0
?Level_Loaded@gzManagerVehicle@@UAEXXZ ENDP		; gzManagerVehicle::Level_Loaded
_TEXT	ENDS
PUBLIC	?GetSettings@gzManagerVehicle@@QAEPAVgzSettingsVehicleClass@@XZ ; gzManagerVehicle::GetSettings
; Function compile flags: /Ogtpy
;	COMDAT ?GetSettings@gzManagerVehicle@@QAEPAVgzSettingsVehicleClass@@XZ
_TEXT	SEGMENT
?GetSettings@gzManagerVehicle@@QAEPAVgzSettingsVehicleClass@@XZ PROC ; gzManagerVehicle::GetSettings, COMDAT
; _this$ = ecx

; 247  : 	return this->m_settings;

	mov	eax, DWORD PTR [ecx+40]

; 248  : }

	ret	0
?GetSettings@gzManagerVehicle@@QAEPAVgzSettingsVehicleClass@@XZ ENDP ; gzManagerVehicle::GetSettings
_TEXT	ENDS
PUBLIC	__real@00000000
PUBLIC	?Object_Damaged@gzVehicleData@@UAEXAAVgzEventObjectDamage@@@Z ; gzVehicleData::Object_Damaged
EXTRN	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ:PROC ; gzPlayer::GetSoldier
EXTRN	?Get@nc_IntDataSafeClass@@QAEHXZ:PROC		; nc_IntDataSafeClass::Get
;	COMDAT __real@00000000
; File d:\source code\gzgm\gzeventbase.h
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
CONST	ENDS
;	COMDAT ?Object_Damaged@gzVehicleData@@UAEXAAVgzEventObjectDamage@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_Damaged@gzVehicleData@@UAEXAAVgzEventObjectDamage@@@Z PROC ; gzVehicleData::Object_Damaged, COMDAT
; _this$ = ecx

; 370  : 	if (evt.m_damage > 0.0f && evt.m_defender->NetworkID == this->m_vehId)

	fldz
	push	esi
	mov	esi, DWORD PTR _evt$[esp]
	fcomp	DWORD PTR [esi+40]
	push	edi
	mov	edi, ecx
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@Object_Dam
	mov	eax, DWORD PTR [esi+36]
	mov	ecx, DWORD PTR [eax+12]
	cmp	ecx, DWORD PTR [edi+36]
	jne	SHORT $LN1@Object_Dam

; 371  : 	{
; 372  : 		if (evt.m_attacker && evt.m_attacker->As_SoldierGameObj() && evt.m_attacker->As_SoldierGameObj()->Player)

	mov	ecx, DWORD PTR [esi+32]
	test	ecx, ecx
	je	SHORT $LN1@Object_Dam
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	test	eax, eax
	je	SHORT $LN1@Object_Dam
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN1@Object_Dam

; 373  : 		{
; 374  : 			if (this->m_owner && (this->m_bindType & VO_LOCK) != 0)

	mov	eax, DWORD PTR [edi+40]
	test	eax, eax
	je	SHORT $LN1@Object_Dam
	test	BYTE PTR [edi+44], 2
	je	SHORT $LN1@Object_Dam

; 375  : 			{
; 376  : 				if (evt.m_attacker->PlayerType == this->m_owner->GetPlayerData()->PlayerType.Get() && evt.m_attacker != this->m_owner->GetSoldier())

	mov	eax, DWORD PTR [eax+72]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR [esi+32]
	cmp	DWORD PTR [ecx+1892], eax
	jne	SHORT $LN1@Object_Dam
	mov	ecx, DWORD PTR [edi+40]
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	cmp	DWORD PTR [esi+32], eax
	je	SHORT $LN1@Object_Dam

; 377  : 				{
; 378  : 					evt.Skip();

	mov	BYTE PTR [esi+48], 0
$LN1@Object_Dam:
	pop	edi
	pop	esi

; 379  : 					return;
; 380  : 				}
; 381  : 			}
; 382  : 		}
; 383  : 	}
; 384  : }

	ret	4
?Object_Damaged@gzVehicleData@@UAEXAAVgzEventObjectDamage@@@Z ENDP ; gzVehicleData::Object_Damaged
_TEXT	ENDS
PUBLIC	?GetOwner@gzVehicleData@@QAEPAVgzPlayer@@XZ	; gzVehicleData::GetOwner
; Function compile flags: /Ogtpy
;	COMDAT ?GetOwner@gzVehicleData@@QAEPAVgzPlayer@@XZ
_TEXT	SEGMENT
?GetOwner@gzVehicleData@@QAEPAVgzPlayer@@XZ PROC	; gzVehicleData::GetOwner, COMDAT
; _this$ = ecx

; 533  : 	return this->m_owner;

	mov	eax, DWORD PTR [ecx+40]

; 534  : }

	ret	0
?GetOwner@gzVehicleData@@QAEPAVgzPlayer@@XZ ENDP	; gzVehicleData::GetOwner
_TEXT	ENDS
PUBLIC	?SetOwner@gzVehicleData@@QAEXPAVgzPlayer@@@Z	; gzVehicleData::SetOwner
; Function compile flags: /Ogtpy
;	COMDAT ?SetOwner@gzVehicleData@@QAEXPAVgzPlayer@@@Z
_TEXT	SEGMENT
_owner$ = 8						; size = 4
?SetOwner@gzVehicleData@@QAEXPAVgzPlayer@@@Z PROC	; gzVehicleData::SetOwner, COMDAT
; _this$ = ecx

; 537  : 	this->m_owner = owner;

	mov	eax, DWORD PTR _owner$[esp-4]
	mov	DWORD PTR [ecx+40], eax

; 538  : }

	ret	4
?SetOwner@gzVehicleData@@QAEXPAVgzPlayer@@@Z ENDP	; gzVehicleData::SetOwner
_TEXT	ENDS
PUBLIC	?SetBindType@gzVehicleData@@QAEXH@Z		; gzVehicleData::SetBindType
; Function compile flags: /Ogtpy
;	COMDAT ?SetBindType@gzVehicleData@@QAEXH@Z
_TEXT	SEGMENT
_type$ = 8						; size = 4
?SetBindType@gzVehicleData@@QAEXH@Z PROC		; gzVehicleData::SetBindType, COMDAT
; _this$ = ecx

; 541  : 	this->m_bindType = type;

	mov	eax, DWORD PTR _type$[esp-4]
	mov	DWORD PTR [ecx+44], eax

; 542  : }

	ret	4
?SetBindType@gzVehicleData@@QAEXH@Z ENDP		; gzVehicleData::SetBindType
_TEXT	ENDS
PUBLIC	?GetVehicleId@gzVehicleData@@QAEIXZ		; gzVehicleData::GetVehicleId
; Function compile flags: /Ogtpy
;	COMDAT ?GetVehicleId@gzVehicleData@@QAEIXZ
_TEXT	SEGMENT
?GetVehicleId@gzVehicleData@@QAEIXZ PROC		; gzVehicleData::GetVehicleId, COMDAT
; _this$ = ecx

; 545  : 	return this->m_vehId;

	mov	eax, DWORD PTR [ecx+36]

; 546  : }

	ret	0
?GetVehicleId@gzVehicleData@@QAEIXZ ENDP		; gzVehicleData::GetVehicleId
_TEXT	ENDS
PUBLIC	?GetBoneObjId@gzVehicleData@@QAEII@Z		; gzVehicleData::GetBoneObjId
; Function compile flags: /Ogtpy
;	COMDAT ?GetBoneObjId@gzVehicleData@@QAEII@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?GetBoneObjId@gzVehicleData@@QAEII@Z PROC		; gzVehicleData::GetBoneObjId, COMDAT
; _this$ = ecx

; 549  : 	if (index > 2)

	mov	eax, DWORD PTR _index$[esp-4]
	cmp	eax, 2
	jbe	SHORT $LN1@GetBoneObj

; 550  : 		return 0;

	xor	eax, eax

; 552  : }

	ret	4
$LN1@GetBoneObj:

; 551  : 	return this->m_boneObj[index];

	mov	eax, DWORD PTR [ecx+eax*4+48]

; 552  : }

	ret	4
?GetBoneObjId@gzVehicleData@@QAEII@Z ENDP		; gzVehicleData::GetBoneObjId
_TEXT	ENDS
PUBLIC	?GetBanList@gzVehicleData@@QAEAAV?$aVector@UgzVehicleOwnerBanData@@@@XZ ; gzVehicleData::GetBanList
; Function compile flags: /Ogtpy
;	COMDAT ?GetBanList@gzVehicleData@@QAEAAV?$aVector@UgzVehicleOwnerBanData@@@@XZ
_TEXT	SEGMENT
?GetBanList@gzVehicleData@@QAEAAV?$aVector@UgzVehicleOwnerBanData@@@@XZ PROC ; gzVehicleData::GetBanList, COMDAT
; _this$ = ecx

; 555  : 	return this->m_bans;

	lea	eax, DWORD PTR [ecx+64]

; 556  : }

	ret	0
?GetBanList@gzVehicleData@@QAEAAV?$aVector@UgzVehicleOwnerBanData@@@@XZ ENDP ; gzVehicleData::GetBanList
_TEXT	ENDS
PUBLIC	?GetOwner@gzVehicleOwnerClass@@QAEPAVgzPlayer@@XZ ; gzVehicleOwnerClass::GetOwner
; Function compile flags: /Ogtpy
;	COMDAT ?GetOwner@gzVehicleOwnerClass@@QAEPAVgzPlayer@@XZ
_TEXT	SEGMENT
?GetOwner@gzVehicleOwnerClass@@QAEPAVgzPlayer@@XZ PROC	; gzVehicleOwnerClass::GetOwner, COMDAT
; _this$ = ecx

; 760  : 	return this->m_owner;

	mov	eax, DWORD PTR [ecx+36]

; 761  : }

	ret	0
?GetOwner@gzVehicleOwnerClass@@QAEPAVgzPlayer@@XZ ENDP	; gzVehicleOwnerClass::GetOwner
_TEXT	ENDS
PUBLIC	?GetLastEnter@gzVehicleOwnerClass@@QAEPAVgzPlayer@@XZ ; gzVehicleOwnerClass::GetLastEnter
; Function compile flags: /Ogtpy
;	COMDAT ?GetLastEnter@gzVehicleOwnerClass@@QAEPAVgzPlayer@@XZ
_TEXT	SEGMENT
?GetLastEnter@gzVehicleOwnerClass@@QAEPAVgzPlayer@@XZ PROC ; gzVehicleOwnerClass::GetLastEnter, COMDAT
; _this$ = ecx

; 764  : 	return this->m_lastEnter;

	mov	eax, DWORD PTR [ecx+40]

; 765  : }

	ret	0
?GetLastEnter@gzVehicleOwnerClass@@QAEPAVgzPlayer@@XZ ENDP ; gzVehicleOwnerClass::GetLastEnter
_TEXT	ENDS
PUBLIC	?SetLastEnter@gzVehicleOwnerClass@@QAEXPAVgzPlayer@@I@Z ; gzVehicleOwnerClass::SetLastEnter
; Function compile flags: /Ogtpy
;	COMDAT ?SetLastEnter@gzVehicleOwnerClass@@QAEXPAVgzPlayer@@I@Z
_TEXT	SEGMENT
_player$ = 8						; size = 4
_vehicle$ = 12						; size = 4
?SetLastEnter@gzVehicleOwnerClass@@QAEXPAVgzPlayer@@I@Z PROC ; gzVehicleOwnerClass::SetLastEnter, COMDAT
; _this$ = ecx

; 768  : 	this->m_lastEnter = player;

	mov	eax, DWORD PTR _player$[esp-4]

; 769  : 	this->m_lastEnterVehId = vehicle;

	mov	edx, DWORD PTR _vehicle$[esp-4]
	mov	DWORD PTR [ecx+40], eax
	mov	DWORD PTR [ecx+44], edx

; 770  : }

	ret	8
?SetLastEnter@gzVehicleOwnerClass@@QAEXPAVgzPlayer@@I@Z ENDP ; gzVehicleOwnerClass::SetLastEnter
_TEXT	ENDS
PUBLIC	?GetBoundList@gzVehicleOwnerClass@@QAEAAV?$aVector@PAVgzVehicleData@@@@XZ ; gzVehicleOwnerClass::GetBoundList
; Function compile flags: /Ogtpy
;	COMDAT ?GetBoundList@gzVehicleOwnerClass@@QAEAAV?$aVector@PAVgzVehicleData@@@@XZ
_TEXT	SEGMENT
?GetBoundList@gzVehicleOwnerClass@@QAEAAV?$aVector@PAVgzVehicleData@@@@XZ PROC ; gzVehicleOwnerClass::GetBoundList, COMDAT
; _this$ = ecx

; 773  : 	return this->m_boundList;

	lea	eax, DWORD PTR [ecx+48]

; 774  : }

	ret	0
?GetBoundList@gzVehicleOwnerClass@@QAEAAV?$aVector@PAVgzVehicleData@@@@XZ ENDP ; gzVehicleOwnerClass::GetBoundList
_TEXT	ENDS
PUBLIC	??_C@_08PKKAEPGH@_VEHICLE?$AA@			; `string'
PUBLIC	??_C@_0L@IOBEOHFD@?$CFs?5created?$AA@		; `string'
PUBLIC	?Created@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverVehicle::Created
EXTRN	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ:PROC	; nc_ScriptImpClass::Destroy_Script
EXTRN	?gzLogger@@YAXPBD0ZZ:PROC			; gzLogger
EXTRN	?Get@gzTranslateManager@@QAEPBDPBD@Z:PROC	; gzTranslateManager::Get
EXTRN	?gzTranslator@@3PAVgzTranslateManager@@A:DWORD	; gzTranslator
EXTRN	?gzGameMgr@@3PAVgzGameManager@@A:DWORD		; gzGameMgr
;	COMDAT ??_C@_08PKKAEPGH@_VEHICLE?$AA@
CONST	SEGMENT
??_C@_08PKKAEPGH@_VEHICLE?$AA@ DB '_VEHICLE', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@IOBEOHFD@?$CFs?5created?$AA@
CONST	SEGMENT
??_C@_0L@IOBEOHFD@?$CFs?5created?$AA@ DB '%s created', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverVehicle::Created, COMDAT
; _this$ = ecx

; 1245 : {

	push	esi

; 1246 : 	this->m_vehicle = obj->As_VehicleGameObj();

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

; 1247 : 
; 1248 : 	if (((nc_VehicleGameObjDef *)obj->definition)->VehicleType == 4 || obj->As_PhysicalGameObj()->Physics->As_DecorationPhysClass())

	mov	eax, DWORD PTR [esi+1724]
	cmp	DWORD PTR [eax+224], 4
	je	SHORT $LN2@Created
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+36]
	mov	ecx, esi
	call	eax
	mov	eax, DWORD PTR [eax+1908]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+168]
	call	eax
	test	eax, eax
	jne	SHORT $LN2@Created

; 1251 : 		return;
; 1252 : 	}
; 1253 : 
; 1254 : 	this->m_flipKilled = false;

	mov	BYTE PTR [edi+32], al

; 1255 : 
; 1256 : 	if (gzGameMgr->m_settings->m_LogVehiclePurchase && gzStatic_Cast(nc_VehicleGameObjDef, obj->definition)->VehicleType != 4)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	edx, DWORD PTR [ecx+56]
	cmp	BYTE PTR [edx+115], al
	je	SHORT $LN1@Created
	mov	eax, DWORD PTR [esi+1724]
	cmp	DWORD PTR [eax+224], 4
	je	SHORT $LN1@Created

; 1257 : 		gzLogger("_VEHICLE", "%s created", gzTranslator->Get(obj->definition->Get_Name()));

	mov	ecx, eax
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0L@IOBEOHFD@?$CFs?5created?$AA@
	push	OFFSET ??_C@_08PKKAEPGH@_VEHICLE?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 12					; 0000000cH
	pop	edi
	pop	esi

; 1258 : }

	ret	4
$LN2@Created:

; 1249 : 	{
; 1250 : 		this->Destroy_Script();

	mov	ecx, edi
	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
$LN1@Created:
	pop	edi
	pop	esi

; 1258 : }

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

; 1261 : 	switch (message)

	cmp	DWORD PTR _message$[esp-4], 309475	; 0004b8e3H
	jne	SHORT $LN2@Custom

; 1262 : 	{
; 1263 : 		case 309475:
; 1264 : 			this->m_flipKilled = true;

	mov	BYTE PTR [ecx+32], 1
$LN2@Custom:

; 1265 : 			break;
; 1266 : 	}
; 1267 : }

	ret	16					; 00000010H
?Custom@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ENDP ; gzObserverVehicle::Custom
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserverVehicle>::~nc_ScriptRegistrant<gzObserverVehicle>
EXTRN	??1nc_ScriptFactory@@UAE@XZ:PROC		; nc_ScriptFactory::~nc_ScriptFactory
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserverVehicle>::~nc_ScriptRegistrant<gzObserverVehicle>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserverVehicle>::~nc_ScriptRegistrant<gzObserverVehicle>
_TEXT	ENDS
PUBLIC	?Created@gzObserverVehicleWreckage@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverVehicleWreckage::Created
; Function compile flags: /Ogtpy
;	COMDAT ?Created@gzObserverVehicleWreckage@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@gzObserverVehicleWreckage@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverVehicleWreckage::Created, COMDAT
; _this$ = ecx

; 1311 : {

	push	edi

; 1312 : 	for (int i = 0; i < 128; i++)

	lea	edi, DWORD PTR [ecx+28]

; 1313 : 		this->m_damage[i] = 0.0f;

	mov	ecx, 128				; 00000080H
	xor	eax, eax
	rep stosd
	pop	edi

; 1314 : }

	ret	4
?Created@gzObserverVehicleWreckage@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverVehicleWreckage::Created
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::~nc_ScriptRegistrant<gzObserverVehicleWreckage>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::~nc_ScriptRegistrant<gzObserverVehicleWreckage>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::~nc_ScriptRegistrant<gzObserverVehicleWreckage>
_TEXT	ENDS
PUBLIC	??_7UnbindConsoleFunction@@6B@			; UnbindConsoleFunction::`vftable'
PUBLIC	??0UnbindConsoleFunction@@QAE@XZ		; UnbindConsoleFunction::UnbindConsoleFunction
PUBLIC	??_R4UnbindConsoleFunction@@6B@			; UnbindConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVUnbindConsoleFunction@@@8		; UnbindConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3UnbindConsoleFunction@@8			; UnbindConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2UnbindConsoleFunction@@8			; UnbindConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@UnbindConsoleFunction@@8		; UnbindConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@gzConsoleCommand@@8		; gzConsoleCommand::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVgzConsoleCommand@@@8			; gzConsoleCommand `RTTI Type Descriptor'
PUBLIC	??_R3gzConsoleCommand@@8			; gzConsoleCommand::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzConsoleCommand@@8			; gzConsoleCommand::`RTTI Base Class Array'
PUBLIC	?Get_Name@UnbindConsoleFunction@@UAEPADXZ	; UnbindConsoleFunction::Get_Name
PUBLIC	?Get_Alias@gzConsoleCommand@@UAEPADXZ		; gzConsoleCommand::Get_Alias
PUBLIC	?Get_Help@UnbindConsoleFunction@@UAEPADXZ	; UnbindConsoleFunction::Get_Help
PUBLIC	?Activate@UnbindConsoleFunction@@UAEXPAD@Z	; UnbindConsoleFunction::Activate
EXTRN	??0gzConsoleCommand@@QAE@XZ:PROC		; gzConsoleCommand::gzConsoleCommand
;	COMDAT ??_R2gzConsoleCommand@@8
rdata$r	SEGMENT
??_R2gzConsoleCommand@@8 DD FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8 ; gzConsoleCommand::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzConsoleCommand@@8
rdata$r	SEGMENT
??_R3gzConsoleCommand@@8 DD 00H				; gzConsoleCommand::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzConsoleCommand@@@8
_DATA	SEGMENT
??_R0?AVgzConsoleCommand@@@8 DD FLAT:??_7type_info@@6B@	; gzConsoleCommand `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzConsoleCommand@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzConsoleCommand@@8 DD FLAT:??_R0?AVgzConsoleCommand@@@8 ; gzConsoleCommand::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@UnbindConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@UnbindConsoleFunction@@8 DD FLAT:??_R0?AVUnbindConsoleFunction@@@8 ; UnbindConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3UnbindConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2UnbindConsoleFunction@@8
rdata$r	SEGMENT
??_R2UnbindConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@UnbindConsoleFunction@@8 ; UnbindConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3UnbindConsoleFunction@@8
rdata$r	SEGMENT
??_R3UnbindConsoleFunction@@8 DD 00H			; UnbindConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2UnbindConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVUnbindConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVUnbindConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; UnbindConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVUnbindConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4UnbindConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4UnbindConsoleFunction@@6B@ DD 00H			; UnbindConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVUnbindConsoleFunction@@@8
	DD	FLAT:??_R3UnbindConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7UnbindConsoleFunction@@6B@
CONST	SEGMENT
??_7UnbindConsoleFunction@@6B@ DD FLAT:??_R4UnbindConsoleFunction@@6B@ ; UnbindConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@UnbindConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@UnbindConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@UnbindConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0UnbindConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0UnbindConsoleFunction@@QAE@XZ PROC			; UnbindConsoleFunction::UnbindConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7UnbindConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0UnbindConsoleFunction@@QAE@XZ ENDP			; UnbindConsoleFunction::UnbindConsoleFunction
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzconsolecommands.h
_TEXT	ENDS
;	COMDAT ?Get_Alias@gzConsoleCommand@@UAEPADXZ
_TEXT	SEGMENT
?Get_Alias@gzConsoleCommand@@UAEPADXZ PROC		; gzConsoleCommand::Get_Alias, COMDAT
; _this$ = ecx

; 8    : 		return 0;

	xor	eax, eax

; 9    : 	}

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

; 1386 : 		return "unbind";

	mov	eax, OFFSET ??_C@_06IDJGFAK@unbind?$AA@

; 1387 : 	}

	ret	0
?Get_Name@UnbindConsoleFunction@@UAEPADXZ ENDP		; UnbindConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0EC@BIKFHNMG@UNBIND?5?$DMplayer?$DO?5?9?5Unbind?5all?5veh@ ; `string'
;	COMDAT ??_C@_0EC@BIKFHNMG@UNBIND?5?$DMplayer?$DO?5?9?5Unbind?5all?5veh@
CONST	SEGMENT
??_C@_0EC@BIKFHNMG@UNBIND?5?$DMplayer?$DO?5?9?5Unbind?5all?5veh@ DB 'UNBI'
	DB	'ND <player> - Unbind all vehicles that has bound to <player>.'
	DB	00H						; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@UnbindConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@UnbindConsoleFunction@@UAEPADXZ PROC		; UnbindConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1390 : 		return "UNBIND <player> - Unbind all vehicles that has bound to <player>.";

	mov	eax, OFFSET ??_C@_0EC@BIKFHNMG@UNBIND?5?$DMplayer?$DO?5?9?5Unbind?5all?5veh@

; 1391 : 	}

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

; 20   : 	aVector()

	mov	eax, ecx

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

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

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

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

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

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

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 44   : 			this->m_vector = NULL;

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

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

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

; 48   : 	};

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

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

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

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

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

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

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

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

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN11@Resize:

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

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

; 61   : 				this->m_items = nSize;

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

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

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

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

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

; 69   : 	{

	push	esi
	mov	esi, ecx

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

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

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

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

; 73   : 			this->m_items++;

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

; 74   : 		}
; 75   : 	}

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

; 77   : 	{

	push	esi
	mov	esi, ecx

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

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

; 79   : 			this->Add(obj);

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

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert:

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

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

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

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

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

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

; 84   : 			this->m_items++;

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

; 85   : 		}
; 86   : 	}

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

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

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

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

	add	DWORD PTR [esi+12], -1

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

	jne	SHORT $LN3@Delete

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete:

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

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

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

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

; 99   : 		}
; 100  : 	}

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

; 80   : 	{

	push	ebx
	push	esi
	push	edi
	mov	esi, ecx

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

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

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

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

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

	cmp	DWORD PTR [esi+4], ebx
	je	SHORT $LN13@Clear@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+4]
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], ebx
$LN13@Clear@2:
	pop	edi
	mov	DWORD PTR [esi+12], ebx
	mov	DWORD PTR [esi+8], ebx
	pop	esi
	pop	ebx

; 84   : 	};

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

; 86   : 	{

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

; 87   : 		T ret;

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

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

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

; 90   : 	};

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

; 92   : 	{

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

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

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

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

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

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

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

; 97   : 			this->m_items++;

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

; 98   : 		}
; 99   : 	};

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

; 80   : 	{

	push	ebx
	push	esi
	push	edi
	mov	esi, ecx

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

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

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

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

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

	cmp	DWORD PTR [esi+4], ebx
	je	SHORT $LN13@Clear@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+4]
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], ebx
$LN13@Clear@3:
	pop	edi
	mov	DWORD PTR [esi+12], ebx
	mov	DWORD PTR [esi+8], ebx
	pop	esi
	pop	ebx

; 84   : 	};

	ret	0
?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ ENDP	; aStringArrayBase<aWideString>::Clear
_TEXT	ENDS
PUBLIC	?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ ; nc_SimpleDynVecClass<nc_GameObjObserverClass *>::Count
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_vector.h
;	COMDAT ?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ PROC ; nc_SimpleDynVecClass<nc_GameObjObserverClass *>::Count, COMDAT
; _this$ = ecx

; 252  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 253  : 	}

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

; 174  : 		return Vector[index];

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

; 175  : 	}

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

; 337  : 		return VectorMax;

	mov	eax, DWORD PTR [ecx+8]

; 338  : 	}

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

; 341  : 		return Vector[index];

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

; 342  : 	}

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

; 69   : 	{

	push	esi
	mov	esi, ecx

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

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

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

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

; 73   : 			this->m_items++;

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

; 74   : 		}
; 75   : 	}

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

; 20   : 	aVector()

	mov	eax, ecx

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

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

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

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

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

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

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

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

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 44   : 			this->m_vector = NULL;

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

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

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

; 48   : 	};

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

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

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

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

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

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

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

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

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN11@Resize@2:

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

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

; 61   : 				this->m_items = nSize;

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

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

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

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize@2:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

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

; 69   : 	{

	push	esi
	mov	esi, ecx

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

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

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

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

; 73   : 			this->m_items++;

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

; 74   : 		}
; 75   : 	}

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

; 77   : 	{

	push	esi
	mov	esi, ecx

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

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

; 79   : 			this->Add(obj);

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

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert@2:

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

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

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

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

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

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

; 84   : 			this->m_items++;

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

; 85   : 		}
; 86   : 	}

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

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

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

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

	add	DWORD PTR [esi+12], -1

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

	jne	SHORT $LN3@Delete@2

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete@2:

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

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

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

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

; 99   : 		}
; 100  : 	}

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

; 20   : 	aVector()

	mov	eax, ecx

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

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

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

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

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

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

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

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

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 44   : 			this->m_vector = NULL;

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

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

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

; 48   : 	};

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

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

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

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

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

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

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

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

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN11@Resize@3:

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

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

; 61   : 				this->m_items = nSize;

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

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

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

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize@3:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

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

; 69   : 	{

	push	esi
	mov	esi, ecx

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

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

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

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

; 73   : 			this->m_items++;

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

; 74   : 		}
; 75   : 	}

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

; 77   : 	{

	push	esi
	mov	esi, ecx

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

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

; 79   : 			this->Add(obj);

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

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert@3:

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

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

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

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

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

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

; 84   : 			this->m_items++;

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

; 85   : 		}
; 86   : 	}

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

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

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

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

	add	DWORD PTR [esi+12], -1

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

	jne	SHORT $LN3@Delete@3

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete@3:

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

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

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

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

; 99   : 		}
; 100  : 	}

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

; 20   : 	aVector()

	mov	eax, ecx

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

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

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

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

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

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

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

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

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 44   : 			this->m_vector = NULL;

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

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

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

; 48   : 	};

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

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

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

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

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

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

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

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

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN11@Resize@4:

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

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

; 61   : 				this->m_items = nSize;

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

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

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

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize@4:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

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

; 69   : 	{

	push	esi
	mov	esi, ecx

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

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

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

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

; 73   : 			this->m_items++;

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

; 74   : 		}
; 75   : 	}

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

; 77   : 	{

	push	esi
	mov	esi, ecx

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

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

; 79   : 			this->Add(obj);

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

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert@4:

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

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

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

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

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

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

; 84   : 			this->m_items++;

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

; 85   : 		}
; 86   : 	}

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

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

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

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

	add	DWORD PTR [esi+12], -1

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

	jne	SHORT $LN3@Delete@4

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete@4:

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

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

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

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

; 99   : 		}
; 100  : 	}

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

; 20   : 	aVector()

	mov	eax, ecx

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

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

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

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

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

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

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

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

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 44   : 			this->m_vector = NULL;

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

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

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

; 48   : 	};

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

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 8
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

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

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

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

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

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

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

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN11@Resize@5:

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

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

; 61   : 				this->m_items = nSize;

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

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

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

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize@5:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

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

; 69   : 	{

	push	esi
	mov	esi, ecx

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

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

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

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

; 73   : 			this->m_items++;

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

; 74   : 		}
; 75   : 	}

	ret	4
?Add@?$aVector@UgzVehicleOwnerBanData@@@@UAEXABUgzVehicleOwnerBanData@@@Z ENDP ; aVector<gzVehicleOwnerBanData>::Add
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Insert@?$aVector@UgzVehicleOwnerBanData@@@@UAEXIABUgzVehicleOwnerBanData@@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@UgzVehicleOwnerBanData@@@@UAEXIABUgzVehicleOwnerBanData@@@Z PROC ; aVector<gzVehicleOwnerBanData>::Insert, COMDAT
; _this$ = ecx

; 77   : 	{

	push	esi
	mov	esi, ecx

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

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

; 79   : 			this->Add(obj);

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

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert@5:

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

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

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

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

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

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

; 84   : 			this->m_items++;

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

; 85   : 		}
; 86   : 	}

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

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

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

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

	add	DWORD PTR [esi+12], -1

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

	jne	SHORT $LN3@Delete@5

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete@5:

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

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

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

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

; 99   : 		}
; 100  : 	}

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

; 20   : 	aVector()

	mov	eax, ecx

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

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

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

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

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

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

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

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

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 44   : 			this->m_vector = NULL;

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

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

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

; 48   : 	};

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

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

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

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

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

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

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

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

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

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

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN11@Resize@6:

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

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

; 61   : 				this->m_items = nSize;

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

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

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

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize@6:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

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

; 69   : 	{

	push	esi
	mov	esi, ecx

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

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

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

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

; 73   : 			this->m_items++;

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

; 74   : 		}
; 75   : 	}

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

; 77   : 	{

	push	esi
	mov	esi, ecx

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

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

; 79   : 			this->Add(obj);

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

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert@6:

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

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

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

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

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

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

; 84   : 			this->m_items++;

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

; 85   : 		}
; 86   : 	}

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

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

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

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

	add	DWORD PTR [esi+12], -1

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

	jne	SHORT $LN3@Delete@6

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete@6:

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

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

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

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

; 99   : 		}
; 100  : 	}

	ret	4
?Delete@?$aVector@PAVgzVehicleData@@@@UAEXI@Z ENDP	; aVector<gzVehicleData *>::Delete
_TEXT	ENDS
PUBLIC	?Index@?$aVector@PAVgzVehicleData@@@@QAEHABQAVgzVehicleData@@@Z ; aVector<gzVehicleData *>::Index
; Function compile flags: /Ogtpy
;	COMDAT ?Index@?$aVector@PAVgzVehicleData@@@@QAEHABQAVgzVehicleData@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Index@?$aVector@PAVgzVehicleData@@@@QAEHABQAVgzVehicleData@@@Z PROC ; aVector<gzVehicleData *>::Index, COMDAT
; _this$ = ecx

; 102  : 	{

	mov	edx, DWORD PTR [ecx+12]

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

	xor	eax, eax
	test	edx, edx
	push	esi
	jbe	SHORT $LN2@Index
	mov	esi, DWORD PTR _obj$[esp]
	mov	esi, DWORD PTR [esi]
	mov	ecx, DWORD PTR [ecx+4]
$LL4@Index:

; 104  : 		{
; 105  : 			if (this->m_vector[i] == obj)

	cmp	DWORD PTR [ecx], esi
	je	SHORT $LN5@Index
	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jb	SHORT $LL4@Index
$LN2@Index:

; 106  : 				return i;
; 107  : 		}
; 108  : 		return -1;

	or	eax, -1
$LN5@Index:
	pop	esi

; 109  : 	};

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

; 24   : 	aList()

	mov	eax, ecx

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

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aList@VgzVehicleData@@@@6B@
	mov	DWORD PTR [eax+8], ecx

; 27   : 		this->m_Tail = NULL;

	mov	DWORD PTR [eax+12], ecx

; 28   : 		this->m_count = 0;

	mov	DWORD PTR [eax+4], ecx

; 29   : 	};

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

; 55   : 		return this->m_Head;

	mov	eax, DWORD PTR [ecx+8]

; 56   : 	};

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

; 59   : 		return this->m_Tail;

	mov	eax, DWORD PTR [ecx+12]

; 60   : 	};

	ret	0
?GetTail@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@XZ ENDP ; aList<gzVehicleData>::GetTail
_TEXT	ENDS
PUBLIC	??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@ ; `string'
EXTRN	??2@YAPAXI@Z:PROC				; operator new
;	COMDAT ??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@
CONST	SEGMENT
??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@ DB 'd:\source '
	DB	'code\alib\include\aList.h', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?AddHead@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?AddHead@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@@Z PROC ; aList<gzVehicleData>::AddHead, COMDAT
; _this$ = ecx

; 62   : 	{

	push	esi

; 63   : 		aListNode<T>* newNode = new aListNode<T>;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	63					; 0000003fH
	push	OFFSET ??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@
	mov	esi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new

; 64   : 		newNode->m_nextNode = this->m_Head;

	mov	ecx, DWORD PTR [esi+8]

; 65   : 		newNode->data = data;

	mov	edx, DWORD PTR _data$[esp+16]
	mov	DWORD PTR [eax], ecx
	mov	DWORD PTR [eax+4], edx
	add	esp, 16					; 00000010H

; 66   : 		this->m_Head = newNode;
; 67   : 		if (this->m_Tail == NULL)

	cmp	DWORD PTR [esi+12], 0
	mov	DWORD PTR [esi+8], eax
	jne	SHORT $LN1@AddHead

; 68   : 			this->m_Tail = newNode;

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

; 69   : 		this->m_count++;

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

; 70   : 		return true;
; 71   : 	};

	ret	4
?AddHead@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@@Z ENDP ; aList<gzVehicleData>::AddHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddHead@?$aList@VgzVehicleData@@@@UAE_NAAV1@@Z
_TEXT	SEGMENT
_nodes$ = 8						; size = 4
?AddHead@?$aList@VgzVehicleData@@@@UAE_NAAV1@@Z PROC	; aList<gzVehicleData>::AddHead, COMDAT
; _this$ = ecx

; 73   : 	{

	push	esi
	push	edi
	mov	edi, ecx

; 74   : 		for (aListNode<T>* list = nodes.GetHead(); list != NULL; list = list->m_nextNode)

	mov	ecx, DWORD PTR _nodes$[esp+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	mov	esi, eax
	test	esi, esi
	je	SHORT $LN8@AddHead@2
$LL3@AddHead@2:

; 75   : 			this->AddHead(list->data);

	mov	ecx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+16]
	push	ecx
	mov	ecx, edi
	call	edx
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL3@AddHead@2
$LN8@AddHead@2:
	pop	edi

; 76   : 		return true;

	mov	al, 1
	pop	esi

; 77   : 	};

	ret	4
?AddHead@?$aList@VgzVehicleData@@@@UAE_NAAV1@@Z ENDP	; aList<gzVehicleData>::AddHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddTail@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?AddTail@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@@Z PROC ; aList<gzVehicleData>::AddTail, COMDAT
; _this$ = ecx

; 79   : 	{

	push	esi

; 80   : 		aListNode<T> *newNode = new aListNode<T>;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	80					; 00000050H
	push	OFFSET ??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@
	mov	esi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new

; 81   : 		newNode->m_nextNode = NULL;
; 82   : 		newNode->data = data;

	mov	ecx, DWORD PTR _data$[esp+16]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [eax], 0
	mov	DWORD PTR [eax+4], ecx

; 83   : 		if (this->m_Head == NULL)

	cmp	DWORD PTR [esi+8], 0
	jne	SHORT $LN2@AddTail

; 84   : 			this->m_Head = newNode;

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

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

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

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

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

; 87   : 		this->m_Tail = newNode;

	mov	DWORD PTR [esi+12], eax

; 88   : 		this->m_count++;

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

; 89   : 		return true;
; 90   : 	};

	ret	4
?AddTail@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@@Z ENDP ; aList<gzVehicleData>::AddTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?AddTail@?$aList@VgzVehicleData@@@@UAE_NAAV1@@Z
_TEXT	SEGMENT
_nodes$ = 8						; size = 4
?AddTail@?$aList@VgzVehicleData@@@@UAE_NAAV1@@Z PROC	; aList<gzVehicleData>::AddTail, COMDAT
; _this$ = ecx

; 92   : 	{

	push	esi
	push	edi
	mov	edi, ecx

; 93   : 		for (aListNode<T>* list = nodes.GetHead(); list != NULL; list = list->m_nextNode)

	mov	ecx, DWORD PTR _nodes$[esp+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	mov	esi, eax
	test	esi, esi
	je	SHORT $LN8@AddTail@2
$LL3@AddTail@2:

; 94   : 			this->AddTail(list->data);

	mov	ecx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+24]
	push	ecx
	mov	ecx, edi
	call	edx
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL3@AddTail@2
$LN8@AddTail@2:
	pop	edi

; 95   : 		return true;

	mov	al, 1
	pop	esi

; 96   : 	};

	ret	4
?AddTail@?$aList@VgzVehicleData@@@@UAE_NAAV1@@Z ENDP	; aList<gzVehicleData>::AddTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertBefore@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@0@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_beforeData$ = 12					; size = 4
?InsertBefore@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@0@Z PROC ; aList<gzVehicleData>::InsertBefore, COMDAT
; _this$ = ecx

; 98   : 	{

	push	ebx
	push	esi
	mov	ebx, ecx

; 99   : 		for (aListNode<T> *list = this->m_Head, *prev = NULL; list != NULL; list = list->m_nextNode)

	mov	esi, DWORD PTR [ebx+8]
	push	edi
	xor	edi, edi
	test	esi, esi
	je	SHORT $LN4@InsertBefo
	mov	eax, DWORD PTR _beforeData$[esp+8]
$LL6@InsertBefo:

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

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

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

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

; 114  : 		}
; 115  : 		return false;

	xor	al, al
	pop	ebx

; 116  : 	};

	ret	8
$LN12@InsertBefo:

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	103					; 00000067H
	push	OFFSET ??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new

; 104  : 				newNode->m_nextNode = list;
; 105  : 				newNode->data = data;

	mov	ecx, DWORD PTR _data$[esp+24]
	add	esp, 16					; 00000010H

; 106  : 				if (prev)

	test	edi, edi
	mov	DWORD PTR [eax], esi
	mov	DWORD PTR [eax+4], ecx
	je	SHORT $LN2@InsertBefo

; 107  : 					prev->m_nextNode = newNode;

	mov	DWORD PTR [edi], eax
	pop	edi

; 110  : 				this->m_count++;

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

; 116  : 	};

	ret	8
$LN2@InsertBefo:

; 108  : 				else
; 109  : 					this->m_Head = newNode;

	mov	DWORD PTR [ebx+8], eax
	pop	edi

; 110  : 				this->m_count++;

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

; 116  : 	};

	ret	8
?InsertBefore@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@0@Z ENDP ; aList<gzVehicleData>::InsertBefore
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertBefore@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@PAV?$aListNode@VgzVehicleData@@@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_beforeNode$ = 12					; size = 4
?InsertBefore@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@PAV?$aListNode@VgzVehicleData@@@@@Z PROC ; aList<gzVehicleData>::InsertBefore, COMDAT
; _this$ = ecx

; 119  : 		return this->InsertBefore(data, beforeNode->data);

	mov	edx, DWORD PTR _beforeNode$[esp-4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+4]
	mov	DWORD PTR _beforeNode$[esp-4], edx
	mov	eax, DWORD PTR [eax+32]
	jmp	eax
?InsertBefore@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@PAV?$aListNode@VgzVehicleData@@@@@Z ENDP ; aList<gzVehicleData>::InsertBefore
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertAfter@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@PAV?$aListNode@VgzVehicleData@@@@@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_afterNode$ = 12					; size = 4
?InsertAfter@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@PAV?$aListNode@VgzVehicleData@@@@@Z PROC ; aList<gzVehicleData>::InsertAfter, COMDAT
; _this$ = ecx

; 144  : 		return this->InsertAfter(data, afterNode->data);

	mov	edx, DWORD PTR _afterNode$[esp-4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+4]
	mov	DWORD PTR _afterNode$[esp-4], edx
	mov	eax, DWORD PTR [eax+40]
	jmp	eax
?InsertAfter@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@PAV?$aListNode@VgzVehicleData@@@@@Z ENDP ; aList<gzVehicleData>::InsertAfter
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveHead@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@XZ
_TEXT	SEGMENT
?RemoveHead@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@XZ PROC ; aList<gzVehicleData>::RemoveHead, COMDAT
; _this$ = ecx

; 147  : 	{

	push	esi
	mov	esi, ecx
	push	edi

; 148  : 		if (this->m_Head)

	mov	edi, DWORD PTR [esi+8]
	test	edi, edi
	je	SHORT $LN3@RemoveHead

; 149  : 		{
; 150  : 			aListNode<T> *node = this->m_Head;
; 151  : 			if (node->m_nextNode)

	mov	eax, DWORD PTR [edi]

; 152  : 				this->m_Head = node->m_nextNode;
; 153  : 			else
; 154  : 				this->m_Head = NULL;
; 155  : 			delete node;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	155					; 0000009bH
	push	OFFSET ??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@
	mov	DWORD PTR [esi+8], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	edi
	call	??3@YAXPAX@Z				; operator delete

; 156  : 			this->m_count--;
; 157  : 			return this->m_Head;

	mov	eax, DWORD PTR [esi+8]
	add	esp, 16					; 00000010H
	add	DWORD PTR [esi+4], -1
	pop	edi
	pop	esi

; 160  : 	};

	ret	0
$LN3@RemoveHead:
	pop	edi

; 158  : 		}
; 159  : 		return NULL;

	xor	eax, eax
	pop	esi

; 160  : 	};

	ret	0
?RemoveHead@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@XZ ENDP ; aList<gzVehicleData>::RemoveHead
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveTail@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@XZ
_TEXT	SEGMENT
?RemoveTail@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@XZ PROC ; aList<gzVehicleData>::RemoveTail, COMDAT
; _this$ = ecx

; 162  : 	{

	push	edi
	mov	edi, ecx

; 163  : 		if (this->m_Tail)

	cmp	DWORD PTR [edi+12], 0
	je	SHORT $LN6@RemoveTail

; 164  : 		{
; 165  : 			aListNode<T> *prev = NULL;
; 166  : 			for (aListNode<T> *list = this->m_Head; list != NULL; list = list->m_nextNode)

	mov	eax, DWORD PTR [edi+8]
	push	esi
	xor	esi, esi
	test	eax, eax
	je	SHORT $LN1@RemoveTail
$LL5@RemoveTail:

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

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

; 169  : 					prev = list;

	mov	esi, eax
$LN4@RemoveTail:

; 164  : 		{
; 165  : 			aListNode<T> *prev = NULL;
; 166  : 			for (aListNode<T> *list = this->m_Head; list != NULL; list = list->m_nextNode)

	mov	eax, ecx
	test	eax, eax
	jne	SHORT $LL5@RemoveTail

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

	test	esi, esi
	je	SHORT $LN1@RemoveTail

; 172  : 				prev->m_nextNode = NULL;

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

; 173  : 			delete this->m_Tail;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	173					; 000000adH
	push	OFFSET ??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [edi+12]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 16					; 00000010H

; 174  : 			this->m_Tail = prev;
; 175  : 			this->m_count--;

	add	DWORD PTR [edi+4], -1
	mov	DWORD PTR [edi+12], esi

; 176  : 			return prev;

	mov	eax, esi
	pop	esi
	pop	edi

; 179  : 	};

	ret	0
$LN6@RemoveTail:

; 177  : 		}
; 178  : 		return NULL;

	xor	eax, eax
	pop	edi

; 179  : 	};

	ret	0
?RemoveTail@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@XZ ENDP ; aList<gzVehicleData>::RemoveTail
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Remove@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@PAVgzVehicleData@@@Z
_TEXT	SEGMENT
_element$ = 8						; size = 4
?Remove@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@PAVgzVehicleData@@@Z PROC ; aList<gzVehicleData>::Remove, COMDAT
; _this$ = ecx

; 181  : 	{

	push	ebx
	mov	ebx, ecx

; 182  : 		if (this->m_Head && this->m_Head->data == element)

	mov	ecx, DWORD PTR _element$[esp]
	push	esi
	mov	esi, DWORD PTR [ebx+8]
	test	esi, esi
	je	SHORT $LN8@Remove
	cmp	DWORD PTR [esi+4], ecx
	jne	SHORT $LN8@Remove

; 183  : 			return this->RemoveHead();

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

; 202  : 	};

	ret	4
$LN8@Remove:

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

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

; 185  : 			return this->RemoveTail();

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

; 202  : 	};

	ret	4
$LN6@Remove:
	push	edi

; 186  : 		else
; 187  : 		{
; 188  : 			for (aListNode<T>* list = this->m_Head, *prev = NULL; list != NULL; list = list->m_nextNode)

	xor	edi, edi
	test	esi, esi
	je	SHORT $LN2@Remove
$LL4@Remove:

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

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

; 197  : 				}
; 198  : 				prev = list;

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

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

	xor	eax, eax
	pop	ebx

; 202  : 	};

	ret	4
$LN14@Remove:

; 191  : 				{
; 192  : 					prev->m_nextNode = list->m_nextNode;

	mov	eax, DWORD PTR [esi]

; 193  : 					list->m_nextNode = NULL;
; 194  : 					delete list;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	194					; 000000c2H
	mov	DWORD PTR [edi], eax
	push	OFFSET ??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@
	mov	DWORD PTR [esi], 0
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??3@YAXPAX@Z				; operator delete

; 195  : 					this->m_count--;

	add	DWORD PTR [ebx+4], -1
	add	esp, 16					; 00000010H

; 196  : 					return prev;

	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebx

; 202  : 	};

	ret	4
?Remove@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@PAVgzVehicleData@@@Z ENDP ; aList<gzVehicleData>::Remove
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Remove@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@ABV2@@Z
_TEXT	SEGMENT
_node$ = 8						; size = 4
?Remove@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@ABV2@@Z PROC ; aList<gzVehicleData>::Remove, COMDAT
; _this$ = ecx

; 205  : 		return this->Remove(node.data);

	mov	edx, DWORD PTR _node$[esp-4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+4]
	mov	DWORD PTR _node$[esp-4], edx
	mov	eax, DWORD PTR [eax+56]
	jmp	eax
?Remove@?$aList@VgzVehicleData@@@@UAEPAV?$aListNode@VgzVehicleData@@@@ABV2@@Z ENDP ; aList<gzVehicleData>::Remove
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?RemoveAll@?$aList@VgzVehicleData@@@@UAEXXZ
_TEXT	SEGMENT
?RemoveAll@?$aList@VgzVehicleData@@@@UAEXXZ PROC	; aList<gzVehicleData>::RemoveAll, COMDAT
; _this$ = ecx

; 208  : 	{

	push	ebx
	mov	ebx, ecx
	push	esi

; 209  : 		aListNode<T> *list = this->m_Head;

	mov	esi, DWORD PTR [ebx+8]

; 210  : 		while (list)

	test	esi, esi
	je	SHORT $LN1@RemoveAll
	push	edi
	npad	4
$LL2@RemoveAll:

; 211  : 		{
; 212  : 			aListNode<T> *next = list->m_nextNode;

	mov	edi, DWORD PTR [esi]

; 213  : 			delete list;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	213					; 000000d5H
	push	OFFSET ??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 16					; 00000010H
	test	edi, edi

; 214  : 			list = next;

	mov	esi, edi
	jne	SHORT $LL2@RemoveAll
	pop	edi
$LN1@RemoveAll:
	pop	esi

; 215  : 		}
; 216  : 		this->m_Head = NULL;

	mov	DWORD PTR [ebx+8], 0

; 217  : 		this->m_Tail = NULL;

	mov	DWORD PTR [ebx+12], 0

; 218  : 		this->m_count = 0;

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

; 219  : 	};

	ret	0
?RemoveAll@?$aList@VgzVehicleData@@@@UAEXXZ ENDP	; aList<gzVehicleData>::RemoveAll
_TEXT	ENDS
PUBLIC	?GetNext@?$aListNode@VgzVehicleData@@@@QAEPAV1@XZ ; aListNode<gzVehicleData>::GetNext
; Function compile flags: /Ogtpy
;	COMDAT ?GetNext@?$aListNode@VgzVehicleData@@@@QAEPAV1@XZ
_TEXT	SEGMENT
?GetNext@?$aListNode@VgzVehicleData@@@@QAEPAV1@XZ PROC	; aListNode<gzVehicleData>::GetNext, COMDAT
; _this$ = ecx

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

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

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

	mov	eax, DWORD PTR [ecx+4]
	ret	0
?GetData@?$aListNode@VgzVehicleData@@@@QAEPAVgzVehicleData@@XZ ENDP ; aListNode<gzVehicleData>::GetData
_TEXT	ENDS
PUBLIC	??_7?$nc_ScriptRegistrant@VgzObserverVehicle@@@@6B@ ; nc_ScriptRegistrant<gzObserverVehicle>::`vftable'
PUBLIC	??0?$nc_ScriptRegistrant@VgzObserverVehicle@@@@QAE@PAD0@Z ; nc_ScriptRegistrant<gzObserverVehicle>::nc_ScriptRegistrant<gzObserverVehicle>
PUBLIC	??_R4?$nc_ScriptRegistrant@VgzObserverVehicle@@@@6B@ ; nc_ScriptRegistrant<gzObserverVehicle>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$nc_ScriptRegistrant@VgzObserverVehicle@@@@@8 ; nc_ScriptRegistrant<gzObserverVehicle> `RTTI Type Descriptor'
PUBLIC	??_R3?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8 ; nc_ScriptRegistrant<gzObserverVehicle>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8 ; nc_ScriptRegistrant<gzObserverVehicle>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8 ; nc_ScriptRegistrant<gzObserverVehicle>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@nc_ScriptFactory@@8		; nc_ScriptFactory::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_ScriptFactory@@@8			; nc_ScriptFactory `RTTI Type Descriptor'
PUBLIC	??_R3nc_ScriptFactory@@8			; nc_ScriptFactory::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_ScriptFactory@@8			; nc_ScriptFactory::`RTTI Base Class Array'
PUBLIC	?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ ; nc_ScriptRegistrant<gzObserverVehicle>::Create
EXTRN	??0nc_ScriptFactory@@QAE@PAD0@Z:PROC		; nc_ScriptFactory::nc_ScriptFactory
EXTRN	??_E?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAXI@Z:PROC ; nc_ScriptRegistrant<gzObserverVehicle>::`vector deleting destructor'
;	COMDAT ??_R2nc_ScriptFactory@@8
; File d:\source code\fds lib\new\fds_scripts.h
rdata$r	SEGMENT
??_R2nc_ScriptFactory@@8 DD FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8 ; nc_ScriptFactory::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3nc_ScriptFactory@@8
rdata$r	SEGMENT
??_R3nc_ScriptFactory@@8 DD 00H				; nc_ScriptFactory::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_ScriptFactory@@@8
_DATA	SEGMENT
??_R0?AVnc_ScriptFactory@@@8 DD FLAT:??_7type_info@@6B@	; nc_ScriptFactory `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_ScriptFactory@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_ScriptFactory@@8 DD FLAT:??_R0?AVnc_ScriptFactory@@@8 ; nc_ScriptFactory::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8 DD FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVehicle@@@@@8 ; nc_ScriptRegistrant<gzObserverVehicle>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8
rdata$r	SEGMENT
??_R2?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8 DD FLAT:??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8 ; nc_ScriptRegistrant<gzObserverVehicle>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8
rdata$r	SEGMENT
??_R3?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8 DD 00H ; nc_ScriptRegistrant<gzObserverVehicle>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$nc_ScriptRegistrant@VgzObserverVehicle@@@@@8
_DATA	SEGMENT
??_R0?AV?$nc_ScriptRegistrant@VgzObserverVehicle@@@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptRegistrant<gzObserverVehicle> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$nc_ScriptRegistrant@VgzObserverVehicle@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$nc_ScriptRegistrant@VgzObserverVehicle@@@@6B@
rdata$r	SEGMENT
??_R4?$nc_ScriptRegistrant@VgzObserverVehicle@@@@6B@ DD 00H ; nc_ScriptRegistrant<gzObserverVehicle>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVehicle@@@@@8
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVehicle@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$nc_ScriptRegistrant@VgzObserverVehicle@@@@6B@
CONST	SEGMENT
??_7?$nc_ScriptRegistrant@VgzObserverVehicle@@@@6B@ DD FLAT:??_R4?$nc_ScriptRegistrant@VgzObserverVehicle@@@@6B@ ; nc_ScriptRegistrant<gzObserverVehicle>::`vftable'
	DD	FLAT:??_E?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$nc_ScriptRegistrant@VgzObserverVehicle@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$nc_ScriptRegistrant@VgzObserverVehicle@@@@QAE@PAD0@Z PROC ; nc_ScriptRegistrant<gzObserverVehicle>::nc_ScriptRegistrant<gzObserverVehicle>, COMDAT
; _this$ = ecx

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVehicle@@@@6B@

; 466  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$nc_ScriptRegistrant@VgzObserverVehicle@@@@QAE@PAD0@Z ENDP ; nc_ScriptRegistrant<gzObserverVehicle>::nc_ScriptRegistrant<gzObserverVehicle>
_TEXT	ENDS
PUBLIC	?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z ; nc_ScriptImpClass::SetFactory
; Function compile flags: /Ogtpy
;	COMDAT ?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z
_TEXT	SEGMENT
_ptr$ = 8						; size = 4
?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z PROC ; nc_ScriptImpClass::SetFactory, COMDAT
; _this$ = ecx

; 99   : 		Factory = ptr;

	mov	eax, DWORD PTR _ptr$[esp-4]
	mov	DWORD PTR [ecx+20], eax

; 100  : 	}

	ret	4
?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z ENDP ; nc_ScriptImpClass::SetFactory
_TEXT	ENDS
PUBLIC	??_7?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@6B@ ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`vftable'
PUBLIC	??0?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@QAE@PAD0@Z ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::nc_ScriptRegistrant<gzObserverVehicleWreckage>
PUBLIC	??_R4?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@6B@ ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@@8 ; nc_ScriptRegistrant<gzObserverVehicleWreckage> `RTTI Type Descriptor'
PUBLIC	??_R3?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8 ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8 ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8 ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::Create
EXTRN	??_E?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAXI@Z:PROC ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8 DD FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@@8 ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8
rdata$r	SEGMENT
??_R2?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8 DD FLAT:??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8 ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8
rdata$r	SEGMENT
??_R3?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8 DD 00H ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@@8
_DATA	SEGMENT
??_R0?AV?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptRegistrant<gzObserverVehicleWreckage> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@'
	DB	00H
_DATA	ENDS
;	COMDAT ??_R4?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@6B@
rdata$r	SEGMENT
??_R4?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@6B@ DD 00H ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@@8
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@6B@
CONST	SEGMENT
??_7?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@6B@ DD FLAT:??_R4?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@6B@ ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`vftable'
	DD	FLAT:??_E?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@QAE@PAD0@Z PROC ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::nc_ScriptRegistrant<gzObserverVehicleWreckage>, COMDAT
; _this$ = ecx

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@6B@

; 466  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@QAE@PAD0@Z ENDP ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::nc_ScriptRegistrant<gzObserverVehicleWreckage>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0bad_alloc@std@@QAE@ABV01@@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx
	mov	eax, DWORD PTR ___that$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABV01@@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0bad_alloc@std@@QAE@ABV01@@Z ENDP			; std::bad_alloc::bad_alloc
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverVehicle>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@2
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@2:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverVehicle>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@3
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@3:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0?$allocator@D@std@@QAE@XZ			; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ??0?$allocator@D@std@@QAE@XZ
_TEXT	SEGMENT
??0?$allocator@D@std@@QAE@XZ PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

; 120  : 	allocator() _THROW0()

	mov	eax, ecx

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

	ret	0
??0?$allocator@D@std@@QAE@XZ ENDP			; std::allocator<char>::allocator<char>
_TEXT	ENDS
PUBLIC	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z$0
__ehfuncinfo$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
_content$ = 8						; size = 8
?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z PROC ; aStringArrayBase<aWideString>::Add, COMDAT
; _this$ = ecx

; 92   : 	{

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

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

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

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

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

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

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

; 97   : 			this->m_items++;

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

; 98   : 		}
; 99   : 	};

	lea	ecx, DWORD PTR _content$[esp+12]
	mov	DWORD PTR __$EHRec$[esp+24], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+16]
	mov	DWORD PTR fs:0, ecx
	pop	esi
	add	esp, 12					; 0000000cH
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z$0:
	lea	ecx, DWORD PTR _content$[ebp-4]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ENDP ; aStringArrayBase<aWideString>::Add
PUBLIC	??0?$allocator@D@std@@QAE@ABV01@@Z		; 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@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	??_7gzObserverVehicle@@6B@			; gzObserverVehicle::`vftable'
PUBLIC	??0gzObserverVehicle@@QAE@XZ			; gzObserverVehicle::gzObserverVehicle
PUBLIC	??_R4gzObserverVehicle@@6B@			; gzObserverVehicle::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverVehicle@@@8			; gzObserverVehicle `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverVehicle@@8			; gzObserverVehicle::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverVehicle@@8			; gzObserverVehicle::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverVehicle@@8		; gzObserverVehicle::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@nc_ScriptImpClass@@8		; nc_ScriptImpClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_ScriptImpClass@@@8			; nc_ScriptImpClass `RTTI Type Descriptor'
PUBLIC	??_R3nc_ScriptImpClass@@8			; nc_ScriptImpClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_ScriptImpClass@@8			; nc_ScriptImpClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@nc_ScriptClass@@8			; nc_ScriptClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_ScriptClass@@@8			; nc_ScriptClass `RTTI Type Descriptor'
PUBLIC	??_R3nc_ScriptClass@@8				; nc_ScriptClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_ScriptClass@@8				; nc_ScriptClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@nc_GameObjObserverClass@@8	; nc_GameObjObserverClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_GameObjObserverClass@@@8		; nc_GameObjObserverClass `RTTI Type Descriptor'
PUBLIC	??_R3nc_GameObjObserverClass@@8			; nc_GameObjObserverClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_GameObjObserverClass@@8			; nc_GameObjObserverClass::`RTTI Base Class Array'
PUBLIC	?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzObserverVehicle::Killed
EXTRN	??0nc_ScriptImpClass@@QAE@XZ:PROC		; nc_ScriptImpClass::nc_ScriptImpClass
EXTRN	??_EgzObserverVehicle@@UAEPAXI@Z:PROC		; gzObserverVehicle::`vector deleting destructor'
EXTRN	?Get_Name@nc_ScriptImpClass@@UAEPADXZ:PROC	; nc_ScriptImpClass::Get_Name
EXTRN	?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z:PROC ; nc_ScriptImpClass::Attach
EXTRN	?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z:PROC ; nc_ScriptImpClass::Detach
EXTRN	?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z:PROC ; nc_ScriptImpClass::Destroyed
EXTRN	?Damaged@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0M@Z:PROC ; nc_ScriptImpClass::Damaged
EXTRN	?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z:PROC ; nc_ScriptImpClass::Sound_Heard
EXTRN	?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Enemy_Seen
EXTRN	?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z:PROC ; nc_ScriptImpClass::Action_Complete
EXTRN	?Timer_Expired@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@H@Z:PROC ; nc_ScriptImpClass::Timer_Expired
EXTRN	?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z:PROC ; nc_ScriptImpClass::Animation_Complete
EXTRN	?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Poked
EXTRN	?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Entered
EXTRN	?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Exited
EXTRN	?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ:PROC ; nc_ScriptImpClass::Owner
EXTRN	?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ:PROC ; nc_ScriptImpClass::Get_Owner_Ptr
EXTRN	?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z:PROC ; nc_ScriptImpClass::Set_Parameters_String
EXTRN	?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z:PROC ; nc_ScriptImpClass::Get_Parameters_String
EXTRN	?Save@nc_ScriptImpClass@@UAEXAAE@Z:PROC		; nc_ScriptImpClass::Save
EXTRN	?Load@nc_ScriptImpClass@@UAEXAAE@Z:PROC		; nc_ScriptImpClass::Load
EXTRN	?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z:PROC	; nc_ScriptImpClass::Save_Data
EXTRN	?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z:PROC	; nc_ScriptImpClass::Load_Data
EXTRN	?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ:PROC ; nc_ScriptImpClass::Register_Auto_Save_Variables
;	COMDAT ??_R2nc_GameObjObserverClass@@8
rdata$r	SEGMENT
??_R2nc_GameObjObserverClass@@8 DD FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8 ; nc_GameObjObserverClass::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3nc_GameObjObserverClass@@8
rdata$r	SEGMENT
??_R3nc_GameObjObserverClass@@8 DD 00H			; nc_GameObjObserverClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_GameObjObserverClass@@@8
_DATA	SEGMENT
??_R0?AVnc_GameObjObserverClass@@@8 DD FLAT:??_7type_info@@6B@ ; nc_GameObjObserverClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_GameObjObserverClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_GameObjObserverClass@@8 DD FLAT:??_R0?AVnc_GameObjObserverClass@@@8 ; nc_GameObjObserverClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R2nc_ScriptClass@@8
rdata$r	SEGMENT
??_R2nc_ScriptClass@@8 DD FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8 ; nc_ScriptClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3nc_ScriptClass@@8
rdata$r	SEGMENT
??_R3nc_ScriptClass@@8 DD 00H				; nc_ScriptClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2nc_ScriptClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_ScriptClass@@@8
_DATA	SEGMENT
??_R0?AVnc_ScriptClass@@@8 DD FLAT:??_7type_info@@6B@	; nc_ScriptClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_ScriptClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_ScriptClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_ScriptClass@@8 DD FLAT:??_R0?AVnc_ScriptClass@@@8 ; nc_ScriptClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_ScriptClass@@8
rdata$r	ENDS
;	COMDAT ??_R2nc_ScriptImpClass@@8
rdata$r	SEGMENT
??_R2nc_ScriptImpClass@@8 DD FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8 ; nc_ScriptImpClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3nc_ScriptImpClass@@8
rdata$r	SEGMENT
??_R3nc_ScriptImpClass@@8 DD 00H			; nc_ScriptImpClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2nc_ScriptImpClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_ScriptImpClass@@@8
_DATA	SEGMENT
??_R0?AVnc_ScriptImpClass@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptImpClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_ScriptImpClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_ScriptImpClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_ScriptImpClass@@8 DD FLAT:??_R0?AVnc_ScriptImpClass@@@8 ; nc_ScriptImpClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_ScriptImpClass@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzObserverVehicle@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverVehicle@@8 DD FLAT:??_R0?AVgzObserverVehicle@@@8 ; gzObserverVehicle::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverVehicle@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverVehicle@@8
rdata$r	SEGMENT
??_R2gzObserverVehicle@@8 DD FLAT:??_R1A@?0A@EA@gzObserverVehicle@@8 ; gzObserverVehicle::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzObserverVehicle@@8
rdata$r	SEGMENT
??_R3gzObserverVehicle@@8 DD 00H			; gzObserverVehicle::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverVehicle@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverVehicle@@@8
_DATA	SEGMENT
??_R0?AVgzObserverVehicle@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserverVehicle `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverVehicle@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverVehicle@@6B@
rdata$r	SEGMENT
??_R4gzObserverVehicle@@6B@ DD 00H			; gzObserverVehicle::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverVehicle@@@8
	DD	FLAT:??_R3gzObserverVehicle@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverVehicle@@6B@
CONST	SEGMENT
??_7gzObserverVehicle@@6B@ DD FLAT:??_R4gzObserverVehicle@@6B@ ; gzObserverVehicle::`vftable'
	DD	FLAT:??_EgzObserverVehicle@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzObserverVehicle@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverVehicle@@QAE@XZ PROC			; gzObserverVehicle::gzObserverVehicle, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVehicle@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverVehicle@@QAE@XZ ENDP			; gzObserverVehicle::gzObserverVehicle
_TEXT	ENDS
PUBLIC	??_7gzObserverVehicleWreckage@@6B@		; gzObserverVehicleWreckage::`vftable'
PUBLIC	??0gzObserverVehicleWreckage@@QAE@XZ		; gzObserverVehicleWreckage::gzObserverVehicleWreckage
PUBLIC	??_R4gzObserverVehicleWreckage@@6B@		; gzObserverVehicleWreckage::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverVehicleWreckage@@@8		; gzObserverVehicleWreckage `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverVehicleWreckage@@8		; gzObserverVehicleWreckage::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverVehicleWreckage@@8		; gzObserverVehicleWreckage::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverVehicleWreckage@@8	; gzObserverVehicleWreckage::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Damaged@gzObserverVehicleWreckage@@EAEXPAVnc_ScriptableGameObj@@0M@Z ; gzObserverVehicleWreckage::Damaged
EXTRN	??_EgzObserverVehicleWreckage@@UAEPAXI@Z:PROC	; gzObserverVehicleWreckage::`vector deleting destructor'
EXTRN	?Killed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Killed
EXTRN	?Custom@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HH0@Z:PROC ; nc_ScriptImpClass::Custom
;	COMDAT ??_R1A@?0A@EA@gzObserverVehicleWreckage@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverVehicleWreckage@@8 DD FLAT:??_R0?AVgzObserverVehicleWreckage@@@8 ; gzObserverVehicleWreckage::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverVehicleWreckage@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverVehicleWreckage@@8
rdata$r	SEGMENT
??_R2gzObserverVehicleWreckage@@8 DD FLAT:??_R1A@?0A@EA@gzObserverVehicleWreckage@@8 ; gzObserverVehicleWreckage::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzObserverVehicleWreckage@@8
rdata$r	SEGMENT
??_R3gzObserverVehicleWreckage@@8 DD 00H		; gzObserverVehicleWreckage::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverVehicleWreckage@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverVehicleWreckage@@@8
_DATA	SEGMENT
??_R0?AVgzObserverVehicleWreckage@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserverVehicleWreckage `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverVehicleWreckage@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverVehicleWreckage@@6B@
rdata$r	SEGMENT
??_R4gzObserverVehicleWreckage@@6B@ DD 00H		; gzObserverVehicleWreckage::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverVehicleWreckage@@@8
	DD	FLAT:??_R3gzObserverVehicleWreckage@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverVehicleWreckage@@6B@
CONST	SEGMENT
??_7gzObserverVehicleWreckage@@6B@ DD FLAT:??_R4gzObserverVehicleWreckage@@6B@ ; gzObserverVehicleWreckage::`vftable'
	DD	FLAT:??_EgzObserverVehicleWreckage@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzObserverVehicleWreckage@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@gzObserverVehicleWreckage@@EAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzObserverVehicleWreckage@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverVehicleWreckage@@QAE@XZ PROC		; gzObserverVehicleWreckage::gzObserverVehicleWreckage, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVehicleWreckage@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverVehicleWreckage@@QAE@XZ ENDP		; gzObserverVehicleWreckage::gzObserverVehicleWreckage
_TEXT	ENDS
PUBLIC	??1gzObserverVehicle@@UAE@XZ			; gzObserverVehicle::~gzObserverVehicle
EXTRN	??1nc_ScriptImpClass@@UAE@XZ:PROC		; nc_ScriptImpClass::~nc_ScriptImpClass
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverVehicle@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverVehicle@@UAE@XZ PROC			; gzObserverVehicle::~gzObserverVehicle, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverVehicle@@UAE@XZ ENDP			; gzObserverVehicle::~gzObserverVehicle
_TEXT	ENDS
PUBLIC	??1gzObserverVehicleWreckage@@UAE@XZ		; gzObserverVehicleWreckage::~gzObserverVehicleWreckage
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverVehicleWreckage@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverVehicleWreckage@@UAE@XZ PROC		; gzObserverVehicleWreckage::~gzObserverVehicleWreckage, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverVehicleWreckage@@UAE@XZ ENDP		; gzObserverVehicleWreckage::~gzObserverVehicleWreckage
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaString@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaString@@UAEPAXI@Z PROC				; aString::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@4
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@4:
	mov	eax, esi
	pop	esi
	ret	4
??_GaString@@UAEPAXI@Z ENDP				; aString::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaWideString@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaWideString@@UAEPAXI@Z PROC				; aWideString::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@5
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@5:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideString@@UAEPAXI@Z ENDP				; aWideString::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_GgzVehicleWreckageStruct@@QAEPAXI@Z		; gzVehicleWreckageStruct::`scalar deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??_GgzVehicleWreckageStruct@@QAEPAXI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??_GgzVehicleWreckageStruct@@QAEPAXI@Z$0
__ehfuncinfo$??_GgzVehicleWreckageStruct@@QAEPAXI@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??_GgzVehicleWreckageStruct@@QAEPAXI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??_GgzVehicleWreckageStruct@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___flags$ = 8						; size = 4
??_GgzVehicleWreckageStruct@@QAEPAXI@Z PROC		; gzVehicleWreckageStruct::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??_GgzVehicleWreckageStruct@@QAEPAXI@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp+16], 1
	je	SHORT $LN14@scalar@6
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN14@scalar@6:
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??_GgzVehicleWreckageStruct@@QAEPAXI@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??_GgzVehicleWreckageStruct@@QAEPAXI@Z:
	mov	eax, OFFSET __ehfuncinfo$??_GgzVehicleWreckageStruct@@QAEPAXI@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??_GgzVehicleWreckageStruct@@QAEPAXI@Z ENDP		; gzVehicleWreckageStruct::`scalar deleting destructor'
PUBLIC	??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z	; gzVehicleDestroyAnimStruct::`scalar deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z$0
__ehfuncinfo$??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___flags$ = 8						; size = 4
??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z PROC		; gzVehicleDestroyAnimStruct::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp+16], 1
	je	SHORT $LN14@scalar@7
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN14@scalar@7:
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z:
	mov	eax, OFFSET __ehfuncinfo$??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??_GgzVehicleDestroyAnimStruct@@QAEPAXI@Z ENDP		; gzVehicleDestroyAnimStruct::`scalar deleting destructor'
PUBLIC	?Delete@gzManagerVehicle@@UAEXXZ		; gzManagerVehicle::Delete
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
;	COMDAT ?Delete@gzManagerVehicle@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzManagerVehicle@@UAEXXZ PROC			; gzManagerVehicle::Delete, COMDAT
; _this$ = ecx

; 156  : 	aListNode<gzVehicleData> *vList = this->m_vehList.GetHead();

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

; 157  : 	while (vList)

	test	esi, esi
	je	SHORT $LN1@Delete@7
$LL2@Delete@7:

; 158  : 	{
; 159  : 		vList->GetData()->SetDeletePending();

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

; 160  : 		vList = vList->GetNext();

	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL2@Delete@7
$LN1@Delete@7:

; 161  : 	}
; 162  : 	this->m_vehList.RemoveAll();

	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+60]
	mov	ecx, edi
	pop	edi
	pop	esi
	jmp	edx
?Delete@gzManagerVehicle@@UAEXXZ ENDP			; gzManagerVehicle::Delete
_TEXT	ENDS
PUBLIC	??_C@_0BK@BFLIAKJF@gzObserverVehicleWreckage?$AA@ ; `string'
PUBLIC	__real@3dcccccd
PUBLIC	?Object_Killed@gzManagerVehicle@@UAEXAAVgzEventObjectKill@@@Z ; gzManagerVehicle::Object_Killed
EXTRN	?Start_Observers@nc_ScriptableGameObj@@QAEXXZ:PROC ; nc_ScriptableGameObj::Start_Observers
EXTRN	?gzCommands@@3PAUnc_ScriptCommands@@A:DWORD	; gzCommands
EXTRN	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z:PROC ; nc_PhysicalGameObj::Set_Position
EXTRN	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z:PROC ; nc_ObjectLibraryManager::Create_Object
EXTRN	??8aString@@QAE_NPBD@Z:PROC			; aString::operator==
;	COMDAT ??_C@_0BK@BFLIAKJF@gzObserverVehicleWreckage?$AA@
; File d:\source code\fds lib\new\fds_def.h
CONST	SEGMENT
??_C@_0BK@BFLIAKJF@gzObserverVehicleWreckage?$AA@ DB 'gzObserverVehicleWr'
	DB	'eckage', 00H				; `string'
CONST	ENDS
;	COMDAT __real@3dcccccd
CONST	SEGMENT
__real@3dcccccd DD 03dcccccdr			; 0.1
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
CONST	ENDS
;	COMDAT ?Object_Killed@gzManagerVehicle@@UAEXAAVgzEventObjectKill@@@Z
_TEXT	SEGMENT
$T69846 = -16						; size = 4
_deathPos$59441 = -12					; size = 12
tv359 = 8						; size = 4
$T69841 = 8						; size = 4
$T69836 = 8						; size = 4
_evt$ = 8						; size = 4
?Object_Killed@gzManagerVehicle@@UAEXAAVgzEventObjectKill@@@Z PROC ; gzManagerVehicle::Object_Killed, COMDAT
; _this$ = ecx

; 184  : {

	sub	esp, 16					; 00000010H
	push	ebx
	push	ebp

; 185  : 	if (evt.m_defender->As_VehicleGameObj())

	mov	ebp, DWORD PTR _evt$[esp+20]
	mov	ebx, ecx
	mov	ecx, DWORD PTR [ebp+36]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+40]
	call	edx
	test	eax, eax
	je	$LN2@Object_Kil

; 186  : 	{
; 187  : 		nc_Vector3 deathPos;
; 188  : 		evt.m_defender->Get_Position(&deathPos);

	mov	ecx, DWORD PTR [ebp+36]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+56]
	lea	edx, DWORD PTR _deathPos$59441[esp+24]
	push	edx
	call	eax

; 189  : 		if (gzGameMgr->m_settings->m_EnableVehicleWreckages)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	edx, DWORD PTR [ecx+56]
	cmp	BYTE PTR [edx+32], 0
	je	$LN2@Object_Kil

; 190  : 		{
; 191  : 			for (unsigned int i = 0; i < this->m_settings->m_wreckageList.Count(); i++)

	mov	eax, DWORD PTR [ebx+40]
	push	esi
	xor	esi, esi
	cmp	DWORD PTR [eax+36], esi
	jbe	$LN30@Object_Kil
	push	edi
	npad	1
$LL4@Object_Kil:

; 192  : 			{
; 193  : 				if (this->m_settings->m_wreckageList[i]->vehicle == evt.m_defender->definition->Get_Name())

	mov	ecx, DWORD PTR [ebp+36]
	mov	eax, DWORD PTR [eax+28]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	edx, DWORD PTR [ecx]
	lea	edi, DWORD PTR [eax+esi*4]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR [edi]
	push	eax
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	SHORT $LN28@Object_Kil
	mov	eax, DWORD PTR [ebx+40]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+36]
	jb	SHORT $LL4@Object_Kil
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 210  : 					break;
; 211  : 				}
; 212  : 			}
; 213  : 		}
; 214  : 	}
; 215  : }

	add	esp, 16					; 00000010H
	ret	4
$LN28@Object_Kil:

; 194  : 				{
; 195  : 					nc_ScriptableGameObj *newObj = nc_ObjectLibraryManager::Create_Object(this->m_settings->m_wreckageList[i]->wreckage.GetString());

	mov	ecx, DWORD PTR [ebx+40]
	mov	edx, DWORD PTR [ecx+28]
	mov	esi, DWORD PTR [edx+esi*4]
	add	esi, 8
	mov	esi, DWORD PTR [esi+4]
	test	esi, esi
	je	SHORT $LN17@Object_Kil
	mov	eax, DWORD PTR [esi]
	jmp	SHORT $LN18@Object_Kil
$LN17@Object_Kil:
	xor	eax, eax
$LN18@Object_Kil:
	push	eax
	call	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z ; nc_ObjectLibraryManager::Create_Object
	mov	esi, eax

; 196  : 					newObj->As_PhysicalGameObj()->Set_Position(deathPos);

	mov	edx, DWORD PTR [esi]
	add	esp, 4
	lea	eax, DWORD PTR _deathPos$59441[esp+32]
	push	eax
	mov	eax, DWORD PTR [edx+36]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position

; 197  : 					gzCommands->Set_Facing(newObj, gzCommands->Get_Facing(evt.m_defender));

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

; 198  : 					newObj->As_PhysicalGameObj()->PlayerType = -2;

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+36]
	add	esp, 8
	mov	ecx, esi
	call	eax
	mov	DWORD PTR [eax+1892], -2		; fffffffeH

; 199  : 					gzCommands->Disable_Physical_Collisions(newObj);

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

; 200  : 					newObj->As_VehicleGameObj()->Defense.HealthMax += newObj->As_VehicleGameObj()->Defense.ShieldStrengthMax.Get();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+40]
	add	esp, 4
	mov	ecx, esi
	call	edx
	mov	ecx, eax
	add	ecx, 1856				; 00000740H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR $T69836[esp+28]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+40]
	mov	ecx, esi
	call	edx
	mov	edi, eax
	add	edi, 1844				; 00000734H
	mov	ecx, edi
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR $T69836[esp+28]
	lea	eax, DWORD PTR $T69836[esp+28]
	push	eax
	push	edi
	fstp	DWORD PTR $T69836[esp+36]
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 201  : 					newObj->As_VehicleGameObj()->Defense.ShieldStrengthMax = 0.0f;

	fldz
	mov	edx, DWORD PTR [esi]
	fstp	DWORD PTR $T69841[esp+28]
	mov	eax, DWORD PTR [edx+40]
	mov	ecx, esi
	call	eax
	lea	ecx, DWORD PTR $T69841[esp+28]
	add	eax, 1856				; 00000740H
	push	ecx
	push	eax
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 202  : 
; 203  : 					// 10% of total health
; 204  : 					newObj->As_VehicleGameObj()->Defense.Health = (newObj->As_VehicleGameObj()->Defense.HealthMax.Get() + newObj->As_VehicleGameObj()->Defense.ShieldStrengthMax.Get()) * 0.1f;

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+40]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1856				; 00000740H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv359[esp+28]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+40]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv359[esp+28]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+40]
	mov	ecx, esi
	fmul	DWORD PTR __real@3dcccccd
	fstp	DWORD PTR $T69846[esp+32]
	call	eax
	lea	ecx, DWORD PTR $T69846[esp+32]
	add	eax, 1840				; 00000730H
	push	ecx
	push	eax
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 205  : 					newObj->Start_Observers();

	mov	ecx, esi
	call	?Start_Observers@nc_ScriptableGameObj@@QAEXXZ ; nc_ScriptableGameObj::Start_Observers

; 206  : 
; 207  : 					nc_ScriptImpClass *observer = nc_ScriptManager::Create_Script("gzObserverVehicleWreckage");

	push	OFFSET ??_C@_0BK@BFLIAKJF@gzObserverVehicleWreckage?$AA@
	call	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z ; nc_ScriptManager::Create_Script

; 208  : 					observer->Set_Parameters_String(evt.m_defender->definition->Get_Name());

	mov	edx, DWORD PTR [ebp+36]
	mov	ecx, DWORD PTR [edx+1724]
	mov	edi, eax
	mov	eax, DWORD PTR [ecx]
	mov	ebx, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+48]
	add	esp, 4
	add	ebx, 76					; 0000004cH
	call	edx
	push	eax
	mov	eax, DWORD PTR [ebx]
	mov	ecx, edi
	call	eax

; 209  : 					newObj->Insert_Observer(observer);

	push	edi
	mov	ecx, esi
	call	?Insert_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z ; nc_ScriptableGameObj::Insert_Observer
	pop	edi
$LN30@Object_Kil:
	pop	esi
$LN2@Object_Kil:
	pop	ebp
	pop	ebx

; 210  : 					break;
; 211  : 				}
; 212  : 			}
; 213  : 		}
; 214  : 	}
; 215  : }

	add	esp, 16					; 00000010H
	ret	4
?Object_Killed@gzManagerVehicle@@UAEXAAVgzEventObjectKill@@@Z ENDP ; gzManagerVehicle::Object_Killed
_TEXT	ENDS
PUBLIC	?Object_FlipKill@gzManagerVehicle@@UAEXAAVgzEventObjectFlipKill@@@Z ; gzManagerVehicle::Object_FlipKill
; Function compile flags: /Ogtpy
;	COMDAT ?Object_FlipKill@gzManagerVehicle@@UAEXAAVgzEventObjectFlipKill@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_FlipKill@gzManagerVehicle@@UAEXAAVgzEventObjectFlipKill@@@Z PROC ; gzManagerVehicle::Object_FlipKill, COMDAT
; _this$ = ecx

; 217  : {

	push	esi
	push	edi

; 218  : 	for (int i = 0; i < evt.m_vehicle->Observers.Count(); i++)

	mov	edi, DWORD PTR _evt$[esp+4]
	mov	eax, DWORD PTR [edi+32]
	xor	esi, esi
	cmp	DWORD PTR [eax+1784], esi
	jle	SHORT $LN1@Object_Fli
$LL3@Object_Fli:

; 219  : 		evt.m_vehicle->Observers[i]->Custom(evt.m_vehicle, 309475, 0, NULL);

	mov	eax, DWORD PTR [edi+32]
	mov	ecx, DWORD PTR [eax+1776]
	mov	ecx, DWORD PTR [ecx+esi*4]
	mov	edx, DWORD PTR [ecx]
	push	0
	push	0
	push	309475					; 0004b8e3H
	push	eax
	mov	eax, DWORD PTR [edx+32]
	call	eax
	mov	ecx, DWORD PTR [edi+32]
	add	esi, 1
	cmp	esi, DWORD PTR [ecx+1784]
	jl	SHORT $LL3@Object_Fli
$LN1@Object_Fli:
	pop	edi
	pop	esi

; 220  : }

	ret	4
?Object_FlipKill@gzManagerVehicle@@UAEXAAVgzEventObjectFlipKill@@@Z ENDP ; gzManagerVehicle::Object_FlipKill
_TEXT	ENDS
PUBLIC	?ChildObjDeletion@gzManagerVehicle@@UAEXPAVgzBase@@@Z ; gzManagerVehicle::ChildObjDeletion
; Function compile flags: /Ogtpy
;	COMDAT ?ChildObjDeletion@gzManagerVehicle@@UAEXPAVgzBase@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?ChildObjDeletion@gzManagerVehicle@@UAEXPAVgzBase@@@Z PROC ; gzManagerVehicle::ChildObjDeletion, COMDAT
; _this$ = ecx

; 223  : 	aListNode<gzVehicleData> *vehList = this->m_vehList.GetHead();

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

; 224  : 	while (vehList)

	test	eax, eax
	je	SHORT $LN2@ChildObjDe
	mov	ecx, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR [ecx+36]
	npad	7
$LL3@ChildObjDe:

; 225  : 	{
; 226  : 		if (vehList->GetData()->GetVehicleId() == gzStatic_Cast(gzVehicleData, obj)->GetVehicleId())

	mov	edx, DWORD PTR [eax+4]
	cmp	DWORD PTR [edx+36], ecx
	je	SHORT $LN15@ChildObjDe

; 229  : 			break;
; 230  : 		}
; 231  : 		vehList = vehList->GetNext();

	mov	eax, DWORD PTR [eax]
	test	eax, eax
	jne	SHORT $LL3@ChildObjDe
	pop	esi

; 232  : 	}
; 233  : }

	ret	4
$LN15@ChildObjDe:

; 227  : 		{
; 228  : 			this->m_vehList.Remove(*vehList);

	mov	edx, DWORD PTR [esi]
	push	eax
	mov	eax, DWORD PTR [edx+52]
	mov	ecx, esi
	call	eax
$LN2@ChildObjDe:
	pop	esi

; 232  : 	}
; 233  : }

	ret	4
?ChildObjDeletion@gzManagerVehicle@@UAEXPAVgzBase@@@Z ENDP ; gzManagerVehicle::ChildObjDeletion
_TEXT	ENDS
PUBLIC	?Find@gzManagerVehicle@@QAEPAVgzVehicleData@@K@Z ; gzManagerVehicle::Find
; Function compile flags: /Ogtpy
;	COMDAT ?Find@gzManagerVehicle@@QAEPAVgzVehicleData@@K@Z
_TEXT	SEGMENT
_ID$ = 8						; size = 4
?Find@gzManagerVehicle@@QAEPAVgzVehicleData@@K@Z PROC	; gzManagerVehicle::Find, COMDAT
; _this$ = ecx

; 236  : 	aListNode<gzVehicleData> *vehList = this->m_vehList.GetHead();

	mov	eax, DWORD PTR [ecx+44]
	mov	edx, DWORD PTR [eax+4]
	add	ecx, 44					; 0000002cH
	call	edx

; 237  : 	while (vehList)

	test	eax, eax
	je	SHORT $LN2@Find
	mov	ecx, DWORD PTR _ID$[esp-4]
$LL3@Find:

; 238  : 	{
; 239  : 		if (vehList->GetData()->GetVehicleId() == ID)

	mov	edx, DWORD PTR [eax+4]
	cmp	DWORD PTR [edx+36], ecx
	je	SHORT $LN15@Find

; 241  : 		vehList = vehList->GetNext();

	mov	eax, DWORD PTR [eax]
	test	eax, eax
	jne	SHORT $LL3@Find
$LN2@Find:

; 242  : 	}
; 243  : 	return NULL;

	xor	eax, eax

; 244  : }

	ret	4
$LN15@Find:

; 240  : 			return vehList->GetData();

	mov	eax, edx

; 244  : }

	ret	4
?Find@gzManagerVehicle@@QAEPAVgzVehicleData@@K@Z ENDP	; gzManagerVehicle::Find
_TEXT	ENDS
PUBLIC	??_C@_0CH@BEJLJDEJ@Your?5bound?5vehicle?$CI?$CFs?$CJ?5was?5destr@ ; `string'
PUBLIC	??_C@_0CO@MAJKAHN@Your?5bound?5vehicle?$CI?$CFs?$CJ?5was?5destr@ ; `string'
PUBLIC	?Object_Killed@gzVehicleData@@UAEXAAVgzEventObjectKill@@@Z ; gzVehicleData::Object_Killed
EXTRN	?PagePlayer@@YAXHPBDZZ:PROC			; PagePlayer
;	COMDAT ??_C@_0CH@BEJLJDEJ@Your?5bound?5vehicle?$CI?$CFs?$CJ?5was?5destr@
; File d:\source code\alib\include\avector.h
CONST	SEGMENT
??_C@_0CH@BEJLJDEJ@Your?5bound?5vehicle?$CI?$CFs?$CJ?5was?5destr@ DB 'You'
	DB	'r bound vehicle(%s) was destroyed.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CO@MAJKAHN@Your?5bound?5vehicle?$CI?$CFs?$CJ?5was?5destr@
CONST	SEGMENT
??_C@_0CO@MAJKAHN@Your?5bound?5vehicle?$CI?$CFs?$CJ?5was?5destr@ DB 'Your'
	DB	' bound vehicle(%s) was destroyed by %ls.', 0aH, 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
CONST	ENDS
;	COMDAT ?Object_Killed@gzVehicleData@@UAEXAAVgzEventObjectKill@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_Killed@gzVehicleData@@UAEXAAVgzEventObjectKill@@@Z PROC ; gzVehicleData::Object_Killed, COMDAT
; _this$ = ecx

; 386  : {

	push	esi

; 387  : 	if (evt.m_defender->NetworkID == this->m_vehId)

	mov	esi, DWORD PTR _evt$[esp]
	mov	eax, DWORD PTR [esi+36]
	push	edi
	mov	edi, ecx
	mov	ecx, DWORD PTR [eax+12]
	cmp	ecx, DWORD PTR [edi+36]
	jne	$LN4@Object_Kil@2

; 388  : 	{
; 389  : //#ifdef VOMSG
; 390  : //		gzConsole::Out("[VO] %d(%s) is being destroyed, removing from list...\n",
; 391  : //			this->m_vehId,
; 392  : //			evt.m_defender->definition->Get_Name()
; 393  : //		);
; 394  : //#endif
; 395  : 		if (this->m_owner)

	cmp	DWORD PTR [edi+40], 0
	je	$LN3@Object_Kil@2

; 396  : 		{
; 397  : 			if (evt.m_attacker && evt.m_attacker->As_SoldierGameObj() && evt.m_attacker->As_SoldierGameObj()->Player)

	cmp	DWORD PTR [esi+32], 0
	push	ebx
	je	SHORT $LN2@Object_Kil@2
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	test	eax, eax
	je	SHORT $LN2@Object_Kil@2
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN2@Object_Kil@2

; 398  : 			{
; 399  : 				PagePlayer(this->m_owner->GetPlayerData()->PlayerId, "Your bound vehicle(%s) was destroyed by %ls.\n",
; 400  : 					gzTranslator->Get(evt.m_defender->definition->Get_Name()),
; 401  : 					evt.m_attacker->As_SoldierGameObj()->Player->PlayerName.m_Buffer
; 402  : 				);

	mov	ecx, DWORD PTR [edi+40]
	mov	ebx, DWORD PTR [ecx+72]
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [ecx]
	mov	esi, DWORD PTR [edx+1724]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1880]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+48]
	push	ecx
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	mov	ecx, DWORD PTR [ebx+1884]
	push	eax
	push	OFFSET ??_C@_0CO@MAJKAHN@Your?5bound?5vehicle?$CI?$CFs?$CJ?5was?5destr@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H

; 403  : 			}
; 404  : 			else

	jmp	SHORT $LN1@Object_Kil@2
$LN2@Object_Kil@2:

; 405  : 			{
; 406  : 				PagePlayer(this->m_owner->GetPlayerData()->PlayerId, "Your bound vehicle(%s) was destroyed.\n",
; 407  : 					gzTranslator->Get(evt.m_defender->definition->Get_Name())
; 408  : 				);

	mov	eax, DWORD PTR [esi+36]
	mov	edx, DWORD PTR [edi+40]
	mov	ecx, DWORD PTR [eax+1724]
	mov	ebx, DWORD PTR [edx+72]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	mov	ecx, DWORD PTR [ebx+1884]
	push	eax
	push	OFFSET ??_C@_0CH@BEJLJDEJ@Your?5bound?5vehicle?$CI?$CFs?$CJ?5was?5destr@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
$LN1@Object_Kil@2:

; 409  : 			}
; 410  : 			this->m_owner->GetVehicleData()->GetBoundList().Delete(this->m_owner->GetVehicleData()->GetBoundList().Index(this));

	mov	edx, DWORD PTR [edi+40]
	mov	eax, DWORD PTR [edx+56]
	mov	edx, DWORD PTR [eax+60]
	lea	ecx, DWORD PTR [eax+48]
	xor	eax, eax
	test	edx, edx
	pop	ebx
	jbe	SHORT $LN20@Object_Kil@2
	mov	esi, DWORD PTR [ecx+4]
$LL22@Object_Kil@2:
	cmp	DWORD PTR [esi], edi
	je	SHORT $LN23@Object_Kil@2
	add	eax, 1
	add	esi, 4
	cmp	eax, edx
	jb	SHORT $LL22@Object_Kil@2
$LN20@Object_Kil@2:
	or	eax, -1
$LN23@Object_Kil@2:
	mov	edx, DWORD PTR [ecx]
	push	eax
	mov	eax, DWORD PTR [edx+20]
	call	eax
$LN3@Object_Kil@2:

; 411  : 		}
; 412  : 		this->m_owner = NULL;
; 413  : 		this->SetDeletePending();

	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+12]
	mov	ecx, edi
	mov	DWORD PTR [edi+40], 0
	call	eax
$LN4@Object_Kil@2:
	pop	edi
	pop	esi

; 414  : 	}
; 415  : }

	ret	4
?Object_Killed@gzVehicleData@@UAEXAAVgzEventObjectKill@@@Z ENDP ; gzVehicleData::Object_Killed
_TEXT	ENDS
PUBLIC	??_C@_0EK@HJNAJPLK@?$FLVO?$FN?5?$CFls?5is?5not?5in?5the?5last?5ente@ ; `string'
PUBLIC	??_C@_0DJ@EPCCKEGO@?$FLVO?$FN?5?$CFls?5is?5not?5in?5vehicle?4?5Issu@ ; `string'
PUBLIC	??_C@_0EA@FMHGCLAM@?$FLVO?$FN?5?$CFls?5soldier?5object?5not?5foun@ ; `string'
PUBLIC	??_C@_0EK@OPMAAJDF@?$FLVO?$FN?5?$CFls?5no?5longer?5drive?5the?5veh@ ; `string'
PUBLIC	?Think@gzVehicleOwnerClass@@UAEXXZ		; gzVehicleOwnerClass::Think
EXTRN	?Out@gzConsole@@SAXPBDZZ:PROC			; gzConsole::Out
EXTRN	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z:PROC ; nc_GameObjManager::Find_SmartGameObj
;	COMDAT ??_C@_0EK@HJNAJPLK@?$FLVO?$FN?5?$CFls?5is?5not?5in?5the?5last?5ente@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0EK@HJNAJPLK@?$FLVO?$FN?5?$CFls?5is?5not?5in?5the?5last?5ente@ DB '['
	DB	'VO] %ls is not in the last entered vehicle. Issue Last-Enter '
	DB	'cleanup...', 0aH, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0DJ@EPCCKEGO@?$FLVO?$FN?5?$CFls?5is?5not?5in?5vehicle?4?5Issu@
CONST	SEGMENT
??_C@_0DJ@EPCCKEGO@?$FLVO?$FN?5?$CFls?5is?5not?5in?5vehicle?4?5Issu@ DB '['
	DB	'VO] %ls is not in vehicle. Issue Last-Enter cleanup...', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0EA@FMHGCLAM@?$FLVO?$FN?5?$CFls?5soldier?5object?5not?5foun@
CONST	SEGMENT
??_C@_0EA@FMHGCLAM@?$FLVO?$FN?5?$CFls?5soldier?5object?5not?5foun@ DB '[V'
	DB	'O] %ls soldier object not found. Issue Last-Enter cleanup...', 0aH
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0EK@OPMAAJDF@?$FLVO?$FN?5?$CFls?5no?5longer?5drive?5the?5veh@
CONST	SEGMENT
??_C@_0EK@OPMAAJDF@?$FLVO?$FN?5?$CFls?5no?5longer?5drive?5the?5veh@ DB '['
	DB	'VO] %ls no longer drive the vehicle %s(%d). Issue Last-Enter '
	DB	'cleanup...', 0aH, 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Think@gzVehicleOwnerClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Think@gzVehicleOwnerClass@@UAEXXZ$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Think@gzVehicleOwnerClass@@UAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Think@gzVehicleOwnerClass@@UAEXXZ$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Think@gzVehicleOwnerClass@@UAEXXZ$3
__ehfuncinfo$?Think@gzVehicleOwnerClass@@UAEXXZ DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?Think@gzVehicleOwnerClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ?Think@gzVehicleOwnerClass@@UAEXXZ
_TEXT	SEGMENT
$T69954 = -28						; size = 8
$T69953 = -20						; size = 8
$T69952 = -20						; size = 8
$T69951 = -20						; size = 8
__$EHRec$ = -12						; size = 12
?Think@gzVehicleOwnerClass@@UAEXXZ PROC			; gzVehicleOwnerClass::Think, COMDAT
; _this$ = ecx

; 571  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Think@gzVehicleOwnerClass@@UAEXXZ
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H
	push	ebp
	push	esi
	mov	esi, ecx

; 572  : 	if (this->m_lastEnter)

	mov	eax, DWORD PTR [esi+40]
	xor	ebp, ebp
	cmp	eax, ebp
	je	$LN1@Think

; 573  : 	{
; 574  : 		if (!this->m_lastEnter->GetPlayerData()->Owner.Reference ||
; 575  : 			!this->m_lastEnter->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle ||
; 576  : 			this->m_lastEnter->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle->NetworkID != this->m_lastEnterVehId)

	mov	eax, DWORD PTR [eax+72]
	cmp	DWORD PTR [eax+20], ebp
	je	$LN12@Think
	mov	eax, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2444], ebp
	je	$LN12@Think
	mov	ecx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [ecx+72]
	mov	edx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	mov	eax, DWORD PTR [eax+2444]
	mov	ecx, DWORD PTR [eax+12]
	cmp	ecx, DWORD PTR [esi+44]
	jne	$LN12@Think
	push	ebx
	push	edi

; 587  : #endif
; 588  : 			this->m_lastEnter = NULL;
; 589  : 			this->m_lastEnterVehId = 0;
; 590  : 		}
; 591  : 		else
; 592  : 		{
; 593  : 			bool stillDrive = false;
; 594  : 			for (unsigned int i = 0; i < this->m_boundList.Count(); i++)

	xor	edi, edi
	cmp	DWORD PTR [esi+60], ebp
	jbe	SHORT $LN80@Think
	npad	4
$LL5@Think:

; 595  : 			{
; 596  : 				if (this->m_boundList[i]->GetVehicleId() == this->m_lastEnter->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle->NetworkID)

	mov	edx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [edx+72]
	mov	eax, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [esi+52]
	lea	eax, DWORD PTR [edx+edi*4]
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx]
	mov	ebx, DWORD PTR [eax+36]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	mov	ecx, DWORD PTR [eax+2444]
	cmp	ebx, DWORD PTR [ecx+12]
	je	SHORT $LN82@Think
	add	edi, 1
	cmp	edi, DWORD PTR [esi+60]
	jb	SHORT $LL5@Think
$LN80@Think:

; 597  : 				{
; 598  : 					stillDrive = true;
; 599  : 					break;
; 600  : 				}
; 601  : 			}
; 602  : 			if (!stillDrive)
; 603  : 			{
; 604  : #ifdef VOMSG
; 605  : 				gzConsole::Out("[VO] %ls no longer drive the vehicle %s(%d). Issue Last-Enter cleanup...\n",
; 606  : 					this->m_lastEnter->GetPlayerName().GetString(),
; 607  : 					nc_GameObjManager::Find_SmartGameObj(this->m_lastEnterVehId)->definition->Get_Name(),
; 608  : 					this->m_lastEnterVehId
; 609  : 				);

	mov	edx, DWORD PTR [esi+44]
	push	edx
	call	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z ; nc_GameObjManager::Find_SmartGameObj
	mov	edi, DWORD PTR [eax+1724]
	mov	ecx, DWORD PTR [esi+40]
	add	esp, 4
	lea	eax, DWORD PTR $T69954[esp+44]
	push	eax
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, ebp
	mov	DWORD PTR __$EHRec$[esp+52], 3
	je	SHORT $LN70@Think
	mov	ebx, DWORD PTR [eax]
	jmp	SHORT $LN71@Think
$LN70@Think:
	xor	ebx, ebx
$LN71@Think:
	mov	ecx, DWORD PTR [esi+44]
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+48]
	push	ecx
	mov	ecx, edi
	call	eax
	push	eax
	push	ebx
	push	OFFSET ??_C@_0EK@OPMAAJDF@?$FLVO?$FN?5?$CFls?5no?5longer?5drive?5the?5veh@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR $T69954[esp+44]
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 610  : #endif
; 611  : 				this->m_lastEnter = NULL;

	mov	DWORD PTR [esi+40], ebp

; 612  : 				this->m_lastEnterVehId = 0;

	mov	DWORD PTR [esi+44], ebp
$LN82@Think:
	pop	edi
	pop	ebx
$LN1@Think:
	pop	esi
	pop	ebp

; 613  : 			}
; 614  : 		}
; 615  : 	}
; 616  : }

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

; 577  : 		{
; 578  : #ifdef VOMSG
; 579  : 			if (!this->m_lastEnter->GetPlayerData()->Owner.Reference)

	mov	ecx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [ecx+72]
	cmp	DWORD PTR [eax+20], ebp
	jne	SHORT $LN11@Think

; 580  : 				gzConsole::Out("[VO] %ls soldier object not found. Issue Last-Enter cleanup...\n", this->m_lastEnter->GetPlayerName().GetString());

	lea	edx, DWORD PTR $T69951[esp+36]
	push	edx
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, ebp
	mov	DWORD PTR __$EHRec$[esp+44], ebp
	je	SHORT $LN31@Think
	mov	eax, DWORD PTR [eax]
	push	eax
	push	OFFSET ??_C@_0EA@FMHGCLAM@?$FLVO?$FN?5?$CFls?5soldier?5object?5not?5foun@
	jmp	$LN84@Think
$LN31@Think:
	xor	eax, eax
	push	eax
	push	OFFSET ??_C@_0EA@FMHGCLAM@?$FLVO?$FN?5?$CFls?5soldier?5object?5not?5foun@
	jmp	$LN84@Think
$LN11@Think:

; 581  : 
; 582  : 			else if (!this->m_lastEnter->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle)

	mov	eax, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2444], ebp
	jne	SHORT $LN9@Think

; 583  : 				gzConsole::Out("[VO] %ls is not in vehicle. Issue Last-Enter cleanup...\n", this->m_lastEnter->GetPlayerName().GetString());

	lea	ecx, DWORD PTR $T69952[esp+36]
	push	ecx
	mov	ecx, DWORD PTR [esi+40]
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, ebp
	mov	DWORD PTR __$EHRec$[esp+44], 1
	je	SHORT $LN42@Think
	mov	eax, DWORD PTR [eax]
	push	eax
	push	OFFSET ??_C@_0DJ@EPCCKEGO@?$FLVO?$FN?5?$CFls?5is?5not?5in?5vehicle?4?5Issu@
	jmp	SHORT $LN84@Think
$LN42@Think:
	xor	eax, eax
	push	eax
	push	OFFSET ??_C@_0DJ@EPCCKEGO@?$FLVO?$FN?5?$CFls?5is?5not?5in?5vehicle?4?5Issu@
	jmp	SHORT $LN84@Think
$LN9@Think:

; 584  : 
; 585  : 			else if (this->m_lastEnter->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle->NetworkID != this->m_lastEnterVehId)

	mov	edx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [edx+72]
	mov	eax, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	mov	ecx, DWORD PTR [eax+2444]
	mov	edx, DWORD PTR [ecx+12]
	cmp	edx, DWORD PTR [esi+44]
	je	SHORT $LN7@Think

; 586  : 				gzConsole::Out("[VO] %ls is not in the last entered vehicle. Issue Last-Enter cleanup...\n",this->m_lastEnter->GetPlayerName().GetString());

	mov	ecx, DWORD PTR [esi+40]
	lea	eax, DWORD PTR $T69953[esp+36]
	push	eax
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, ebp
	mov	DWORD PTR __$EHRec$[esp+44], 2
	je	SHORT $LN53@Think
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN54@Think
$LN53@Think:
	xor	eax, eax
$LN54@Think:
	push	eax
	push	OFFSET ??_C@_0EK@HJNAJPLK@?$FLVO?$FN?5?$CFls?5is?5not?5in?5the?5last?5ente@
$LN84@Think:
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	add	esp, 8
	lea	ecx, DWORD PTR $T69953[esp+36]
	mov	DWORD PTR __$EHRec$[esp+44], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN7@Think:

; 613  : 			}
; 614  : 		}
; 615  : 	}
; 616  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR [esi+40], ebp
	mov	DWORD PTR [esi+44], ebp
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Think@gzVehicleOwnerClass@@UAEXXZ$3:
	lea	ecx, DWORD PTR $T69954[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Think@gzVehicleOwnerClass@@UAEXXZ$0:
	lea	ecx, DWORD PTR $T69951[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Think@gzVehicleOwnerClass@@UAEXXZ$1:
	lea	ecx, DWORD PTR $T69952[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Think@gzVehicleOwnerClass@@UAEXXZ$2:
	lea	ecx, DWORD PTR $T69953[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Think@gzVehicleOwnerClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Think@gzVehicleOwnerClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Think@gzVehicleOwnerClass@@UAEXXZ ENDP			; gzVehicleOwnerClass::Think
PUBLIC	??_C@_04MLLLIHIP@null?$AA@			; `string'
PUBLIC	?Unset@gzVehicleOwnerClass@@QAEHIH@Z		; gzVehicleOwnerClass::Unset
EXTRN	?Set_Model_By_Name@nc_PhysClass@@QAEXPBD@Z:PROC	; nc_PhysClass::Set_Model_By_Name
EXTRN	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z:PROC ; nc_GameObjManager::Find_PhysicalGameObj
;	COMDAT ??_C@_04MLLLIHIP@null?$AA@
CONST	SEGMENT
??_C@_04MLLLIHIP@null?$AA@ DB 'null', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Unset@gzVehicleOwnerClass@@QAEHIH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_model$59708 = 8					; size = 4
_vehID$ = 8						; size = 4
_Type$ = 12						; size = 4
?Unset@gzVehicleOwnerClass@@QAEHIH@Z PROC		; gzVehicleOwnerClass::Unset, COMDAT
; _this$ = ecx

; 680  : {

	push	ecx
	push	esi
	mov	esi, ecx

; 681  : 	gzVehicleData *vehData = gzVehicleMgr->Find(vehID);

	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [ecx+44]
	mov	edx, DWORD PTR [eax+4]
	add	ecx, 44					; 0000002cH
	mov	DWORD PTR _this$[esp+8], esi
	call	edx
	test	eax, eax
	je	SHORT $LN74@Unset
	mov	edx, DWORD PTR _vehID$[esp+4]
$LL21@Unset:
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+36], edx
	je	SHORT $LN69@Unset
	mov	eax, DWORD PTR [eax]
	test	eax, eax
	jne	SHORT $LL21@Unset

; 683  : 		return VORESP_ERROR;

	or	eax, -1
	pop	esi

; 724  : }

	pop	ecx
	ret	8
$LN69@Unset:

; 681  : 	gzVehicleData *vehData = gzVehicleMgr->Find(vehID);

	mov	eax, ecx

; 682  : 	if (!vehData)

	test	eax, eax
	jne	SHORT $LN16@Unset
$LN74@Unset:

; 683  : 		return VORESP_ERROR;

	or	eax, -1
	pop	esi

; 724  : }

	pop	ecx
	ret	8
$LN16@Unset:

; 684  : 
; 685  : 	if (vehData->GetOwner() && vehData->GetOwner()->GetVehicleData() != this)

	mov	eax, DWORD PTR [eax+40]
	test	eax, eax
	je	SHORT $LN15@Unset
	cmp	DWORD PTR [eax+56], esi
	je	SHORT $LN15@Unset

; 686  : 		return VORESP_NOT_OWNER;

	mov	eax, 3
	pop	esi

; 724  : }

	pop	ecx
	ret	8
$LN15@Unset:
	mov	ecx, DWORD PTR [esi+60]
	push	ebx

; 687  : 
; 688  : 	for (unsigned int i = 0; i < this->m_boundList.Count(); i++)

	xor	ebx, ebx
	test	ecx, ecx
	jbe	$LN12@Unset
	mov	eax, DWORD PTR [esi+52]
	push	edi
	npad	3
$LL14@Unset:

; 689  : 	{
; 690  : 		if (this->m_boundList[i]->GetVehicleId() == vehID)

	mov	edi, DWORD PTR [eax]
	cmp	DWORD PTR [edi+36], edx
	je	SHORT $LN70@Unset
	add	ebx, 1
	add	eax, 4
	cmp	ebx, ecx
	jb	SHORT $LL14@Unset
	pop	edi
	pop	ebx

; 720  : 			break;
; 721  : 		}
; 722  : 	}
; 723  : 	return VORESP_SUCCESS;

	xor	eax, eax
	pop	esi

; 724  : }

	pop	ecx
	ret	8
$LN70@Unset:

; 691  : 		{
; 692  : 			const char *model = NULL;
; 693  : 			switch (Type)

	mov	eax, DWORD PTR _Type$[esp+12]
	sub	eax, 1
	je	$LN8@Unset
	sub	eax, 1
	jne	SHORT $LN3@Unset

; 697  : 					break;
; 698  : 
; 699  : 				case VO_LOCK:
; 700  : 					model = gzVehicleMgr->GetSettings()->m_bindIcon.GetString();

	mov	edx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [edx+40]
	add	eax, 64					; 00000040H
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN48@Unset
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN49@Unset
$LN48@Unset:
	xor	eax, eax
$LN49@Unset:

; 701  : 					break;
; 702  : 			}
; 703  : 			if (model != NULL)

	test	eax, eax
	mov	DWORD PTR _model$59708[esp+12], eax
	je	SHORT $LN3@Unset
$LN75@Unset:
	push	ebp

; 704  : 			{
; 705  : 				for (int j = 0; j < 2; j++)

	xor	ebp, ebp
	lea	edi, DWORD PTR [ebp+48]
$LL5@Unset:

; 706  : 				{
; 707  : 					if (this->m_boundList[i]->GetBoneObjId(j) != 0)

	cmp	ebp, 2
	ja	SHORT $LN4@Unset
	mov	eax, DWORD PTR [esi+52]
	mov	ecx, DWORD PTR [eax+ebx*4]
	mov	eax, DWORD PTR [edi+ecx]
	test	eax, eax
	je	SHORT $LN4@Unset

; 708  : 					{
; 709  : 						nc_PhysicalGameObj *boneObj = nc_GameObjManager::Find_PhysicalGameObj(this->m_boundList[i]->GetBoneObjId(j));

	push	eax
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	mov	esi, eax
	add	esp, 4

; 710  : 						if (boneObj)

	test	esi, esi
	je	SHORT $LN76@Unset

; 711  : 						{
; 712  : 							boneObj->Physics->Set_Model_By_Name(model);

	mov	edx, DWORD PTR _model$59708[esp+16]
	mov	ecx, DWORD PTR [esi+1908]
	push	edx
	call	?Set_Model_By_Name@nc_PhysClass@@QAEXPBD@Z ; nc_PhysClass::Set_Model_By_Name

; 713  : 							boneObj->Set_Object_Dirty_Bit(nc_DB_RARE, true);

	mov	eax, DWORD PTR [esi+8]
	mov	edx, DWORD PTR [eax+56]
	lea	ecx, DWORD PTR [esi+8]
	push	1
	push	7
	call	edx
$LN76@Unset:
	mov	esi, DWORD PTR _this$[esp+20]
$LN4@Unset:

; 704  : 			{
; 705  : 				for (int j = 0; j < 2; j++)

	add	edi, 4
	add	ebp, 1
	cmp	edi, 56					; 00000038H
	jl	SHORT $LL5@Unset
	pop	ebp
$LN3@Unset:

; 714  : 						}
; 715  : 					}
; 716  : 				}
; 717  : 			}
; 718  : 			this->m_boundList[i]->SetOwner(NULL);

	mov	eax, DWORD PTR [esi+52]
	mov	ecx, DWORD PTR [eax+ebx*4]
	mov	DWORD PTR [ecx+40], 0

; 719  : 			this->m_boundList.Delete(i);

	mov	edx, DWORD PTR [esi+48]
	mov	eax, DWORD PTR [edx+20]
	lea	ecx, DWORD PTR [esi+48]
	push	ebx
	call	eax
	pop	edi
$LN12@Unset:
	pop	ebx

; 720  : 			break;
; 721  : 		}
; 722  : 	}
; 723  : 	return VORESP_SUCCESS;

	xor	eax, eax
	pop	esi

; 724  : }

	pop	ecx
	ret	8
$LN8@Unset:

; 694  : 			{
; 695  : 				case VO_BIND:
; 696  : 					model = "null";

	mov	DWORD PTR _model$59708[esp+12], OFFSET ??_C@_04MLLLIHIP@null?$AA@

; 701  : 					break;
; 702  : 			}
; 703  : 			if (model != NULL)

	jmp	$LN75@Unset
?Unset@gzVehicleOwnerClass@@QAEHIH@Z ENDP		; gzVehicleOwnerClass::Unset
_TEXT	ENDS
PUBLIC	?UnsetAll@gzVehicleOwnerClass@@QAEXXZ		; gzVehicleOwnerClass::UnsetAll
; Function compile flags: /Ogtpy
;	COMDAT ?UnsetAll@gzVehicleOwnerClass@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?UnsetAll@gzVehicleOwnerClass@@QAEXXZ PROC		; gzVehicleOwnerClass::UnsetAll, COMDAT
; _this$ = ecx

; 726  : {

	push	ecx
	push	ebp

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

	xor	ebp, ebp
	cmp	DWORD PTR [ecx+60], ebp
	mov	DWORD PTR _this$[esp+8], ecx
	jbe	SHORT $LN5@UnsetAll
	push	ebx
	push	esi
	push	edi
$LL25@UnsetAll:

; 728  : 	{
; 729  : 		for (unsigned int j = 0; j < 2; j++)

	xor	ebx, ebx
	lea	edi, DWORD PTR [ebx+48]
$LL26@UnsetAll:

; 730  : 		{
; 731  : 			nc_PhysicalGameObj *boneObj = nc_GameObjManager::Find_PhysicalGameObj(this->m_boundList[i]->GetBoneObjId(j));

	cmp	ebx, 2
	jbe	SHORT $LN14@UnsetAll
	xor	eax, eax
	jmp	SHORT $LN15@UnsetAll
$LN14@UnsetAll:
	mov	eax, DWORD PTR _this$[esp+20]
	mov	ecx, DWORD PTR [eax+52]
	mov	edx, DWORD PTR [ecx+ebp*4]
	mov	eax, DWORD PTR [edi+edx]
$LN15@UnsetAll:
	push	eax
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	mov	esi, eax
	add	esp, 4

; 732  : 			if (boneObj)

	test	esi, esi
	je	SHORT $LN3@UnsetAll

; 733  : 			{
; 734  : 				boneObj->Physics->Set_Model_By_Name("null");

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

; 735  : 				boneObj->Set_Object_Dirty_Bit(nc_DB_RARE, true);

	mov	eax, DWORD PTR [esi+8]
	mov	edx, DWORD PTR [eax+56]
	lea	ecx, DWORD PTR [esi+8]
	push	1
	push	7
	call	edx
$LN3@UnsetAll:
	add	edi, 4
	add	ebx, 1
	cmp	edi, 56					; 00000038H
	jb	SHORT $LL26@UnsetAll

; 736  : 			}
; 737  : 		}
; 738  : 		this->m_boundList[i]->SetOwner(NULL);

	mov	eax, DWORD PTR _this$[esp+20]
	mov	ecx, DWORD PTR [eax+52]
	mov	edx, DWORD PTR [ecx+ebp*4]
	add	ebp, 1
	mov	DWORD PTR [edx+40], 0
	cmp	ebp, DWORD PTR [eax+60]
	jb	SHORT $LL25@UnsetAll
	pop	edi
	pop	esi
	pop	ebx
$LN5@UnsetAll:

; 739  : 	}
; 740  : 	this->m_boundList.Clear();

	mov	ecx, DWORD PTR _this$[esp+8]
	mov	eax, DWORD PTR [ecx+48]
	mov	edx, DWORD PTR [eax+4]
	add	ecx, 48					; 00000030H
	pop	ebp

; 741  : }

	add	esp, 4

; 739  : 	}
; 740  : 	this->m_boundList.Clear();

	jmp	edx
?UnsetAll@gzVehicleOwnerClass@@QAEXXZ ENDP		; gzVehicleOwnerClass::UnsetAll
_TEXT	ENDS
PUBLIC	?GetCount@gzVehicleOwnerClass@@QAEXAAH0@Z	; gzVehicleOwnerClass::GetCount
; Function compile flags: /Ogtpy
;	COMDAT ?GetCount@gzVehicleOwnerClass@@QAEXAAH0@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_enemy$ = 12						; size = 4
?GetCount@gzVehicleOwnerClass@@QAEXAAH0@Z PROC		; gzVehicleOwnerClass::GetCount, COMDAT
; _this$ = ecx

; 744  : 	team = 0;
; 745  : 	enemy = 0;

	mov	eax, DWORD PTR _enemy$[esp-4]
	push	ebp
	mov	ebp, DWORD PTR _team$[esp]
	push	esi
	push	edi
	mov	DWORD PTR [ebp], 0
	mov	esi, ecx

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

	xor	edi, edi
	mov	DWORD PTR [eax], 0
	cmp	DWORD PTR [esi+60], edi
	jbe	SHORT $LN4@GetCount
	push	ebx
$LL6@GetCount:

; 747  : 	{
; 748  : 		if (nc_GameObjManager::Find_PhysicalGameObj(this->m_boundList[i]->GetVehicleId()))

	mov	ecx, DWORD PTR [esi+52]
	mov	edx, DWORD PTR [ecx+edi*4]
	mov	eax, DWORD PTR [edx+36]
	push	eax
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN5@GetCount

; 749  : 		{
; 750  : 			nc_VehicleGameObjDef *Def = (nc_VehicleGameObjDef *)nc_GameObjManager::Find_PhysicalGameObj(this->m_boundList[i]->GetVehicleId())->definition;

	mov	eax, DWORD PTR [esi+52]
	mov	ecx, DWORD PTR [eax+edi*4]
	mov	eax, DWORD PTR [ecx+36]
	push	eax
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj

; 751  : 			if (Def->PlayerType == this->m_owner->GetPlayerData()->PlayerType.Get())

	mov	edx, DWORD PTR [esi+36]
	mov	ebx, DWORD PTR [eax+1724]
	mov	eax, DWORD PTR [edx+72]
	add	esp, 4
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	DWORD PTR [ebx+128], eax
	jne	SHORT $LN2@GetCount

; 752  : 				team++;

	add	DWORD PTR [ebp], 1

; 753  : 			else

	jmp	SHORT $LN5@GetCount
$LN2@GetCount:

; 754  : 				enemy++;

	mov	eax, DWORD PTR _enemy$[esp+12]
	add	DWORD PTR [eax], 1
$LN5@GetCount:
	add	edi, 1
	cmp	edi, DWORD PTR [esi+60]
	jb	SHORT $LL6@GetCount
	pop	ebx
$LN4@GetCount:
	pop	edi
	pop	esi
	pop	ebp

; 755  : 		}
; 756  : 	}
; 757  : }

	ret	8
?GetCount@gzVehicleOwnerClass@@QAEXAAH0@Z ENDP		; gzVehicleOwnerClass::GetCount
_TEXT	ENDS
PUBLIC	??_C@_0BO@GEFBPICE@?$CFs?5destroyed?5thanks?5to?5the?5?$CFs?$AA@ ; `string'
PUBLIC	??_C@_0CA@KDOENAMP@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$AA@ ; `string'
PUBLIC	??_C@_0DM@IABHNPKD@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$DL@ ; `string'
PUBLIC	??_C@_0BB@OLMLCJEO@?$CFs?5was?5destroyed?$AA@	; `string'
PUBLIC	??_C@_08DOBPEHCK@_VEHKILL?$AA@			; `string'
PUBLIC	??_C@_0BD@CKOINLAP@?$CFs?5was?5flip?9killed?$AA@ ; `string'
EXTRN	?GetLast@gzAntiCheatHitLog@@QAEPAUgzHitLogStruct@@I@Z:PROC ; gzAntiCheatHitLog::GetLast
EXTRN	?GetHitCount@gzAntiCheatHitLog@@QAEHIK@Z:PROC	; gzAntiCheatHitLog::GetHitCount
EXTRN	?GetPresetInfo@@YA?AVaString@@PAVnc_PhysicalGameObj@@_N@Z:PROC ; GetPresetInfo
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z:PROC ; gzPlayerManager::Find
EXTRN	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z:PROC ; gzTranslateManager::Get
;	COMDAT ??_C@_0BO@GEFBPICE@?$CFs?5destroyed?5thanks?5to?5the?5?$CFs?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BO@GEFBPICE@?$CFs?5destroyed?5thanks?5to?5the?5?$CFs?$AA@ DB '%s d'
	DB	'estroyed thanks to the %s', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CA@KDOENAMP@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$AA@
CONST	SEGMENT
??_C@_0CA@KDOENAMP@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$AA@ DB '%'
	DB	's destroyed thanks to %ls (%s)', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0DM@IABHNPKD@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$DL@
CONST	SEGMENT
??_C@_0DM@IABHNPKD@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$DL@ DB '%'
	DB	's destroyed thanks to %ls (%s); LP: %c; RD: %.2f; Hits: %d', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@OLMLCJEO@?$CFs?5was?5destroyed?$AA@
CONST	SEGMENT
??_C@_0BB@OLMLCJEO@?$CFs?5was?5destroyed?$AA@ DB '%s was destroyed', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_08DOBPEHCK@_VEHKILL?$AA@
CONST	SEGMENT
??_C@_08DOBPEHCK@_VEHKILL?$AA@ DB '_VEHKILL', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@CKOINLAP@?$CFs?5was?5flip?9killed?$AA@
CONST	SEGMENT
??_C@_0BD@CKOINLAP@?$CFs?5was?5flip?9killed?$AA@ DB '%s was flip-killed', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z$0
__ehfuncinfo$?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
_preset$60254 = -20					; size = 8
__$EHRec$ = -12						; size = 12
tv242 = 8						; size = 4
_obj$ = 8						; size = 4
$T70286 = 12						; size = 4
_shooter$ = 12						; size = 4
?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzObserverVehicle::Killed, COMDAT
; _this$ = ecx

; 1269 : {

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

; 1270 : 	if (obj->As_VehicleGameObj()->SeatsList.Length() > 0 || gzStatic_Cast(nc_VehicleGameObjDef, obj->definition)->VehicleType == 4)

	mov	edi, DWORD PTR _obj$[esp+24]
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+40]
	mov	ebx, ecx
	mov	ecx, edi
	call	edx
	add	eax, 2476				; 000009acH
	mov	eax, DWORD PTR [eax+8]
	test	eax, eax
	jg	SHORT $LN9@Killed
	mov	eax, DWORD PTR [edi+1724]
	cmp	DWORD PTR [eax+224], 4
	jne	$LN1@Killed
$LN9@Killed:
	push	esi

; 1271 : 	{
; 1272 : 		if (!shooter)

	mov	esi, DWORD PTR _shooter$[esp+28]
	test	esi, esi
	jne	SHORT $LN8@Killed

; 1273 : 		{
; 1274 : 			if (this->m_flipKilled)

	cmp	BYTE PTR [ebx+32], 0

; 1275 : 				gzLogger("_VEHKILL", "%s was flip-killed", gzTranslator->Get(obj));

	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	edi
	je	SHORT $LN7@Killed
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0BD@CKOINLAP@?$CFs?5was?5flip?9killed?$AA@
	push	OFFSET ??_C@_08DOBPEHCK@_VEHKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 12					; 0000000cH
	pop	esi
	pop	edi
	pop	ebx

; 1306 : 	}
; 1307 : }

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

; 1276 : 			else
; 1277 : 				gzLogger("_VEHKILL", "%s was destroyed", gzTranslator->Get(obj));

	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0BB@OLMLCJEO@?$CFs?5was?5destroyed?$AA@
	push	OFFSET ??_C@_08DOBPEHCK@_VEHKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 12					; 0000000cH
	pop	esi
	pop	edi
	pop	ebx

; 1306 : 	}
; 1307 : }

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

; 1278 : 		}
; 1279 : 		else if (shooter->As_SoldierGameObj() && shooter->As_SoldierGameObj()->Player)

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	test	eax, eax
	je	$LN4@Killed
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	cmp	DWORD PTR [eax+2400], 0
	je	$LN4@Killed

; 1280 : 		{
; 1281 : 			gzPlayer *gzData = gzPlayerManager::Find(shooter->As_SoldierGameObj()->Player);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	push	ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find

; 1282 : 			aString preset = ::GetPresetInfo(shooter->As_PhysicalGameObj(), true);

	mov	edx, DWORD PTR [esi]
	add	esp, 4
	mov	ebx, eax
	mov	eax, DWORD PTR [edx+36]
	push	1
	mov	ecx, esi
	call	eax
	push	eax
	lea	ecx, DWORD PTR _preset$60254[esp+40]
	push	ecx
	call	?GetPresetInfo@@YA?AVaString@@PAVnc_PhysicalGameObj@@_N@Z ; GetPresetInfo
	add	esp, 12					; 0000000cH

; 1283 : 			if (gzData && gzData->GetHitLog() && gzData->GetHitLog()->GetHitCount(obj->NetworkID, 1) > 0)

	test	ebx, ebx
	mov	DWORD PTR __$EHRec$[esp+40], 0
	je	$LN3@Killed
	mov	ecx, DWORD PTR [ebx+52]
	test	ecx, ecx
	je	$LN3@Killed
	mov	edx, DWORD PTR [edi+12]
	push	1
	push	edx
	call	?GetHitCount@gzAntiCheatHitLog@@QAEHIK@Z ; gzAntiCheatHitLog::GetHitCount
	test	eax, eax
	jle	$LN3@Killed

; 1284 : 			{
; 1285 : 				gzHitLogStruct *hitData = gzData->GetHitLog()->GetLast(obj->NetworkID);

	mov	eax, DWORD PTR [edi+12]
	mov	ecx, DWORD PTR [ebx+52]
	push	ebp
	push	eax
	call	?GetLast@gzAntiCheatHitLog@@QAEPAUgzHitLogStruct@@I@Z ; gzAntiCheatHitLog::GetLast

; 1286 : 				gzLogger("_VEHKILL", "%s destroyed thanks to %ls (%s); LP: %c; RD: %.2f; Hits: %d",
; 1287 : 					gzTranslator->Get(obj),
; 1288 : 					shooter->As_SoldierGameObj()->Player->PlayerName.m_Buffer,
; 1289 : 					preset.GetString(),
; 1290 : 					gzPlayerManager::Find(shooter->As_SoldierGameObj()->Player)->IsLastPrimaryFire() ? 'P' : 'S',
; 1291 : 					hitData->m_damage,
; 1292 : 					gzData->GetHitLog()->GetHitCount(obj->NetworkID, 1)
; 1293 : 				);

	mov	ecx, DWORD PTR [ebx+52]
	mov	edx, DWORD PTR [esi]
	mov	ebp, eax
	mov	eax, DWORD PTR [edx+68]
	mov	DWORD PTR $T70286[esp+32], ecx
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	push	ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	mov	bl, BYTE PTR [eax+96]
	mov	eax, DWORD PTR _preset$60254[esp+44]
	add	esp, 4
	test	eax, eax
	je	SHORT $LN28@Killed
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR tv242[esp+32], edx
	jmp	SHORT $LN29@Killed
$LN28@Killed:
	mov	DWORD PTR tv242[esp+32], 0
$LN29@Killed:
	mov	eax, DWORD PTR [edi+12]
	mov	ecx, DWORD PTR $T70286[esp+32]
	push	1
	push	eax
	call	?GetHitCount@gzAntiCheatHitLog@@QAEHIK@Z ; gzAntiCheatHitLog::GetHitCount
	fld	DWORD PTR [ebp]
	mov	ecx, DWORD PTR tv242[esp+32]
	mov	edx, DWORD PTR [esi]
	push	eax
	mov	eax, DWORD PTR [edx+68]
	sub	esp, 8
	neg	bl
	fstp	QWORD PTR [esp]
	sbb	ebx, ebx
	and	ebx, -3					; fffffffdH
	add	ebx, 83					; 00000053H
	push	ebx
	push	ecx
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1880]
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	edx
	push	edi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0DM@IABHNPKD@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$DL@
	push	OFFSET ??_C@_08DOBPEHCK@_VEHKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 36					; 00000024H
	pop	ebp

; 1294 : 			}
; 1295 : 			else

	jmp	SHORT $LN2@Killed
$LN3@Killed:

; 1296 : 			{
; 1297 : 				gzLogger("_VEHKILL", "%s destroyed thanks to %ls (%s)",
; 1298 : 					gzTranslator->Get(obj),
; 1299 : 					shooter->As_SoldierGameObj()->Player->PlayerName.m_Buffer,
; 1300 : 					preset.GetString()
; 1301 : 				);

	mov	eax, DWORD PTR _preset$60254[esp+36]
	test	eax, eax
	je	SHORT $LN34@Killed
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN35@Killed
$LN34@Killed:
	xor	eax, eax
$LN35@Killed:
	push	eax
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1880]
	push	ecx
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	edi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0CA@KDOENAMP@?$CFs?5destroyed?5thanks?5to?5?$CFls?5?$CI?$CFs?$CJ?$AA@
	push	OFFSET ??_C@_08DOBPEHCK@_VEHKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 20					; 00000014H
$LN2@Killed:

; 1302 : 			}
; 1303 : 		}

	lea	ecx, DWORD PTR _preset$60254[esp+32]
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	pop	esi
	pop	edi
	pop	ebx

; 1306 : 	}
; 1307 : }

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

; 1304 : 		else
; 1305 : 			gzLogger("_VEHKILL", "%s destroyed thanks to the %s", gzTranslator->Get(obj), gzTranslator->Get(shooter));

	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	push	edi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0BO@GEFBPICE@?$CFs?5destroyed?5thanks?5to?5the?5?$CFs?$AA@
	push	OFFSET ??_C@_08DOBPEHCK@_VEHKILL?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 16					; 00000010H
	pop	esi
$LN1@Killed:

; 1306 : 	}
; 1307 : }

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z$0:
	lea	ecx, DWORD PTR _preset$60254[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Killed@gzObserverVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzObserverVehicle::Killed
PUBLIC	??_C@_0DC@OGFJMFPL@You?8ve?5been?5forced?5to?5unbind?5you@ ; `string'
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z:PROC	; gzPlayerManager::Find
EXTRN	_atoi:PROC
;	COMDAT ??_C@_0DC@OGFJMFPL@You?8ve?5been?5forced?5to?5unbind?5you@
; File d:\source code\gzgm\gzplayer.h
CONST	SEGMENT
??_C@_0DC@OGFJMFPL@You?8ve?5been?5forced?5to?5unbind?5you@ DB 'You''ve be'
	DB	'en forced to unbind your bound vehicles.', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
CONST	ENDS
;	COMDAT ?Activate@UnbindConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_text$ = 8						; size = 4
?Activate@UnbindConsoleFunction@@UAEXPAD@Z PROC		; UnbindConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1394 : 		if (!*text)

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

; 1395 : 			return;
; 1396 : 		gzPlayer *pData = gzPlayerManager::Find(atoi(text));

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

; 1397 : 		if (pData)

	test	esi, esi
	je	SHORT $LN9@Activate

; 1398 : 		{
; 1399 : 			pData->GetVehicleData()->UnsetAll();

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

; 1400 : 			PagePlayer(pData->GetPlayerData()->PlayerId, "You've been forced to unbind your bound vehicles.");

	mov	eax, DWORD PTR [esi+72]
	mov	ecx, DWORD PTR [eax+1884]
	push	OFFSET ??_C@_0DC@OGFJMFPL@You?8ve?5been?5forced?5to?5unbind?5you@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN9@Activate:
	pop	esi
$LN1@Activate:

; 1401 : 		}
; 1402 : 	}

	ret	4
?Activate@UnbindConsoleFunction@@UAEXPAD@Z ENDP		; UnbindConsoleFunction::Activate
_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	??1?$aVector@PAVaStringData@@@@UAE@XZ		; aVector<aStringData *>::~aVector<aStringData *>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??1?$aVector@PAVaStringData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAVaStringData@@@@UAE@XZ PROC		; aVector<aStringData *>::~aVector<aStringData *>, COMDAT
; _this$ = ecx

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	je	SHORT $LN8@aVector
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 36   : 	};

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

; 76   : 	{

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

; 77   : 		this->Clear();

	call	?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ ; aStringArrayBase<aString>::Clear

; 78   : 	};

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

; 114  : 	{

	push	esi
	push	edi

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

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

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

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

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

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

; 119  : 	};

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

; 76   : 	{

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

; 77   : 		this->Clear();

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

; 78   : 	};

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

; 114  : 	{

	push	esi
	push	edi

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

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

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

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

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

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

; 119  : 	};

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

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVehicleWreckageStruct@@@@6B@
	je	SHORT $LN8@aVector@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector@2:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 36   : 	};

	ret	0
??1?$aVector@PAUgzVehicleWreckageStruct@@@@UAE@XZ ENDP	; aVector<gzVehicleWreckageStruct *>::~aVector<gzVehicleWreckageStruct *>
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUgzVehicleDestroyAnimStruct@@@@UAE@XZ ; aVector<gzVehicleDestroyAnimStruct *>::~aVector<gzVehicleDestroyAnimStruct *>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@PAUgzVehicleDestroyAnimStruct@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUgzVehicleDestroyAnimStruct@@@@UAE@XZ PROC ; aVector<gzVehicleDestroyAnimStruct *>::~aVector<gzVehicleDestroyAnimStruct *>, COMDAT
; _this$ = ecx

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVehicleDestroyAnimStruct@@@@6B@
	je	SHORT $LN8@aVector@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector@3:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 36   : 	};

	ret	0
??1?$aVector@PAUgzVehicleDestroyAnimStruct@@@@UAE@XZ ENDP ; aVector<gzVehicleDestroyAnimStruct *>::~aVector<gzVehicleDestroyAnimStruct *>
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUgzVehicleBoneData@@@@UAE@XZ	; aVector<gzVehicleBoneData *>::~aVector<gzVehicleBoneData *>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@PAUgzVehicleBoneData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUgzVehicleBoneData@@@@UAE@XZ PROC	; aVector<gzVehicleBoneData *>::~aVector<gzVehicleBoneData *>, COMDAT
; _this$ = ecx

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVehicleBoneData@@@@6B@
	je	SHORT $LN8@aVector@4
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector@4:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 36   : 	};

	ret	0
??1?$aVector@PAUgzVehicleBoneData@@@@UAE@XZ ENDP	; aVector<gzVehicleBoneData *>::~aVector<gzVehicleBoneData *>
_TEXT	ENDS
PUBLIC	??1?$aVector@UgzVehicleOwnerBanData@@@@UAE@XZ	; aVector<gzVehicleOwnerBanData>::~aVector<gzVehicleOwnerBanData>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@UgzVehicleOwnerBanData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@UgzVehicleOwnerBanData@@@@UAE@XZ PROC	; aVector<gzVehicleOwnerBanData>::~aVector<gzVehicleOwnerBanData>, COMDAT
; _this$ = ecx

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@UgzVehicleOwnerBanData@@@@6B@
	je	SHORT $LN8@aVector@5
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector@5:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 36   : 	};

	ret	0
??1?$aVector@UgzVehicleOwnerBanData@@@@UAE@XZ ENDP	; aVector<gzVehicleOwnerBanData>::~aVector<gzVehicleOwnerBanData>
_TEXT	ENDS
PUBLIC	??1?$aVector@PAVgzVehicleData@@@@UAE@XZ		; aVector<gzVehicleData *>::~aVector<gzVehicleData *>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@PAVgzVehicleData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAVgzVehicleData@@@@UAE@XZ PROC		; aVector<gzVehicleData *>::~aVector<gzVehicleData *>, COMDAT
; _this$ = ecx

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVgzVehicleData@@@@6B@
	je	SHORT $LN8@aVector@6
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector@6:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 36   : 	};

	ret	0
??1?$aVector@PAVgzVehicleData@@@@UAE@XZ ENDP		; aVector<gzVehicleData *>::~aVector<gzVehicleData *>
_TEXT	ENDS
PUBLIC	??1?$aList@VgzVehicleData@@@@UAE@XZ		; aList<gzVehicleData>::~aList<gzVehicleData>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\alist.h
;	COMDAT ??1?$aList@VgzVehicleData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aList@VgzVehicleData@@@@UAE@XZ PROC		; aList<gzVehicleData>::~aList<gzVehicleData>, COMDAT
; _this$ = ecx

; 39   : 	{

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

; 40   : 		this->RemoveAll();

	jmp	?RemoveAll@?$aList@VgzVehicleData@@@@UAEXXZ ; aList<gzVehicleData>::RemoveAll
??1?$aList@VgzVehicleData@@@@UAE@XZ ENDP		; aList<gzVehicleData>::~aList<gzVehicleData>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?InsertAfter@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@0@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
_afterData$ = 12					; size = 4
?InsertAfter@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@0@Z PROC ; aList<gzVehicleData>::InsertAfter, COMDAT
; _this$ = ecx

; 122  : 	{

	push	ebx

; 123  : 		if (afterData != NULL)

	mov	ebx, DWORD PTR _afterData$[esp]
	test	ebx, ebx
	push	edi
	mov	edi, ecx
	je	SHORT $LN17@InsertAfte
	push	esi

; 124  : 		{
; 125  : 			for (aListNode<T>* list = this->m_Head; list != NULL; list = list->m_nextNode)

	mov	esi, DWORD PTR [edi+8]
	test	esi, esi
	je	SHORT $LN16@InsertAfte
$LL5@InsertAfte:

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

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

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

	xor	al, al
	pop	ebx

; 141  : 	};

	ret	8
$LN14@InsertAfte:

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

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	129					; 00000081H
	push	OFFSET ??_C@_0CE@DJFGAGNF@d?3?2source?5code?2alib?2include?2aLis@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new

; 130  : 					newNode->m_nextNode = list->m_nextNode;

	mov	ecx, DWORD PTR [esi]

; 131  : 					newNode->data = data;

	mov	edx, DWORD PTR _data$[esp+24]
	mov	DWORD PTR [eax], ecx
	mov	DWORD PTR [eax+4], edx

; 132  : 					list->m_nextNode = newNode;

	mov	DWORD PTR [esi], eax

; 133  : 					if (this->m_Tail && afterData == this->m_Tail->GetData())

	mov	ecx, DWORD PTR [edi+12]
	add	esp, 16					; 00000010H
	test	ecx, ecx
	je	SHORT $LN1@InsertAfte
	cmp	ebx, DWORD PTR [ecx+4]
	jne	SHORT $LN1@InsertAfte

; 134  : 						this->m_Tail = newNode;

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

; 135  : 					this->m_count++;

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

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

	xor	al, al
	pop	ebx

; 141  : 	};

	ret	8
?InsertAfter@?$aList@VgzVehicleData@@@@UAE_NPAVgzVehicleData@@0@Z ENDP ; aList<gzVehicleData>::InsertAfter
_TEXT	ENDS
PUBLIC	??0?$_DebugHeapAllocator@D@std@@QAE@XZ		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_DebugHeapAllocator@D@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_DebugHeapAllocator@D@std@@QAE@XZ PROC		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	ret	0
??0?$_DebugHeapAllocator@D@std@@QAE@XZ ENDP		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAVaStringData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAVaStringData@@@@UAEPAXI@Z PROC		; aVector<aStringData *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	je	SHORT $LN6@scalar@8
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@8:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@8
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@8:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAVaStringData@@@@UAEPAXI@Z ENDP		; aVector<aStringData *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z PROC	; aStringArrayBase<aWideString>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@9
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@9:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z ENDP	; aStringArrayBase<aWideString>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAUgzVehicleWreckageStruct@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUgzVehicleWreckageStruct@@@@UAEPAXI@Z PROC ; aVector<gzVehicleWreckageStruct *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVehicleWreckageStruct@@@@6B@
	je	SHORT $LN6@scalar@10
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@10:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@10
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@10:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAUgzVehicleWreckageStruct@@@@UAEPAXI@Z ENDP ; aVector<gzVehicleWreckageStruct *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAUgzVehicleDestroyAnimStruct@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUgzVehicleDestroyAnimStruct@@@@UAEPAXI@Z PROC ; aVector<gzVehicleDestroyAnimStruct *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVehicleDestroyAnimStruct@@@@6B@
	je	SHORT $LN6@scalar@11
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@11:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@11
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@11:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAUgzVehicleDestroyAnimStruct@@@@UAEPAXI@Z ENDP ; aVector<gzVehicleDestroyAnimStruct *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAUgzVehicleBoneData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUgzVehicleBoneData@@@@UAEPAXI@Z PROC	; aVector<gzVehicleBoneData *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVehicleBoneData@@@@6B@
	je	SHORT $LN6@scalar@12
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@12:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@12
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@12:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAUgzVehicleBoneData@@@@UAEPAXI@Z ENDP	; aVector<gzVehicleBoneData *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@UgzVehicleOwnerBanData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@UgzVehicleOwnerBanData@@@@UAEPAXI@Z PROC	; aVector<gzVehicleOwnerBanData>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@UgzVehicleOwnerBanData@@@@6B@
	je	SHORT $LN6@scalar@13
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@13:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@13
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@13:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@UgzVehicleOwnerBanData@@@@UAEPAXI@Z ENDP	; aVector<gzVehicleOwnerBanData>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAVgzVehicleData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAVgzVehicleData@@@@UAEPAXI@Z PROC	; aVector<gzVehicleData *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVgzVehicleData@@@@6B@
	je	SHORT $LN6@scalar@14
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@14:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@14
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@14:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAVgzVehicleData@@@@UAEPAXI@Z ENDP	; aVector<gzVehicleData *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aList@VgzVehicleData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aList@VgzVehicleData@@@@UAEPAXI@Z PROC		; aList<gzVehicleData>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7?$aList@VgzVehicleData@@@@6B@
	call	?RemoveAll@?$aList@VgzVehicleData@@@@UAEXXZ ; aList<gzVehicleData>::RemoveAll
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN6@scalar@15
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN6@scalar@15:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aList@VgzVehicleData@@@@UAEPAXI@Z ENDP		; aList<gzVehicleData>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1aWideStringArray@@UAE@XZ			; aWideStringArray::~aWideStringArray
; Function compile flags: /Ogtpy
;	COMDAT ??1aWideStringArray@@UAE@XZ
_TEXT	SEGMENT
??1aWideStringArray@@UAE@XZ PROC			; aWideStringArray::~aWideStringArray, COMDAT
; _this$ = ecx
	jmp	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
??1aWideStringArray@@UAE@XZ ENDP			; aWideStringArray::~aWideStringArray
_TEXT	ENDS
PUBLIC	??0?$aStringArrayBase@VaWideString@@@@QAE@XZ	; aStringArrayBase<aWideString>::aStringArrayBase<aWideString>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$aStringArrayBase@VaWideString@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aStringArrayBase@VaWideString@@@@QAE@XZ PROC	; aStringArrayBase<aWideString>::aStringArrayBase<aWideString>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aStringArrayBase@VaWideString@@@@6B@
	ret	0
??0?$aStringArrayBase@VaWideString@@@@QAE@XZ ENDP	; aStringArrayBase<aWideString>::aStringArrayBase<aWideString>
_TEXT	ENDS
PUBLIC	??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z PROC	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	ret	4
??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z ENDP	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
_TEXT	ENDS
PUBLIC	??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@ ; `string'
;	COMDAT ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@ DB 'd:\source'
	DB	' code\fds lib\new\fds_scripts.h', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T70697 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverVehicle>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	36					; 00000024H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70697[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVehicle@@6B@
	jmp	SHORT $LN4@Create
$LN3@Create:
	xor	esi, esi
$LN4@Create:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T70697[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverVehicle>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T70720 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	540					; 0000021cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T70720[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@2
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVehicleWreckage@@6B@
	jmp	SHORT $LN4@Create@2
$LN3@Create@2:
	xor	esi, esi
$LN4@Create@2:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T70720[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverVehicleWreckage>::Create
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzObserverVehicle@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverVehicle@@UAEPAXI@Z PROC			; gzObserverVehicle::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@16
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@16:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserverVehicle@@UAEPAXI@Z ENDP			; gzObserverVehicle::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzObserverVehicleWreckage@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverVehicleWreckage@@UAEPAXI@Z PROC		; gzObserverVehicleWreckage::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@17
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@17:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserverVehicleWreckage@@UAEPAXI@Z ENDP		; gzObserverVehicleWreckage::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1aStringArray@@UAE@XZ				; aStringArray::~aStringArray
; Function compile flags: /Ogtpy
;	COMDAT ??1aStringArray@@UAE@XZ
_TEXT	SEGMENT
??1aStringArray@@UAE@XZ PROC				; aStringArray::~aStringArray, COMDAT
; _this$ = ecx
	jmp	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
??1aStringArray@@UAE@XZ ENDP				; aStringArray::~aStringArray
_TEXT	ENDS
PUBLIC	??0?$aStringArrayBase@VaString@@@@QAE@XZ	; aStringArrayBase<aString>::aStringArrayBase<aString>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$aStringArrayBase@VaString@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aStringArrayBase@VaString@@@@QAE@XZ PROC		; aStringArrayBase<aString>::aStringArrayBase<aString>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aStringArrayBase@VaString@@@@6B@
	ret	0
??0?$aStringArrayBase@VaString@@@@QAE@XZ ENDP		; aStringArrayBase<aString>::aStringArrayBase<aString>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aStringArrayBase@VaString@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aStringArrayBase@VaString@@@@UAEPAXI@Z PROC	; aStringArrayBase<aString>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@18
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@18:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aStringArrayBase@VaString@@@@UAEPAXI@Z ENDP	; aStringArrayBase<aString>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_7gzSettingsVehicleClass@@6B@			; gzSettingsVehicleClass::`vftable'
PUBLIC	??0gzSettingsVehicleClass@@QAE@XZ		; gzSettingsVehicleClass::gzSettingsVehicleClass
PUBLIC	??_R4gzSettingsVehicleClass@@6B@		; gzSettingsVehicleClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzSettingsVehicleClass@@@8		; gzSettingsVehicleClass `RTTI Type Descriptor'
PUBLIC	??_R3gzSettingsVehicleClass@@8			; gzSettingsVehicleClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzSettingsVehicleClass@@8			; gzSettingsVehicleClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzSettingsVehicleClass@@8		; gzSettingsVehicleClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Delete@gzSettingsVehicleClass@@UAEXXZ		; gzSettingsVehicleClass::Delete
PUBLIC	?Load@gzSettingsVehicleClass@@UAEXXZ		; gzSettingsVehicleClass::Load
;	COMDAT ??_R1A@?0A@EA@gzSettingsVehicleClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzSettingsVehicleClass@@8 DD FLAT:??_R0?AVgzSettingsVehicleClass@@@8 ; gzSettingsVehicleClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSettingsVehicleClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzSettingsVehicleClass@@8
rdata$r	SEGMENT
??_R2gzSettingsVehicleClass@@8 DD FLAT:??_R1A@?0A@EA@gzSettingsVehicleClass@@8 ; gzSettingsVehicleClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzSettingsVehicleClass@@8
rdata$r	SEGMENT
??_R3gzSettingsVehicleClass@@8 DD 00H			; gzSettingsVehicleClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzSettingsVehicleClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzSettingsVehicleClass@@@8
_DATA	SEGMENT
??_R0?AVgzSettingsVehicleClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzSettingsVehicleClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzSettingsVehicleClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzSettingsVehicleClass@@6B@
rdata$r	SEGMENT
??_R4gzSettingsVehicleClass@@6B@ DD 00H			; gzSettingsVehicleClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzSettingsVehicleClass@@@8
	DD	FLAT:??_R3gzSettingsVehicleClass@@8
rdata$r	ENDS
;	COMDAT ??_7gzSettingsVehicleClass@@6B@
CONST	SEGMENT
??_7gzSettingsVehicleClass@@6B@ DD FLAT:??_R4gzSettingsVehicleClass@@6B@ ; gzSettingsVehicleClass::`vftable'
	DD	FLAT:?Delete@gzSettingsVehicleClass@@UAEXXZ
	DD	FLAT:?Load@gzSettingsVehicleClass@@UAEXXZ
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzSettingsVehicleClass@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzSettingsVehicleClass@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzSettingsVehicleClass@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzSettingsVehicleClass@@QAE@XZ$2
__ehfuncinfo$??0gzSettingsVehicleClass@@QAE@XZ DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0gzSettingsVehicleClass@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzSettingsVehicleClass@@QAE@XZ
_TEXT	SEGMENT
$T70782 = -20						; size = 4
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzSettingsVehicleClass@@QAE@XZ PROC			; gzSettingsVehicleClass::gzSettingsVehicleClass, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0gzSettingsVehicleClass@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	push	esi
	mov	esi, ecx
	push	edi
	xor	edi, edi
	mov	DWORD PTR [esi], OFFSET ??_7stSettingsBase@@6B@
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+16], edi
	mov	DWORD PTR [esi+20], edi
	mov	DWORD PTR [esi+8], edi
	mov	ecx, DWORD PTR ?gzSettingsMgr@@3PAVgzSettingsManager@@A ; gzSettingsMgr
	add	ecx, 36					; 00000024H
	mov	DWORD PTR $T70782[esp+28], esi
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+12]
	lea	edx, DWORD PTR $T70782[esp+28]
	push	edx
	mov	DWORD PTR _this$[esp+32], esi
	call	eax
	mov	DWORD PTR [esi], OFFSET ??_7gzSettingsVehicleClass@@6B@
	mov	DWORD PTR [esi+24], OFFSET ??_7?$aVector@PAUgzVehicleWreckageStruct@@@@6B@
	mov	DWORD PTR [esi+28], edi
	mov	DWORD PTR [esi+32], edi
	mov	DWORD PTR [esi+36], edi
	mov	DWORD PTR __$EHRec$[esp+36], edi
	mov	DWORD PTR [esi+40], OFFSET ??_7?$aVector@PAUgzVehicleDestroyAnimStruct@@@@6B@
	mov	DWORD PTR [esi+44], edi
	mov	DWORD PTR [esi+48], edi
	mov	DWORD PTR [esi+52], edi
	lea	ecx, DWORD PTR [esi+64]
	mov	BYTE PTR __$EHRec$[esp+36], 1
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [esi+72]
	mov	BYTE PTR __$EHRec$[esp+36], 2
	call	??0aString@@QAE@XZ			; aString::aString
	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	DWORD PTR [esi+84], edi
	mov	DWORD PTR [esi+88], edi
	mov	DWORD PTR [esi+92], edi
	mov	DWORD PTR [esi+80], OFFSET ??_7?$aVector@PAUgzVehicleBoneData@@@@6B@
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzSettingsVehicleClass@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1?$aVector@PAUgzVehicleWreckageStruct@@@@UAE@XZ ; aVector<gzVehicleWreckageStruct *>::~aVector<gzVehicleWreckageStruct *>
__unwindfunclet$??0gzSettingsVehicleClass@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 40					; 00000028H
	jmp	??1?$aVector@PAUgzVehicleDestroyAnimStruct@@@@UAE@XZ ; aVector<gzVehicleDestroyAnimStruct *>::~aVector<gzVehicleDestroyAnimStruct *>
__unwindfunclet$??0gzSettingsVehicleClass@@QAE@XZ$2:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 64					; 00000040H
	jmp	??1aString@@UAE@XZ
__ehhandler$??0gzSettingsVehicleClass@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzSettingsVehicleClass@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzSettingsVehicleClass@@QAE@XZ ENDP			; gzSettingsVehicleClass::gzSettingsVehicleClass
PUBLIC	?Delete@gzVehicleData@@UAEXXZ			; gzVehicleData::Delete
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
;	COMDAT ?Delete@gzVehicleData@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzVehicleData@@UAEXXZ PROC			; gzVehicleData::Delete, COMDAT
; _this$ = ecx

; 255  : {

	push	ebx
	push	esi
	push	edi
	mov	edi, ecx

; 256  : 	if (this->m_owner)

	mov	eax, DWORD PTR [edi+40]
	test	eax, eax
	je	SHORT $LN6@Delete@10

; 257  : 		this->m_owner->GetVehicleData()->Unset(this->m_vehId, VO_BIND);

	mov	ecx, DWORD PTR [edi+36]
	push	1
	push	ecx
	mov	ecx, DWORD PTR [eax+56]
	call	?Unset@gzVehicleOwnerClass@@QAEHIH@Z	; gzVehicleOwnerClass::Unset
$LN6@Delete@10:

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

	lea	esi, DWORD PTR [edi+48]
	mov	ebx, 2
$LL5@Delete@10:

; 260  : 	{
; 261  : 		if (this->m_boneObj[i] != 0)

	mov	eax, DWORD PTR [esi]
	test	eax, eax
	je	SHORT $LN4@Delete@10

; 262  : 		{
; 263  : 			nc_PhysicalGameObj *boneObj = nc_GameObjManager::Find_PhysicalGameObj(this->m_boneObj[i]);

	push	eax
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	add	esp, 4

; 264  : 			if (boneObj)

	test	eax, eax
	je	SHORT $LN4@Delete@10

; 265  : 			{
; 266  : 				boneObj->Set_Delete_Pending();

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

; 267  : 				this->m_boneObj[i] = 0;

	mov	DWORD PTR [esi], 0
$LN4@Delete@10:
	add	esi, 4
	sub	ebx, 1
	jne	SHORT $LL5@Delete@10

; 268  : 			}
; 269  : 		}
; 270  : 	}
; 271  : 	this->m_bans.Clear();

	mov	edx, DWORD PTR [edi+64]
	mov	eax, DWORD PTR [edx+4]
	lea	ecx, DWORD PTR [edi+64]
	pop	edi
	pop	esi
	pop	ebx
	jmp	eax
?Delete@gzVehicleData@@UAEXXZ ENDP			; gzVehicleData::Delete
_TEXT	ENDS
PUBLIC	??_C@_0BB@NHJNEILC@Invisible_Object?$AA@	; `string'
PUBLIC	??_7gzVehicleData@@6B@				; gzVehicleData::`vftable'
PUBLIC	??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z	; gzVehicleData::gzVehicleData
PUBLIC	??_R4gzVehicleData@@6B@				; gzVehicleData::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzVehicleData@@@8			; gzVehicleData `RTTI Type Descriptor'
PUBLIC	??_R3gzVehicleData@@8				; gzVehicleData::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzVehicleData@@8				; gzVehicleData::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzVehicleData@@8			; gzVehicleData::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@gzEvtHandler@@8			; gzEvtHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVgzEvtHandler@@@8			; gzEvtHandler `RTTI Type Descriptor'
PUBLIC	??_R3gzEvtHandler@@8				; gzEvtHandler::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzEvtHandler@@8				; gzEvtHandler::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzBase@@8				; gzBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVgzBase@@@8				; gzBase `RTTI Type Descriptor'
PUBLIC	??_R3gzBase@@8					; gzBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzBase@@8					; gzBase::`RTTI Base Class Array'
PUBLIC	?GetName@gzVehicleData@@UAEPBDXZ		; gzVehicleData::GetName
PUBLIC	?Level_Loaded@gzEvtHandler@@UAEXXZ		; gzEvtHandler::Level_Loaded
PUBLIC	?Level_Ended@gzEvtHandler@@UAEXXZ		; gzEvtHandler::Level_Ended
PUBLIC	?Think@gzVehicleData@@UAEXXZ			; gzVehicleData::Think
PUBLIC	?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_Joined
PUBLIC	?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_Left
PUBLIC	?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z ; gzEvtHandler::Player_Purchase
PUBLIC	?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z ; gzEvtHandler::Player_BandwidthChange
PUBLIC	?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_Suicide
PUBLIC	?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_TeamChange
PUBLIC	?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z ; gzEvtHandler::Player_Chat
PUBLIC	?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z ; gzEvtHandler::Player_Radio
PUBLIC	?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z ; gzEvtHandler::Player_SerialHash
PUBLIC	?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z ; gzEvtHandler::Player_RawDamage
PUBLIC	?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z ; gzEvtHandler::Object_Created
PUBLIC	?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z ; gzEvtHandler::Object_Init
PUBLIC	?Object_Transition@gzVehicleData@@UAEXAAVgzEventObjectTransition@@@Z ; gzVehicleData::Object_Transition
PUBLIC	?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z ; gzEvtHandler::Object_JumpStart
PUBLIC	?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z ; gzEvtHandler::Object_JumpComplete
PUBLIC	?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z ; gzEvtHandler::Object_SoldierSquished
PUBLIC	?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z ; gzEvtHandler::Object_C4Creation
PUBLIC	?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z ; gzEvtHandler::Object_C4Detonate
PUBLIC	?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z ; gzEvtHandler::Object_PowerupGrant
PUBLIC	?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z ; gzEvtHandler::Object_Fire
PUBLIC	?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z ; gzEvtHandler::Object_FlipKill
PUBLIC	?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z ; gzEvtHandler::Net_WolPage
PUBLIC	?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z ; gzEvtHandler::Net_SerialAuth
PUBLIC	?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z ; gzEvtHandler::Bhs_Poke
PUBLIC	?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z ; gzEvtHandler::Bhs_Version
EXTRN	??1gzEvtHandler@@UAE@XZ:PROC			; gzEvtHandler::~gzEvtHandler
EXTRN	?Attach_To_Object_Bone@nc_PhysicalGameObj@@QAEXPAV1@PBD@Z:PROC ; nc_PhysicalGameObj::Attach_To_Object_Bone
EXTRN	?SetChildOwner@gzBase@@QAEXPAVgzManagerEvent@@@Z:PROC ; gzBase::SetChildOwner
EXTRN	?RegisterEvent@gzEvtHandler@@QAEXHH@Z:PROC	; gzEvtHandler::RegisterEvent
EXTRN	??0gzEvtHandler@@QAE@XZ:PROC			; gzEvtHandler::gzEvtHandler
EXTRN	??_EgzVehicleData@@UAEPAXI@Z:PROC		; gzVehicleData::`vector deleting destructor'
EXTRN	?SetDeletePending@gzBase@@UAEXXZ:PROC		; gzBase::SetDeletePending
;	COMDAT ??_R2gzBase@@8
; File d:\source code\alib\include\astring.h
rdata$r	SEGMENT
??_R2gzBase@@8 DD FLAT:??_R1A@?0A@EA@gzBase@@8		; gzBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzBase@@8
rdata$r	SEGMENT
??_R3gzBase@@8 DD 00H					; gzBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzBase@@@8
_DATA	SEGMENT
??_R0?AVgzBase@@@8 DD FLAT:??_7type_info@@6B@		; gzBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@gzBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzBase@@8 DD FLAT:??_R0?AVgzBase@@@8	; gzBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R2gzEvtHandler@@8
rdata$r	SEGMENT
??_R2gzEvtHandler@@8 DD FLAT:??_R1A@?0A@EA@gzEvtHandler@@8 ; gzEvtHandler::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzEvtHandler@@8
rdata$r	SEGMENT
??_R3gzEvtHandler@@8 DD 00H				; gzEvtHandler::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzEvtHandler@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzEvtHandler@@@8
_DATA	SEGMENT
??_R0?AVgzEvtHandler@@@8 DD FLAT:??_7type_info@@6B@	; gzEvtHandler `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzEvtHandler@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@gzEvtHandler@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzEvtHandler@@8 DD FLAT:??_R0?AVgzEvtHandler@@@8 ; gzEvtHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzEvtHandler@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzVehicleData@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzVehicleData@@8 DD FLAT:??_R0?AVgzVehicleData@@@8 ; gzVehicleData::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzVehicleData@@8
rdata$r	ENDS
;	COMDAT ??_R2gzVehicleData@@8
rdata$r	SEGMENT
??_R2gzVehicleData@@8 DD FLAT:??_R1A@?0A@EA@gzVehicleData@@8 ; gzVehicleData::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzEvtHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzVehicleData@@8
rdata$r	SEGMENT
??_R3gzVehicleData@@8 DD 00H				; gzVehicleData::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2gzVehicleData@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzVehicleData@@@8
_DATA	SEGMENT
??_R0?AVgzVehicleData@@@8 DD FLAT:??_7type_info@@6B@	; gzVehicleData `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzVehicleData@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzVehicleData@@6B@
rdata$r	SEGMENT
??_R4gzVehicleData@@6B@ DD 00H				; gzVehicleData::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzVehicleData@@@8
	DD	FLAT:??_R3gzVehicleData@@8
rdata$r	ENDS
;	COMDAT ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
CONST	SEGMENT
??_C@_0BB@NHJNEILC@Invisible_Object?$AA@ DB 'Invisible_Object', 00H ; `string'
CONST	ENDS
;	COMDAT ??_7gzVehicleData@@6B@
CONST	SEGMENT
??_7gzVehicleData@@6B@ DD FLAT:??_R4gzVehicleData@@6B@	; gzVehicleData::`vftable'
	DD	FLAT:??_EgzVehicleData@@UAEPAXI@Z
	DD	FLAT:?GetName@gzVehicleData@@UAEPBDXZ
	DD	FLAT:?Delete@gzVehicleData@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Think@gzVehicleData@@UAEXXZ
	DD	FLAT:?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@gzVehicleData@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@gzVehicleData@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@gzVehicleData@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z$2
__ehfuncinfo$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z
_TEXT	SEGMENT
tv457 = -28						; size = 4
_this$ = -24						; size = 4
$T70817 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_vehicle$ = 8						; size = 4
??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z PROC	; gzVehicleData::gzVehicleData, COMDAT
; _this$ = ecx

; 274  : {

	push	-1
	push	__ehhandler$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H
	push	ebx
	push	ebp
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+40], esi
	call	??0gzEvtHandler@@QAE@XZ			; gzEvtHandler::gzEvtHandler
	xor	ebp, ebp
	mov	DWORD PTR [esi], OFFSET ??_7gzVehicleData@@6B@
	mov	DWORD PTR __$EHRec$[esp+48], ebp
	mov	DWORD PTR [esi+64], OFFSET ??_7?$aVector@UgzVehicleOwnerBanData@@@@6B@
	mov	DWORD PTR [esi+68], ebp
	mov	DWORD PTR [esi+72], ebp
	mov	DWORD PTR [esi+76], ebp

; 275  : 	this->RegisterEvent(gzEVT_GAME_THINK);

	push	ebp
	push	4098					; 00001002H
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+56], 1
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 276  : 	this->RegisterEvent(gzEVT_OBJECT_DAMAGE, 1);

	push	1
	push	12290					; 00003002H
	mov	ecx, esi
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 277  : 	this->RegisterEvent(gzEVT_OBJECT_KILL);

	push	ebp
	push	12291					; 00003003H
	mov	ecx, esi
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 278  : 	this->RegisterEvent(gzEVT_OBJECT_TRANSITION);

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

; 279  : 
; 280  : 	this->m_owner = NULL;

	mov	DWORD PTR [esi+40], ebp

; 281  : 	this->SetChildOwner(gzVehicleMgr);

	mov	eax, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	cmp	eax, ebp
	je	SHORT $LN10@gzVehicleD
	add	eax, 36					; 00000024H
	jmp	SHORT $LN11@gzVehicleD
$LN10@gzVehicleD:
	xor	eax, eax
$LN11@gzVehicleD:
	push	eax
	mov	ecx, esi
	call	?SetChildOwner@gzBase@@QAEXPAVgzManagerEvent@@@Z ; gzBase::SetChildOwner

; 282  : 
; 283  : 	this->m_vehId = vehicle->NetworkID;

	mov	eax, DWORD PTR _vehicle$[esp+36]
	mov	ecx, DWORD PTR [eax+12]
	mov	DWORD PTR [esi+36], ecx

; 284  : 	this->m_bindType = VO_NONE;

	mov	DWORD PTR [esi+44], ebp

; 285  : 	this->m_boneObj[0] = 0;

	mov	DWORD PTR [esi+48], ebp

; 286  : 	this->m_boneObj[1] = 0;

	mov	DWORD PTR [esi+52], ebp

; 287  : 	this->m_purchaser = NULL;

	mov	DWORD PTR [esi+56], ebp

; 288  : 	this->m_canSetPurchaser = true;

	mov	BYTE PTR [esi+60], 1

; 289  : #if ISDEV()
; 290  : 	this->m_sell = NULL;

	mov	DWORD PTR [esi+80], ebp

; 291  : #endif
; 292  : 
; 293  : 	for (unsigned int i = 0; i < gzVehicleMgr->GetSettings()->m_boneList.Count(); i++)

	mov	edx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [edx+40]
	xor	ebx, ebx
	cmp	DWORD PTR [eax+92], ebp
	jbe	$LN51@gzVehicleD
	push	edi
	npad	7
$LL52@gzVehicleD:

; 294  : 	{
; 295  : 		if (gzVehicleMgr->GetSettings()->m_boneList[i]->Vehicle ==vehicle->definition->Get_Name())

	mov	ecx, DWORD PTR _vehicle$[esp+40]
	mov	eax, DWORD PTR [eax+84]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	edx, DWORD PTR [ecx]
	lea	edi, DWORD PTR [eax+ebx*4]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR [edi]
	push	eax
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	SHORT $LN46@gzVehicleD
	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [ecx+40]
	add	ebx, 1
	cmp	ebx, DWORD PTR [eax+92]
	jb	SHORT $LL52@gzVehicleD
	jmp	$LN50@gzVehicleD
$LN46@gzVehicleD:

; 296  : 		{
; 297  : 			for (unsigned int j = 0; j < gzVehicleMgr->GetSettings()->m_boneList[i]->Bone.Count() && j < 2; j++)

	mov	edx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [edx+40]
	mov	eax, DWORD PTR [eax+84]
	add	ebx, ebx
	add	ebx, ebx
	mov	ecx, DWORD PTR [eax+ebx]
	xor	edi, edi
	cmp	DWORD PTR [ecx+20], ebp
	jbe	$LN50@gzVehicleD
	lea	eax, DWORD PTR [esi+48]
	mov	DWORD PTR tv457[esp+44], eax
	npad	2
$LL3@gzVehicleD:
	cmp	edi, 2
	jae	$LN50@gzVehicleD

; 298  : 			{
; 299  : 				nc_PhysicalGameObj *boneObj = nc_ObjectLibraryManager::Create_Object("Invisible_Object")->As_PhysicalGameObj();

	push	OFFSET ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
	call	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z ; nc_ObjectLibraryManager::Create_Object
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+36]
	add	esp, 4
	call	eax

; 300  : 				boneObj->Attach_To_Object_Bone(vehicle, gzVehicleMgr->GetSettings()->m_boneList[i]->Bone[j].GetString());

	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	ebp, eax
	mov	eax, DWORD PTR [ecx+40]
	mov	eax, DWORD PTR [eax+84]
	mov	ecx, DWORD PTR [eax+ebx]
	add	eax, ebx
	push	edi
	lea	edx, DWORD PTR $T70817[esp+48]
	push	edx
	add	ecx, 8
	call	??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z ; aStringArrayBase<aString>::operator[]
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+52], 2
	je	SHORT $LN37@gzVehicleD
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN38@gzVehicleD
$LN37@gzVehicleD:
	xor	eax, eax
$LN38@gzVehicleD:
	push	eax
	mov	eax, DWORD PTR _vehicle$[esp+44]
	push	eax
	mov	ecx, ebp
	call	?Attach_To_Object_Bone@nc_PhysicalGameObj@@QAEXPAV1@PBD@Z ; nc_PhysicalGameObj::Attach_To_Object_Bone
	lea	ecx, DWORD PTR $T70817[esp+44]
	mov	BYTE PTR __$EHRec$[esp+52], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 301  : 				this->m_boneObj[j] = boneObj->NetworkID;

	mov	eax, DWORD PTR tv457[esp+44]
	mov	ecx, DWORD PTR [ebp+12]
	mov	DWORD PTR [eax], ecx
	mov	edx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	add	eax, 4
	mov	DWORD PTR tv457[esp+44], eax
	mov	eax, DWORD PTR [edx+40]
	mov	ecx, DWORD PTR [eax+84]
	mov	edx, DWORD PTR [ecx+ebx]
	add	edi, 1
	cmp	edi, DWORD PTR [edx+20]
	jb	$LL3@gzVehicleD
$LN50@gzVehicleD:
	pop	edi
$LN51@gzVehicleD:

; 302  : 			}
; 303  : 			break;
; 304  : 		}
; 305  : 	}
; 306  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	mov	eax, esi
	pop	esi
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
__unwindfunclet$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 64					; 00000040H
	jmp	??1?$aVector@UgzVehicleOwnerBanData@@@@UAE@XZ ; aVector<gzVehicleOwnerBanData>::~aVector<gzVehicleOwnerBanData>
__unwindfunclet$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z$2:
	lea	ecx, DWORD PTR $T70817[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z:
	mov	eax, OFFSET __ehfuncinfo$??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z ENDP	; gzVehicleData::gzVehicleData
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzevent.h
;	COMDAT ?Level_Loaded@gzEvtHandler@@UAEXXZ
_TEXT	SEGMENT
?Level_Loaded@gzEvtHandler@@UAEXXZ PROC			; gzEvtHandler::Level_Loaded, COMDAT
; _this$ = ecx

; 63   : 	virtual void Level_Loaded()	{ };

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

; 64   : 	virtual void Level_Ended() { };

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	ret	4
?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z ENDP ; gzEvtHandler::Bhs_Version
_TEXT	ENDS
PUBLIC	??_C@_0O@MMHGOEDL@gzVehicleData?$AA@		; `string'
;	COMDAT ??_C@_0O@MMHGOEDL@gzVehicleData?$AA@
; File d:\source code\gzgm\gzvehicle.h
CONST	SEGMENT
??_C@_0O@MMHGOEDL@gzVehicleData?$AA@ DB 'gzVehicleData', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzVehicleData@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzVehicleData@@UAEPBDXZ PROC			; gzVehicleData::GetName, COMDAT
; _this$ = ecx

; 88   : 		return "gzVehicleData";

	mov	eax, OFFSET ??_C@_0O@MMHGOEDL@gzVehicleData?$AA@

; 89   : 	};

	ret	0
?GetName@gzVehicleData@@UAEPBDXZ ENDP			; gzVehicleData::GetName
_TEXT	ENDS
PUBLIC	??1gzVehicleData@@UAE@XZ			; gzVehicleData::~gzVehicleData
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzVehicleData@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzVehicleData@@UAE@XZ$0
__ehfuncinfo$??1gzVehicleData@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzVehicleData@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzVehicleData@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzVehicleData@@UAE@XZ PROC				; gzVehicleData::~gzVehicleData, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzVehicleData@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	xor	edi, edi
	cmp	DWORD PTR [esi+68], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	mov	DWORD PTR [esi+64], OFFSET ??_7?$aVector@UgzVehicleOwnerBanData@@@@6B@
	je	SHORT $LN7@gzVehicleD@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+68]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+68], edi
$LN7@gzVehicleD@2:
	mov	ecx, esi
	mov	DWORD PTR [esi+72], edi
	mov	DWORD PTR [esi+76], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	call	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1gzVehicleData@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
__ehhandler$??1gzVehicleData@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzVehicleData@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzVehicleData@@UAE@XZ ENDP				; gzVehicleData::~gzVehicleData
PUBLIC	??_C@_0CD@BMFCGNHB@?$FLVO?$FN?5Purchaser?5is?5set?5for?5?$CFs?3?5?$CFl@ ; `string'
PUBLIC	__real@c7c34f80
EXTRN	?SubFrameTime@@YAXAAM_N@Z:PROC			; SubFrameTime
;	COMDAT ??_C@_0CD@BMFCGNHB@?$FLVO?$FN?5Purchaser?5is?5set?5for?5?$CFs?3?5?$CFl@
; File d:\source code\gzgm\gzvehicle.cpp
CONST	SEGMENT
??_C@_0CD@BMFCGNHB@?$FLVO?$FN?5Purchaser?5is?5set?5for?5?$CFs?3?5?$CFl@ DB '['
	DB	'VO] Purchaser is set for %s: %ls', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT __real@c7c34f80
CONST	SEGMENT
__real@c7c34f80 DD 0c7c34f80r			; -99999
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Think@gzVehicleData@@UAEXXZ
_TEXT	SEGMENT
tv212 = -8						; size = 4
_team$59533 = -8					; size = 4
$T71010 = -4						; size = 4
_enemy$59534 = -4					; size = 4
?Think@gzVehicleData@@UAEXXZ PROC			; gzVehicleData::Think, COMDAT
; _this$ = ecx

; 308  : {

	sub	esp, 8
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

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

	xor	ebp, ebp
	xor	edi, edi
	cmp	DWORD PTR [esi+76], ebp
	jbe	SHORT $LN15@Think@2
$LL17@Think@2:

; 310  : 	{
; 311  : 		if (this->m_bans[i].Counter > -99999.0f)

	mov	eax, DWORD PTR [esi+68]
	fld	DWORD PTR __real@c7c34f80
	fcomp	DWORD PTR [eax+edi*8+4]
	lea	ecx, DWORD PTR [eax+edi*8+4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN16@Think@2

; 312  : 		{
; 313  : 			SubFrameTime(this->m_bans[i].Counter, true);

	push	1
	push	ecx
	call	?SubFrameTime@@YAXAAM_N@Z		; SubFrameTime

; 314  : 			if (this->m_bans[i].Counter < 0.0f)

	fldz
	mov	ecx, DWORD PTR [esi+68]
	fcomp	DWORD PTR [ecx+edi*8+4]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN16@Think@2

; 315  : 			{
; 316  : 				this->m_bans.Delete(i);

	mov	edx, DWORD PTR [esi+64]
	mov	eax, DWORD PTR [edx+20]
	lea	ecx, DWORD PTR [esi+64]
	push	edi
	call	eax

; 317  : 				i--;

	sub	edi, 1
$LN16@Think@2:
	add	edi, 1
	cmp	edi, DWORD PTR [esi+76]
	jb	SHORT $LL17@Think@2
$LN15@Think@2:

; 318  : 			}
; 319  : 		}
; 320  : 	}
; 321  : 	nc_SmartGameObj *smartObj = nc_GameObjManager::Find_SmartGameObj(this->m_vehId);

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

; 322  : 	if (smartObj)

	cmp	eax, ebp
	je	$LN12@Think@2

; 323  : 	{
; 324  : 		if (this->m_canSetPurchaser)

	cmp	BYTE PTR [esi+60], 0
	je	$LN1@Think@2

; 325  : 		{
; 326  : 			nc_VehicleGameObj *veh = smartObj->As_VehicleGameObj();

	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+40]
	push	ebx
	call	eax

; 327  : 			if (veh->OwnerExpireCounter > 0.0f && veh->Owner.Reference && veh->Owner.Reference->obj->As_SoldierGameObj()->Player)

	fldz
	mov	ebx, eax
	fcomp	DWORD PTR [ebx+2536]
	fnstsw	ax
	test	ah, 5
	jp	$LN51@Think@2
	cmp	DWORD PTR [ebx+2528], ebp
	je	$LN51@Think@2
	mov	ecx, DWORD PTR [ebx+2528]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2400], ebp
	je	$LN51@Think@2

; 328  : 			{
; 329  : 				this->m_purchaser = gzPlayerManager::Find(veh->Owner.Reference->obj->As_SoldierGameObj()->Player);

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

; 330  : 				if (this->m_purchaser)

	cmp	eax, ebp
	mov	DWORD PTR [esi+56], eax
	je	$LN51@Think@2

; 331  : 				{
; 332  : #ifdef VOMSG
; 333  : 					gzConsole::Out("[VO] Purchaser is set for %s: %ls\n",
; 334  : 						veh->definition->Get_Name(),
; 335  : 						veh->Owner.Reference->obj->As_SoldierGameObj()->Player->PlayerName.m_Buffer
; 336  : 					);

	mov	edx, DWORD PTR [ebx+2528]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	mov	edi, DWORD PTR [ebx+1724]
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1880]
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+48]
	push	ecx
	mov	ecx, edi
	call	eax
	push	eax
	push	OFFSET ??_C@_0CD@BMFCGNHB@?$FLVO?$FN?5Purchaser?5is?5set?5for?5?$CFs?3?5?$CFl@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out

; 337  : #endif
; 338  : 					this->m_canSetPurchaser = false;

	mov	BYTE PTR [esi+60], 0

; 339  : 					if (gzVehicleMgr->GetSettings()->m_bindOnPurchase)

	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	edx, DWORD PTR [ecx+40]
	add	esp, 12					; 0000000cH
	cmp	BYTE PTR [edx+100], 0
	je	$LN51@Think@2

; 340  : 					{
; 341  : 						int team = 0, enemy = 0;
; 342  : 						this->m_purchaser->GetVehicleData()->GetCount(team, enemy);

	mov	edx, DWORD PTR [esi+56]
	lea	eax, DWORD PTR _enemy$59534[esp+24]
	push	eax
	lea	ecx, DWORD PTR _team$59533[esp+28]
	push	ecx
	mov	ecx, DWORD PTR [edx+56]
	mov	DWORD PTR _team$59533[esp+32], ebp
	mov	DWORD PTR _enemy$59534[esp+32], ebp
	call	?GetCount@gzVehicleOwnerClass@@QAEXAAH0@Z ; gzVehicleOwnerClass::GetCount

; 343  : 						if (team < gzVehicleMgr->GetSettings()->m_maxTeamVehicle)

	mov	eax, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	ecx, DWORD PTR [eax+40]
	mov	edx, DWORD PTR _team$59533[esp+24]
	cmp	edx, DWORD PTR [ecx+60]
	jge	$LN51@Think@2

; 344  : 						{
; 345  : 							this->m_owner = this->m_purchaser;

	mov	eax, DWORD PTR [esi+56]
	mov	DWORD PTR [esi+40], eax
	lea	ebp, DWORD PTR [esi+48]
	mov	DWORD PTR tv212[esp+24], 2
	npad	2
$LL6@Think@2:

; 346  : 							for (int i = 0; i < 2; i++)
; 347  : 							{
; 348  : 								nc_PhysicalGameObj *boneObj = nc_GameObjManager::Find_PhysicalGameObj(this->m_boneObj[i]);

	mov	ecx, DWORD PTR [ebp]
	push	ecx
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	mov	edi, eax
	add	esp, 4

; 349  : 								if (boneObj)

	test	edi, edi
	je	SHORT $LN5@Think@2

; 350  : 								{
; 351  : 									boneObj->Physics->Set_Model_By_Name(gzVehicleMgr->GetSettings()->m_bindIcon.GetString());

	mov	edx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [edx+40]
	add	eax, 64					; 00000040H
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN38@Think@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN39@Think@2
$LN38@Think@2:
	xor	eax, eax
$LN39@Think@2:
	mov	ecx, DWORD PTR [edi+1908]
	push	eax
	call	?Set_Model_By_Name@nc_PhysClass@@QAEXPBD@Z ; nc_PhysClass::Set_Model_By_Name

; 352  : 									boneObj->Set_Object_Dirty_Bit(nc_DB_RARE, true);

	mov	eax, DWORD PTR [edi+8]
	mov	edx, DWORD PTR [eax+56]
	lea	ecx, DWORD PTR [edi+8]
	push	1
	push	7
	call	edx
$LN5@Think@2:
	add	ebp, 4
	sub	DWORD PTR tv212[esp+24], 1
	jne	SHORT $LL6@Think@2

; 353  : 								}
; 354  : 							}
; 355  : 							this->m_bindType = VO_BIND;
; 356  : 							this->m_owner->GetVehicleData()->GetBoundList().Add(this);

	mov	eax, DWORD PTR [esi+40]
	mov	DWORD PTR [esi+44], 1
	mov	DWORD PTR $T71010[esp+24], esi
	mov	eax, DWORD PTR [eax+56]
	mov	edx, DWORD PTR [eax+48]
	mov	edx, DWORD PTR [edx+12]
	lea	ecx, DWORD PTR [eax+48]
	lea	eax, DWORD PTR $T71010[esp+24]
	push	eax
	call	edx
$LN51@Think@2:

; 357  : 						}
; 358  : 					}
; 359  : 				}
; 360  : 			}
; 361  : 			if (veh->OwnerExpireCounter <= 0.0f)

	fldz
	fcomp	DWORD PTR [ebx+2536]
	pop	ebx
	fnstsw	ax
	test	ah, 1
	jne	SHORT $LN1@Think@2

; 362  : 				this->m_canSetPurchaser = false;

	mov	BYTE PTR [esi+60], 0
$LN1@Think@2:
	pop	edi
	pop	esi
	pop	ebp

; 367  : }

	add	esp, 8
	ret	0
$LN12@Think@2:

; 363  : 		}
; 364  : 	}
; 365  : 	else
; 366  : 		this->SetDeletePending();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	pop	edi
	mov	ecx, esi
	pop	esi
	pop	ebp

; 367  : }

	add	esp, 8

; 363  : 		}
; 364  : 	}
; 365  : 	else
; 366  : 		this->SetDeletePending();

	jmp	edx
?Think@gzVehicleData@@UAEXXZ ENDP			; gzVehicleData::Think
_TEXT	ENDS
PUBLIC	??_C@_0FH@DEOCDCE@?$FLVO?$FN?5?$CFls?5entered?5bound?5vehicle?4?5@ ; `string'
PUBLIC	??_C@_0ID@NIGFGMCC@Warning?$CB?5?$CFls?5has?5entered?5your?5bo@ ; `string'
PUBLIC	??_C@_0GF@IIBPGNAN@pamsg?5?$CFd?5The?5vehicle?5you?5entered@ ; `string'
PUBLIC	??_C@_0DK@GHGFJJP@Your?5ban?5for?5vehicle?5?$CFs?5will?5be?5@ ; `string'
PUBLIC	??_C@_0JK@EICDHEAP@pamsg?5?$CFd?5The?5vehicle?5you?5tried?5t@ ; `string'
PUBLIC	??_C@_0CE@ELACLHEI@Enemy?5has?5stolen?5your?5vehicle?$CB?5?$CI@ ; `string'
PUBLIC	??_C@_0ED@MAAGABFI@?$FLVO?$FN?5?$CFls?5attempted?5to?5enter?5vehi@ ; `string'
PUBLIC	??_C@_0FJ@OPPKALOM@?$FLVO?$FN?5Purchaser?5has?5been?5removed?5@ ; `string'
EXTRN	?Add_Occupant@nc_VehicleGameObj@@QAEXPAVnc_SoldierGameObj@@H@Z:PROC ; nc_VehicleGameObj::Add_Occupant
EXTRN	?In@gzConsole@@SAXPBDZZ:PROC			; gzConsole::In
;	COMDAT ??_C@_0FH@DEOCDCE@?$FLVO?$FN?5?$CFls?5entered?5bound?5vehicle?4?5@
CONST	SEGMENT
??_C@_0FH@DEOCDCE@?$FLVO?$FN?5?$CFls?5entered?5bound?5vehicle?4?5@ DB '[V'
	DB	'O] %ls entered bound vehicle. Setting Last-Enter data...Owner'
	DB	': %ls; Vehicle: %s(%d)', 0aH, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0ID@NIGFGMCC@Warning?$CB?5?$CFls?5has?5entered?5your?5bo@
CONST	SEGMENT
??_C@_0ID@NIGFGMCC@Warning?$CB?5?$CFls?5has?5entered?5your?5bo@ DB 'Warni'
	DB	'ng! %ls has entered your bound vehicle(%s). If you wish to re'
	DB	'move him, type !vkick %ls (You may enter part his the nicknam'
	DB	'e).', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0GF@IIBPGNAN@pamsg?5?$CFd?5The?5vehicle?5you?5entered@
CONST	SEGMENT
??_C@_0GF@IIBPGNAN@pamsg?5?$CFd?5The?5vehicle?5you?5entered@ DB 'pamsg %d'
	DB	' The vehicle you entered is locked and belongs to %ls. You''r'
	DB	'e being moved to passanger seat.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0DK@GHGFJJP@Your?5ban?5for?5vehicle?5?$CFs?5will?5be?5@
CONST	SEGMENT
??_C@_0DK@GHGFJJP@Your?5ban?5for?5vehicle?5?$CFs?5will?5be?5@ DB 'Your ba'
	DB	'n for vehicle %s will be lifted in %.0f second(s).', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0JK@EICDHEAP@pamsg?5?$CFd?5The?5vehicle?5you?5tried?5t@
CONST	SEGMENT
??_C@_0JK@EICDHEAP@pamsg?5?$CFd?5The?5vehicle?5you?5tried?5t@ DB 'pamsg %'
	DB	'd The vehicle you tried to enter cannot be entered because it'
	DB	'''s locked and belongs to %S. In addition, it has no passange'
	DB	'r seat available for you.', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CE@ELACLHEI@Enemy?5has?5stolen?5your?5vehicle?$CB?5?$CI@
CONST	SEGMENT
??_C@_0CE@ELACLHEI@Enemy?5has?5stolen?5your?5vehicle?$CB?5?$CI@ DB 'Enemy'
	DB	' has stolen your vehicle! (%s)', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0ED@MAAGABFI@?$FLVO?$FN?5?$CFls?5attempted?5to?5enter?5vehi@
CONST	SEGMENT
??_C@_0ED@MAAGABFI@?$FLVO?$FN?5?$CFls?5attempted?5to?5enter?5vehi@ DB '[V'
	DB	'O] %ls attempted to enter vehicle: %s; Owner: %ls; bindType: '
	DB	'%d', 0aH, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0FJ@OPPKALOM@?$FLVO?$FN?5Purchaser?5has?5been?5removed?5@
CONST	SEGMENT
??_C@_0FJ@OPPKALOM@?$FLVO?$FN?5Purchaser?5has?5been?5removed?5@ DB '[VO] '
	DB	'Purchaser has been removed because %ls is an enemy of %ls who'
	DB	' entered the vehicle.', 0aH, 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Object_Transition@gzVehicleData@@UAEXAAVgzEventObjectTransition@@@Z
_TEXT	SEGMENT
tv741 = -8						; size = 4
_gzData$59572 = -4					; size = 4
tv739 = 8						; size = 4
_Vehicle$59571 = 8					; size = 4
_evt$ = 8						; size = 4
?Object_Transition@gzVehicleData@@UAEXAAVgzEventObjectTransition@@@Z PROC ; gzVehicleData::Object_Transition, COMDAT
; _this$ = ecx

; 417  : {

	sub	esp, 8
	push	esi
	push	edi

; 418  : 	if (evt.m_instance->Target.Reference && evt.m_instance->Target.Reference->obj->NetworkID == this->m_vehId)

	mov	edi, DWORD PTR _evt$[esp+12]
	mov	eax, DWORD PTR [edi+36]
	mov	eax, DWORD PTR [eax+116]
	test	eax, eax
	mov	esi, ecx
	je	$LN75@Object_Tra
	mov	ecx, DWORD PTR [esi+36]
	mov	edx, DWORD PTR [eax+4]
	cmp	DWORD PTR [edx+12], ecx
	jne	$LN75@Object_Tra

; 419  : 	{
; 420  : 		if (evt.m_instance->Target.Reference->obj->NetworkID == this->m_vehId && evt.m_soldier->Player)

	mov	eax, DWORD PTR [edi+32]
	cmp	DWORD PTR [eax+2400], 0
	je	$LN75@Object_Tra

; 421  : 		{
; 422  : 			if (!evt.m_soldier->Vehicle)

	cmp	DWORD PTR [eax+2444], 0
	jne	$LN75@Object_Tra
	push	ebx

; 423  : 			{
; 424  : 				nc_VehicleGameObj *Vehicle = nc_GameObjManager::Find_SmartGameObj(this->m_vehId)->As_VehicleGameObj();

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

; 425  : 				gzPlayer *gzData = gzPlayerManager::Find(evt.m_soldier->Player);

	mov	ecx, DWORD PTR [edi+32]
	mov	edx, DWORD PTR [ecx+2400]
	mov	ebx, eax
	push	edx
	mov	DWORD PTR _Vehicle$59571[esp+20], ebx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	add	esp, 4

; 426  : 				if (gzData)

	test	eax, eax
	mov	DWORD PTR _gzData$59572[esp+20], eax
	je	$LN85@Object_Tra

; 427  : 				{
; 428  : 					if (this->m_purchaser && this->m_purchaser->GetPlayerData()->PlayerType.Get() != evt.m_soldier->Player->PlayerType.Get())

	mov	eax, DWORD PTR [esi+56]
	test	eax, eax
	push	ebp
	je	SHORT $LN84@Object_Tra
	mov	ebp, DWORD PTR [eax+72]
	mov	eax, DWORD PTR [edi+32]
	mov	ecx, DWORD PTR [eax+2400]
	add	ecx, 1900				; 0000076cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	lea	ecx, DWORD PTR [ebp+1900]
	mov	DWORD PTR tv741[esp+24], eax
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR tv741[esp+24]
	cmp	eax, ecx
	je	SHORT $LN84@Object_Tra

; 429  : 					{
; 430  : #ifdef VOMSG
; 431  : 						gzConsole::Out("[VO] Purchaser has been removed because %ls is an enemy of %ls who entered the vehicle.\n",
; 432  : 							evt.m_soldier->Player->PlayerName.m_Buffer,
; 433  : 							this->m_purchaser->GetPlayerData()->PlayerName.m_Buffer
; 434  : 						);

	mov	ecx, DWORD PTR [esi+56]
	mov	edx, DWORD PTR [ecx+72]
	mov	eax, DWORD PTR [edx+1880]
	mov	ecx, DWORD PTR [edi+32]
	mov	edx, DWORD PTR [ecx+2400]
	push	eax
	mov	eax, DWORD PTR [edx+1880]
	push	eax
	push	OFFSET ??_C@_0FJ@OPPKALOM@?$FLVO?$FN?5Purchaser?5has?5been?5removed?5@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	add	esp, 12					; 0000000cH

; 435  : #endif
; 436  : 						this->m_purchaser = NULL;

	mov	DWORD PTR [esi+56], 0
$LN84@Object_Tra:

; 437  : 					}
; 438  : 					if (this->m_owner)

	cmp	DWORD PTR [esi+40], 0
	je	$LN86@Object_Tra

; 439  : 					{
; 440  : #ifdef VOMSG
; 441  : 						gzConsole::Out("[VO] %ls attempted to enter vehicle: %s; Owner: %ls; bindType: %d\n",
; 442  : 							evt.m_soldier->Player->PlayerName.m_Buffer,
; 443  : 							nc_GameObjManager::Find_SmartGameObj(this->m_vehId)->definition->Get_Name(),
; 444  : 							this->m_owner->GetPlayerData()->PlayerName.m_Buffer,
; 445  : 							this->m_bindType
; 446  : 						);

	mov	ecx, DWORD PTR [esi+36]
	push	ecx
	call	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z ; nc_GameObjManager::Find_SmartGameObj
	mov	edx, DWORD PTR [esi+40]
	mov	ecx, DWORD PTR [edx+72]
	mov	edx, DWORD PTR [esi+44]
	mov	eax, DWORD PTR [eax+1724]
	mov	ecx, DWORD PTR [ecx+1880]
	add	esp, 4
	push	edx
	mov	edx, DWORD PTR [eax]
	push	ecx
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR [edi+32]
	mov	edx, DWORD PTR [ecx+2400]
	push	eax
	mov	eax, DWORD PTR [edx+1880]
	push	eax
	push	OFFSET ??_C@_0ED@MAAGABFI@?$FLVO?$FN?5?$CFls?5attempted?5to?5enter?5vehi@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out

; 447  : #endif
; 448  : 						if (this->m_owner && this->m_owner->GetPlayerData()->PlayerType.Get() != evt.m_soldier->PlayerType)

	mov	eax, DWORD PTR [esi+40]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	$LN14@Object_Tra
	mov	eax, DWORD PTR [eax+72]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR [edi+32]
	cmp	eax, DWORD PTR [ecx+1892]
	je	SHORT $LN14@Object_Tra

; 449  : 						{
; 450  : 							gzVehicleData *vehData = gzVehicleMgr->Find(this->m_vehId);

	mov	edx, DWORD PTR [esi+36]
	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	push	edx
	call	?Find@gzManagerVehicle@@QAEPAVgzVehicleData@@K@Z ; gzManagerVehicle::Find
	mov	ebp, eax

; 451  : 							if (vehData)

	test	ebp, ebp
	je	$LN86@Object_Tra

; 452  : 							{
; 453  : 								PagePlayer(this->m_owner->GetPlayerData()->PlayerId, "Enemy has stolen your vehicle! (%s)",
; 454  : 									gzTranslator->Get(Vehicle->definition->Get_Name())
; 455  : 								);

	mov	eax, DWORD PTR [esi+40]
	mov	ecx, DWORD PTR [ebx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	edi, DWORD PTR [eax+72]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	mov	ecx, DWORD PTR [edi+1884]
	push	eax
	push	OFFSET ??_C@_0CE@ELACLHEI@Enemy?5has?5stolen?5your?5vehicle?$CB?5?$CI@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 456  : 								this->m_owner->GetVehicleData()->Unset(this->m_vehId, VO_BIND);

	mov	edx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [esi+40]
	mov	ecx, DWORD PTR [eax+56]
	add	esp, 12					; 0000000cH
	push	1
	push	edx
	call	?Unset@gzVehicleOwnerClass@@QAEHIH@Z	; gzVehicleOwnerClass::Unset

; 457  : 								vehData->m_owner = NULL;

	mov	DWORD PTR [ebp+40], 0
	pop	ebp
	pop	ebx
	pop	edi
	pop	esi

; 521  : 								//this->m_owner->GetVehicleData()->m_lastEnter = pData;
; 522  : 								//this->m_owner->GetVehicleData()->m_lastEnterVehId = this->m_vehId;
; 523  : 							}
; 524  : 						}
; 525  : 					}
; 526  : 				}
; 527  : 			}
; 528  : 		}
; 529  : 	}
; 530  : }

	add	esp, 8
	ret	4
$LN14@Object_Tra:

; 458  : 							}
; 459  : 							return;
; 460  : 						}
; 461  : 						for (unsigned int i = 0; i < this->m_bans.Count(); i++)

	xor	eax, eax
	cmp	DWORD PTR [esi+76], eax
	jbe	SHORT $LN10@Object_Tra
	mov	ecx, DWORD PTR [edi+32]
	mov	edx, DWORD PTR [esi+68]
	mov	ebx, DWORD PTR [ecx+2400]
	mov	ecx, edx
	npad	1
$LL12@Object_Tra:

; 462  : 						{
; 463  : 							if (this->m_bans[i].m_owner->GetPlayerData() == evt.m_soldier->Player)

	mov	ebp, DWORD PTR [ecx]
	cmp	DWORD PTR [ebp+72], ebx
	je	$LN79@Object_Tra
	add	eax, 1
	add	ecx, 8
	cmp	eax, DWORD PTR [esi+76]
	jb	SHORT $LL12@Object_Tra

; 482  : 								{
; 483  : 									if (!Vehicle->SeatsList[i])

	mov	ebx, DWORD PTR _Vehicle$59571[esp+20]
$LN10@Object_Tra:

; 470  : 								evt.Skip();
; 471  : 								return;
; 472  : 							}
; 473  : 						}
; 474  : 						if (evt.m_soldier->Player != this->m_owner->GetPlayerData() &&
; 475  : 							evt.m_soldier->Player->PlayerType.Get() == this->m_owner->GetPlayerData()->PlayerType.Get() &&
; 476  : 							!Vehicle->SeatsList[0])

	mov	edx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [edi+32]
	mov	ebp, DWORD PTR [edx+72]
	mov	eax, DWORD PTR [eax+2400]
	cmp	eax, ebp
	je	$LN86@Object_Tra
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	lea	ecx, DWORD PTR [ebp+1900]
	mov	DWORD PTR tv739[esp+20], eax
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR tv739[esp+20]
	cmp	ecx, eax
	jne	$LN86@Object_Tra
	mov	ecx, DWORD PTR [ebx+2480]
	cmp	DWORD PTR [ecx], 0
	jne	$LN86@Object_Tra

; 477  : 						{
; 478  : 							if ((this->m_bindType & VO_LOCK) == VO_LOCK)

	mov	eax, DWORD PTR [esi+44]
	test	al, 2
	je	$LN7@Object_Tra
	mov	edx, DWORD PTR [ebx+2484]

; 479  : 							{
; 480  : 								bool seatAvailable = false;
; 481  : 								for (int i = 1; i < Vehicle->SeatsList.Length(); i++)

	mov	eax, 1
	cmp	edx, eax
	jle	SHORT $LN83@Object_Tra
	add	ecx, 4
$LL6@Object_Tra:

; 482  : 								{
; 483  : 									if (!Vehicle->SeatsList[i])

	cmp	DWORD PTR [ecx], 0
	je	$LN80@Object_Tra
	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jl	SHORT $LL6@Object_Tra
$LN83@Object_Tra:

; 495  : 								{
; 496  : 									gzConsole::In("pamsg %d The vehicle you tried to enter cannot be entered because it's locked and belongs to %S. In addition, it has no passanger seat available for you.",
; 497  : 										evt.m_soldier->Player->PlayerId,
; 498  : 										this->m_owner->GetPlayerData()->PlayerName.m_Buffer
; 499  : 									);

	mov	edx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [edx+72]
	mov	ecx, DWORD PTR [eax+1880]
	mov	edx, DWORD PTR [edi+32]
	mov	eax, DWORD PTR [edx+2400]
	push	ecx
	mov	ecx, DWORD PTR [eax+1884]
	push	ecx
	push	OFFSET ??_C@_0JK@EICDHEAP@pamsg?5?$CFd?5The?5vehicle?5you?5tried?5t@
$LN88@Object_Tra:
	call	?In@gzConsole@@SAXPBDZZ			; gzConsole::In
	add	esp, 12					; 0000000cH
	pop	ebp
	pop	ebx

; 500  : 								}
; 501  : 								evt.Skip();

	mov	BYTE PTR [edi+40], 0
	pop	edi
	pop	esi

; 521  : 								//this->m_owner->GetVehicleData()->m_lastEnter = pData;
; 522  : 								//this->m_owner->GetVehicleData()->m_lastEnterVehId = this->m_vehId;
; 523  : 							}
; 524  : 						}
; 525  : 					}
; 526  : 				}
; 527  : 			}
; 528  : 		}
; 529  : 	}
; 530  : }

	add	esp, 8
	ret	4
$LN79@Object_Tra:

; 464  : 							{
; 465  : 								PagePlayer(this->m_bans[i].m_owner->GetPlayerData()->PlayerId,
; 466  : 									"Your ban for vehicle %s will be lifted in %.0f second(s).",
; 467  : 									gzTranslator->Get(Vehicle->definition->Get_Name()),
; 468  : 									this->m_bans[i].Counter
; 469  : 								);

	mov	ecx, DWORD PTR [edx+eax*8]
	fld	DWORD PTR [edx+eax*8+4]
	mov	esi, DWORD PTR [ecx+72]
	mov	ecx, DWORD PTR _Vehicle$59571[esp+20]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	mov	ecx, DWORD PTR [esi+1884]
	push	eax
	push	OFFSET ??_C@_0DK@GHGFJJP@Your?5ban?5for?5vehicle?5?$CFs?5will?5be?5@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 512  : #ifdef VOMSG
; 513  : 								gzConsole::Out("[VO] %ls entered bound vehicle. Setting Last-Enter data...Owner: %ls; Vehicle: %s(%d)\n",
; 514  : 									evt.m_soldier->Player->PlayerName.m_Buffer,
; 515  : 									this->m_owner->GetPlayerData()->PlayerName.m_Buffer,
; 516  : 									nc_GameObjManager::Find_SmartGameObj(this->m_vehId)->definition->Get_Name(),
; 517  : 									this->m_vehId
; 518  : 								);

	add	esp, 20					; 00000014H
	pop	ebp
	pop	ebx
	mov	BYTE PTR [edi+40], 0
	pop	edi
	pop	esi

; 521  : 								//this->m_owner->GetVehicleData()->m_lastEnter = pData;
; 522  : 								//this->m_owner->GetVehicleData()->m_lastEnterVehId = this->m_vehId;
; 523  : 							}
; 524  : 						}
; 525  : 					}
; 526  : 				}
; 527  : 			}
; 528  : 		}
; 529  : 	}
; 530  : }

	add	esp, 8
	ret	4
$LN80@Object_Tra:

; 484  : 									{
; 485  : 										seatAvailable = true;
; 486  : 										Vehicle->Add_Occupant(evt.m_soldier, i);

	mov	ecx, DWORD PTR [edi+32]
	push	eax
	push	ecx
	mov	ecx, ebx
	call	?Add_Occupant@nc_VehicleGameObj@@QAEXPAVnc_SoldierGameObj@@H@Z ; nc_VehicleGameObj::Add_Occupant

; 487  : 										gzConsole::In("pamsg %d The vehicle you entered is locked and belongs to %ls. You're being moved to passanger seat.",
; 488  : 											evt.m_soldier->Player->PlayerId,
; 489  : 											this->m_owner->GetPlayerData()->PlayerName.m_Buffer
; 490  : 										);

	mov	edx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [edx+72]
	mov	ecx, DWORD PTR [eax+1880]
	mov	edx, DWORD PTR [edi+32]
	mov	eax, DWORD PTR [edx+2400]
	push	ecx
	mov	ecx, DWORD PTR [eax+1884]
	push	ecx
	push	OFFSET ??_C@_0GF@IIBPGNAN@pamsg?5?$CFd?5The?5vehicle?5you?5entered@

; 491  : 										break;
; 492  : 									}
; 493  : 								}
; 494  : 								if (!seatAvailable)

	jmp	$LN88@Object_Tra
$LN7@Object_Tra:

; 502  : 								return;
; 503  : 							}
; 504  : 							if (this->m_bindType == VO_BIND)

	cmp	eax, 1
	jne	$LN86@Object_Tra

; 505  : 							{
; 506  : 								PagePlayer(this->m_owner->GetPlayerData()->PlayerId,
; 507  : 									"Warning! %ls has entered your bound vehicle(%s). If you wish to remove him, type !vkick %ls (You may enter part his the nickname).",
; 508  : 									evt.m_soldier->Player->PlayerName.m_Buffer,
; 509  : 									gzTranslator->Get(nc_GameObjManager::Find_SmartGameObj(this->m_vehId)->definition->Get_Name()),
; 510  : 									evt.m_soldier->Player->PlayerName.m_Buffer
; 511  : 								);

	mov	edx, DWORD PTR [esi+36]
	push	edx
	call	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z ; nc_GameObjManager::Find_SmartGameObj
	mov	ecx, DWORD PTR [esi+40]
	mov	edx, DWORD PTR [edi+32]
	mov	ebx, DWORD PTR [ecx+72]
	mov	ecx, DWORD PTR [edx+2400]
	mov	edx, DWORD PTR [ecx+1880]
	mov	eax, DWORD PTR [eax+1724]
	add	esp, 4
	push	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	mov	ecx, DWORD PTR [edi+32]
	mov	edx, DWORD PTR [ecx+2400]
	mov	ecx, DWORD PTR [ebx+1884]
	push	eax
	mov	eax, DWORD PTR [edx+1880]
	push	eax
	push	OFFSET ??_C@_0ID@NIGFGMCC@Warning?$CB?5?$CFls?5has?5entered?5your?5bo@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 512  : #ifdef VOMSG
; 513  : 								gzConsole::Out("[VO] %ls entered bound vehicle. Setting Last-Enter data...Owner: %ls; Vehicle: %s(%d)\n",
; 514  : 									evt.m_soldier->Player->PlayerName.m_Buffer,
; 515  : 									this->m_owner->GetPlayerData()->PlayerName.m_Buffer,
; 516  : 									nc_GameObjManager::Find_SmartGameObj(this->m_vehId)->definition->Get_Name(),
; 517  : 									this->m_vehId
; 518  : 								);

	mov	edx, DWORD PTR [esi+36]
	push	edx
	call	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z ; nc_GameObjManager::Find_SmartGameObj
	mov	eax, DWORD PTR [eax+1724]
	mov	edx, DWORD PTR [esi+36]
	mov	ecx, DWORD PTR [esi+40]
	mov	ebx, DWORD PTR [ecx+72]
	add	esp, 24					; 00000018H
	push	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR [ebx+1880]
	mov	edx, DWORD PTR [edi+32]
	push	eax
	mov	eax, DWORD PTR [edx+2400]
	push	ecx
	mov	ecx, DWORD PTR [eax+1880]
	push	ecx
	push	OFFSET ??_C@_0FH@DEOCDCE@?$FLVO?$FN?5?$CFls?5entered?5bound?5vehicle?4?5@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out

; 519  : #endif
; 520  : 								this->m_owner->GetVehicleData()->SetLastEnter(gzData, this->m_vehId);

	mov	edx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [edx+56]
	mov	esi, DWORD PTR [esi+36]
	mov	ecx, DWORD PTR _gzData$59572[esp+44]
	mov	DWORD PTR [eax+40], ecx
	mov	DWORD PTR [eax+44], esi
	add	esp, 20					; 00000014H
$LN86@Object_Tra:
	pop	ebp
$LN85@Object_Tra:
	pop	ebx
$LN75@Object_Tra:
	pop	edi
	pop	esi

; 521  : 								//this->m_owner->GetVehicleData()->m_lastEnter = pData;
; 522  : 								//this->m_owner->GetVehicleData()->m_lastEnterVehId = this->m_vehId;
; 523  : 							}
; 524  : 						}
; 525  : 					}
; 526  : 				}
; 527  : 			}
; 528  : 		}
; 529  : 	}
; 530  : }

	add	esp, 8
	ret	4
?Object_Transition@gzVehicleData@@UAEXAAVgzEventObjectTransition@@@Z ENDP ; gzVehicleData::Object_Transition
_TEXT	ENDS
PUBLIC	??_7gzVehicleOwnerClass@@6B@			; gzVehicleOwnerClass::`vftable'
PUBLIC	??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z	; gzVehicleOwnerClass::gzVehicleOwnerClass
PUBLIC	??_R4gzVehicleOwnerClass@@6B@			; gzVehicleOwnerClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzVehicleOwnerClass@@@8			; gzVehicleOwnerClass `RTTI Type Descriptor'
PUBLIC	??_R3gzVehicleOwnerClass@@8			; gzVehicleOwnerClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzVehicleOwnerClass@@8			; gzVehicleOwnerClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzVehicleOwnerClass@@8		; gzVehicleOwnerClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetName@gzVehicleOwnerClass@@UAEPBDXZ		; gzVehicleOwnerClass::GetName
PUBLIC	?Delete@gzVehicleOwnerClass@@UAEXXZ		; gzVehicleOwnerClass::Delete
PUBLIC	?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z ; gzEvtHandler::Object_Damaged
PUBLIC	?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z ; gzEvtHandler::Object_Killed
PUBLIC	?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z ; gzEvtHandler::Object_Transition
EXTRN	??_EgzVehicleOwnerClass@@UAEPAXI@Z:PROC		; gzVehicleOwnerClass::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzVehicleOwnerClass@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@gzVehicleOwnerClass@@8 DD FLAT:??_R0?AVgzVehicleOwnerClass@@@8 ; gzVehicleOwnerClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzVehicleOwnerClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzVehicleOwnerClass@@8
rdata$r	SEGMENT
??_R2gzVehicleOwnerClass@@8 DD FLAT:??_R1A@?0A@EA@gzVehicleOwnerClass@@8 ; gzVehicleOwnerClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzEvtHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzVehicleOwnerClass@@8
rdata$r	SEGMENT
??_R3gzVehicleOwnerClass@@8 DD 00H			; gzVehicleOwnerClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2gzVehicleOwnerClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzVehicleOwnerClass@@@8
_DATA	SEGMENT
??_R0?AVgzVehicleOwnerClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzVehicleOwnerClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzVehicleOwnerClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzVehicleOwnerClass@@6B@
rdata$r	SEGMENT
??_R4gzVehicleOwnerClass@@6B@ DD 00H			; gzVehicleOwnerClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzVehicleOwnerClass@@@8
	DD	FLAT:??_R3gzVehicleOwnerClass@@8
rdata$r	ENDS
;	COMDAT ??_7gzVehicleOwnerClass@@6B@
CONST	SEGMENT
??_7gzVehicleOwnerClass@@6B@ DD FLAT:??_R4gzVehicleOwnerClass@@6B@ ; gzVehicleOwnerClass::`vftable'
	DD	FLAT:??_EgzVehicleOwnerClass@@UAEPAXI@Z
	DD	FLAT:?GetName@gzVehicleOwnerClass@@UAEPBDXZ
	DD	FLAT:?Delete@gzVehicleOwnerClass@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Think@gzVehicleOwnerClass@@UAEXXZ
	DD	FLAT:?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z$1
__ehfuncinfo$??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_owner$ = 8						; size = 4
??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z PROC	; gzVehicleOwnerClass::gzVehicleOwnerClass, COMDAT
; _this$ = ecx

; 563  : {

	push	-1
	push	__ehhandler$??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	call	??0gzEvtHandler@@QAE@XZ			; gzEvtHandler::gzEvtHandler
	xor	edi, edi
	mov	DWORD PTR [esi], OFFSET ??_7gzVehicleOwnerClass@@6B@
	mov	DWORD PTR __$EHRec$[esp+32], edi
	mov	DWORD PTR [esi+48], OFFSET ??_7?$aVector@PAVgzVehicleData@@@@6B@
	mov	DWORD PTR [esi+52], edi
	mov	DWORD PTR [esi+56], edi
	mov	DWORD PTR [esi+60], edi

; 564  : 	this->RegisterEvent(gzEVT_GAME_THINK);

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

; 565  : 
; 566  : 	this->m_owner = owner;

	mov	eax, DWORD PTR _owner$[esp+20]

; 567  : 	this->m_lastEnter = NULL;
; 568  : 	this->m_lastEnterVehId = 0;
; 569  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	DWORD PTR [esi+40], edi
	mov	DWORD PTR [esi+44], edi
	mov	DWORD PTR [esi+36], eax
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
__unwindfunclet$??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 48					; 00000030H
	jmp	??1?$aVector@PAVgzVehicleData@@@@UAE@XZ	; aVector<gzVehicleData *>::~aVector<gzVehicleData *>
__ehhandler$??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z:
	mov	eax, OFFSET __ehfuncinfo$??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzVehicleOwnerClass@@QAE@PAVgzPlayer@@@Z ENDP	; gzVehicleOwnerClass::gzVehicleOwnerClass
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzevent.h
;	COMDAT ?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z PROC ; gzEvtHandler::Object_Damaged, COMDAT
; _this$ = ecx

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

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

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

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

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

	ret	4
?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z ENDP ; gzEvtHandler::Object_Transition
_TEXT	ENDS
PUBLIC	??_C@_0BE@KOPLPJDN@gzVehicleOwnerClass?$AA@	; `string'
;	COMDAT ??_C@_0BE@KOPLPJDN@gzVehicleOwnerClass?$AA@
; File d:\source code\gzgm\gzvehicle.h
CONST	SEGMENT
??_C@_0BE@KOPLPJDN@gzVehicleOwnerClass?$AA@ DB 'gzVehicleOwnerClass', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzVehicleOwnerClass@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzVehicleOwnerClass@@UAEPBDXZ PROC		; gzVehicleOwnerClass::GetName, COMDAT
; _this$ = ecx

; 112  : 		return "gzVehicleOwnerClass";

	mov	eax, OFFSET ??_C@_0BE@KOPLPJDN@gzVehicleOwnerClass?$AA@

; 113  : 	};

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

; 114  : 	void Delete() {	};

	ret	0
?Delete@gzVehicleOwnerClass@@UAEXXZ ENDP		; gzVehicleOwnerClass::Delete
_TEXT	ENDS
PUBLIC	??1gzVehicleOwnerClass@@UAE@XZ			; gzVehicleOwnerClass::~gzVehicleOwnerClass
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzVehicleOwnerClass@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzVehicleOwnerClass@@UAE@XZ$0
__ehfuncinfo$??1gzVehicleOwnerClass@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzVehicleOwnerClass@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzVehicleOwnerClass@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzVehicleOwnerClass@@UAE@XZ PROC			; gzVehicleOwnerClass::~gzVehicleOwnerClass, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzVehicleOwnerClass@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	xor	edi, edi
	cmp	DWORD PTR [esi+52], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	mov	DWORD PTR [esi+48], OFFSET ??_7?$aVector@PAVgzVehicleData@@@@6B@
	je	SHORT $LN7@gzVehicleO
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+52]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+52], edi
$LN7@gzVehicleO:
	mov	ecx, esi
	mov	DWORD PTR [esi+56], edi
	mov	DWORD PTR [esi+60], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	call	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1gzVehicleOwnerClass@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
__ehhandler$??1gzVehicleOwnerClass@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzVehicleOwnerClass@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzVehicleOwnerClass@@UAE@XZ ENDP			; gzVehicleOwnerClass::~gzVehicleOwnerClass
PUBLIC	?Set@gzVehicleOwnerClass@@QAEHHI@Z		; gzVehicleOwnerClass::Set
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
;	COMDAT ?Set@gzVehicleOwnerClass@@QAEHHI@Z
_TEXT	SEGMENT
_data$59674 = -12					; size = 4
_enemyCount$59678 = -8					; size = 4
_this$ = -4						; size = 4
_Type$ = 8						; size = 4
_teamCount$59677 = 12					; size = 4
_vehicleId$ = 12					; size = 4
?Set@gzVehicleOwnerClass@@QAEHHI@Z PROC			; gzVehicleOwnerClass::Set, COMDAT
; _this$ = ecx

; 618  : {

	sub	esp, 12					; 0000000cH
	push	ebx
	mov	ebx, ecx

; 619  : 	if (this->m_owner->GetSoldier() != NULL)

	mov	ecx, DWORD PTR [ebx+36]
	push	esi
	push	edi
	mov	DWORD PTR _this$[esp+24], ebx
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	test	eax, eax
	je	SHORT $LN14@Set

; 620  : 	{
; 621  : 		nc_VehicleGameObj *vehicle = this->m_owner->GetSoldier()->Vehicle;

	mov	ecx, DWORD PTR [ebx+36]
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier

; 622  : 		if (vehicleId > 0)

	mov	edi, DWORD PTR _vehicleId$[esp+20]
	test	edi, edi
	mov	esi, DWORD PTR [eax+2444]
	jbe	SHORT $LN19@Set

; 623  : 		{
; 624  : 			vehicle = (nc_GameObjManager::Find_SmartGameObj(vehicleId) ? nc_GameObjManager::Find_SmartGameObj(vehicleId)->As_VehicleGameObj() : NULL);

	push	edi
	call	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z ; nc_GameObjManager::Find_SmartGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $LN14@Set
	push	edi
	call	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z ; nc_GameObjManager::Find_SmartGameObj
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+40]
	add	esp, 4
	call	eax
	mov	esi, eax

; 625  : 			if (vehicle == NULL)

	test	esi, esi
	jne	SHORT $LN15@Set
$LN14@Set:
	pop	edi
	pop	esi

; 675  : 		}
; 676  : 	}
; 677  : 	return VORESP_ERROR;

	or	eax, -1
	pop	ebx

; 678  : }

	add	esp, 12					; 0000000cH
	ret	8
$LN19@Set:

; 626  : 				return VORESP_ERROR;
; 627  : 		}
; 628  : 
; 629  : 		else
; 630  : 		{
; 631  : 			if (this->m_owner->GetSoldier()->Vehicle == NULL)

	mov	ecx, DWORD PTR [ebx+36]
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	cmp	DWORD PTR [eax+2444], 0
	jne	SHORT $LN16@Set
	pop	edi
	pop	esi

; 632  : 				return VORESP_NOT_IN_VEHICLE;

	mov	eax, 1
	pop	ebx

; 678  : }

	add	esp, 12					; 0000000cH
	ret	8
$LN16@Set:

; 633  : 
; 634  : 			if (vehicle->SeatsList[0] != this->m_owner->GetSoldier())

	mov	ecx, DWORD PTR [ebx+36]
	mov	edi, DWORD PTR [esi+2480]
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	cmp	DWORD PTR [edi], eax
	je	SHORT $LN15@Set
	pop	edi
	pop	esi

; 635  : 				return VORESP_NOT_DRIVER;

	mov	eax, 2
	pop	ebx

; 678  : }

	add	esp, 12					; 0000000cH
	ret	8
$LN15@Set:

; 636  : 		}
; 637  : 
; 638  : 		gzVehicleData *data = gzVehicleMgr->Find(vehicle->NetworkID);

	mov	ecx, DWORD PTR [esi+12]
	push	ecx
	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	call	?Find@gzManagerVehicle@@QAEPAVgzVehicleData@@K@Z ; gzManagerVehicle::Find

; 639  : 		if (data)

	test	eax, eax
	mov	DWORD PTR _data$59674[esp+24], eax
	je	SHORT $LN14@Set

; 640  : 		{
; 641  : 			if (data->GetOwner() && data->GetOwner() != this->m_owner)

	mov	eax, DWORD PTR [eax+40]
	test	eax, eax
	je	SHORT $LN13@Set
	cmp	eax, DWORD PTR [ebx+36]
	je	SHORT $LN13@Set
	pop	edi
	pop	esi

; 642  : 				return VORESP_NOT_OWNER;

	mov	eax, 3
	pop	ebx

; 678  : }

	add	esp, 12					; 0000000cH
	ret	8
$LN13@Set:

; 643  : 
; 644  : 			int teamCount, enemyCount;
; 645  : 			this->GetCount(teamCount, enemyCount);

	lea	edx, DWORD PTR _enemyCount$59678[esp+24]
	push	edx
	lea	eax, DWORD PTR _teamCount$59677[esp+24]
	push	eax
	mov	ecx, ebx
	call	?GetCount@gzVehicleOwnerClass@@QAEXAAH0@Z ; gzVehicleOwnerClass::GetCount

; 646  : 
; 647  : 			if (!data->GetOwner() &&
; 648  : 				((gzStatic_Cast(nc_VehicleGameObjDef, vehicle->definition)->PlayerType == this->m_owner->GetPlayerData()->PlayerType.Get() && teamCount >= gzVehicleMgr->GetSettings()->m_maxTeamVehicle) ||
; 649  : 				 (gzStatic_Cast(nc_VehicleGameObjDef, vehicle->definition)->PlayerType != this->m_owner->GetPlayerData()->PlayerType.Get() && enemyCount >= gzVehicleMgr->GetSettings()->m_maxEnemyVehicle)))

	mov	ecx, DWORD PTR _data$59674[esp+24]
	cmp	DWORD PTR [ecx+40], 0
	jne	SHORT $LN84@Set
	mov	edx, DWORD PTR [ebx+36]
	mov	eax, DWORD PTR [edx+72]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR [esi+1724]
	cmp	DWORD PTR [ecx+128], eax
	jne	SHORT $LN10@Set
	mov	edx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [edx+40]
	mov	ecx, DWORD PTR _teamCount$59677[esp+20]
	cmp	ecx, DWORD PTR [eax+60]
	jge	SHORT $LN11@Set
$LN10@Set:
	mov	edx, DWORD PTR [ebx+36]
	mov	eax, DWORD PTR [edx+72]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR [esi+1724]
	cmp	DWORD PTR [ecx+128], eax
	je	SHORT $LN84@Set
	mov	edx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [edx+40]
	mov	ecx, DWORD PTR _enemyCount$59678[esp+24]
	cmp	ecx, DWORD PTR [eax+56]
	jl	SHORT $LN84@Set
$LN11@Set:
	pop	edi
	pop	esi

; 650  : 			{
; 651  : 				return VORESP_QUOTA_MAXXED;

	mov	eax, 4
	pop	ebx

; 678  : }

	add	esp, 12					; 0000000cH
	ret	8
$LN84@Set:

; 652  : 			}
; 653  : 			for (int i = 0; i <= 1; i++)

	mov	ebx, DWORD PTR _Type$[esp+20]
	push	ebp
	xor	ebp, ebp
	lea	edi, DWORD PTR [ebp+48]
$LL9@Set:

; 654  : 			{
; 655  : 				if (data->GetBoneObjId(i) != 0)

	cmp	ebp, 2
	ja	SHORT $LN8@Set
	mov	edx, DWORD PTR _data$59674[esp+28]
	mov	eax, DWORD PTR [edi+edx]
	test	eax, eax
	je	SHORT $LN8@Set

; 656  : 				{
; 657  : 					nc_PhysicalGameObj *boneObj = nc_GameObjManager::Find_PhysicalGameObj(data->GetBoneObjId(i));

	push	eax
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	mov	esi, eax
	add	esp, 4

; 658  : 					if (boneObj)

	test	esi, esi
	je	SHORT $LN8@Set

; 659  : 					{
; 660  : 						if (Type == VO_BIND)

	cmp	ebx, 1
	jne	SHORT $LN4@Set

; 661  : 							boneObj->Physics->Set_Model_By_Name(gzVehicleMgr->GetSettings()->m_bindIcon.GetString());

	mov	eax, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [eax+40]
	add	eax, 64					; 00000040H
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN59@Set
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN60@Set
$LN4@Set:

; 662  : 
; 663  : 						else if ((Type & VO_LOCK) == VO_LOCK)

	test	bl, 2
	je	SHORT $LN2@Set

; 664  : 							boneObj->Physics->Set_Model_By_Name(gzVehicleMgr->GetSettings()->m_lockIcon.GetString());

	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [ecx+40]
	add	eax, 72					; 00000048H
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN59@Set
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN60@Set
$LN59@Set:
	xor	eax, eax
$LN60@Set:
	mov	ecx, DWORD PTR [esi+1908]
	push	eax
	call	?Set_Model_By_Name@nc_PhysClass@@QAEXPBD@Z ; nc_PhysClass::Set_Model_By_Name
$LN2@Set:

; 665  : 						
; 666  : 						boneObj->Set_Object_Dirty_Bit(nc_DB_RARE, true);

	mov	edx, DWORD PTR [esi+8]
	mov	eax, DWORD PTR [edx+56]
	lea	ecx, DWORD PTR [esi+8]
	push	1
	push	7
	call	eax
$LN8@Set:
	add	edi, 4
	add	ebp, 1
	cmp	edi, 52					; 00000034H
	jle	SHORT $LL9@Set

; 667  : 					}
; 668  : 				}
; 669  : 			}
; 670  : 			data->SetBindType(Type);

	mov	ecx, DWORD PTR _data$59674[esp+28]

; 671  : 			data->SetOwner(this->m_owner);

	mov	edi, DWORD PTR _this$[esp+28]
	mov	DWORD PTR [ecx+44], ebx
	mov	edx, DWORD PTR [edi+36]
	mov	eax, DWORD PTR _data$59674[esp+28]
	mov	DWORD PTR [eax+40], edx

; 672  : 			if (this->m_owner->GetVehicleData()->m_boundList.Index(data) == -1)

	mov	ecx, DWORD PTR [edi+36]
	mov	eax, DWORD PTR [ecx+56]
	mov	edx, DWORD PTR [eax+60]
	add	eax, 48					; 00000030H
	xor	ecx, ecx
	test	edx, edx
	pop	ebp
	jbe	SHORT $LN83@Set
	mov	eax, DWORD PTR [eax+4]
	mov	esi, DWORD PTR _data$59674[esp+24]
$LL72@Set:
	cmp	DWORD PTR [eax], esi
	je	SHORT $LN73@Set
	add	ecx, 1
	add	eax, 4
	cmp	ecx, edx
	jb	SHORT $LL72@Set
	jmp	SHORT $LN83@Set
$LN73@Set:
	cmp	ecx, -1
	jne	SHORT $LN1@Set
$LN83@Set:

; 673  : 				this->m_owner->GetVehicleData()->m_boundList.Add(data);

	mov	edx, DWORD PTR [edi+36]
	mov	eax, DWORD PTR [edx+56]
	lea	ecx, DWORD PTR [eax+48]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+12]
	lea	edx, DWORD PTR _data$59674[esp+24]
	push	edx
	call	eax
$LN1@Set:
	pop	edi
	pop	esi

; 674  : 			return VORESP_SUCCESS;

	xor	eax, eax
	pop	ebx

; 678  : }

	add	esp, 12					; 0000000cH
	ret	8
?Set@gzVehicleOwnerClass@@QAEHHI@Z ENDP			; gzVehicleOwnerClass::Set
_TEXT	ENDS
PUBLIC	??_C@_0DM@IADFFAJI@The?5vehicle?5has?5bound?5to?5you?5bec@ ; `string'
PUBLIC	__real@3f800000
PUBLIC	??_C@_0BB@HBAICPOK@Laser_NoBuilding?$AA@	; `string'
PUBLIC	__real@47c34f80
PUBLIC	__real@40a00000
PUBLIC	__real@40400000
PUBLIC	__real@c479c000
PUBLIC	__real@457a0000
PUBLIC	??_C@_07NAELNENF@Vehicle?$AA@			; `string'
PUBLIC	__real@c0a00000
EXTRN	?SmartGameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_SmartGameObj@@@@A:DWORD ; nc_GameObjManager::SmartGameObjList
EXTRN	?Get_Parameter@nc_ScriptImpClass@@QAEPBDPBD@Z:PROC ; nc_ScriptImpClass::Get_Parameter
;	COMDAT ??_C@_0DM@IADFFAJI@The?5vehicle?5has?5bound?5to?5you?5bec@
; File d:\source code\gzgm\gzplayer.h
CONST	SEGMENT
??_C@_0DM@IADFFAJI@The?5vehicle?5has?5bound?5to?5you?5bec@ DB 'The vehicl'
	DB	'e has bound to you because you repaired the most.', 00H ; `string'
CONST	ENDS
;	COMDAT __real@3f800000
CONST	SEGMENT
__real@3f800000 DD 03f800000r			; 1
CONST	ENDS
;	COMDAT ??_C@_0BB@HBAICPOK@Laser_NoBuilding?$AA@
CONST	SEGMENT
??_C@_0BB@HBAICPOK@Laser_NoBuilding?$AA@ DB 'Laser_NoBuilding', 00H ; `string'
CONST	ENDS
;	COMDAT __real@47c34f80
CONST	SEGMENT
__real@47c34f80 DD 047c34f80r			; 99999
CONST	ENDS
;	COMDAT __real@40a00000
CONST	SEGMENT
__real@40a00000 DD 040a00000r			; 5
CONST	ENDS
;	COMDAT __real@40400000
CONST	SEGMENT
__real@40400000 DD 040400000r			; 3
CONST	ENDS
;	COMDAT __real@c479c000
CONST	SEGMENT
__real@c479c000 DD 0c479c000r			; -999
CONST	ENDS
;	COMDAT __real@457a0000
CONST	SEGMENT
__real@457a0000 DD 0457a0000r			; 4000
CONST	ENDS
;	COMDAT ??_C@_07NAELNENF@Vehicle?$AA@
CONST	SEGMENT
??_C@_07NAELNENF@Vehicle?$AA@ DB 'Vehicle', 00H		; `string'
CONST	ENDS
;	COMDAT __real@c0a00000
CONST	SEGMENT
__real@c0a00000 DD 0c0a00000r			; -5
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
CONST	ENDS
;	COMDAT ?Damaged@gzObserverVehicleWreckage@@EAEXPAVnc_ScriptableGameObj@@0M@Z
_TEXT	SEGMENT
_this$ = -40						; size = 4
_spawnPos$60309 = -36					; size = 12
_movePos$60308 = -24					; size = 12
_objPos$60367 = -12					; size = 12
_obj$ = 8						; size = 4
_damager$ = 12						; size = 4
tv994 = 16						; size = 4
$T71389 = 16						; size = 4
$T71384 = 16						; size = 4
_damage$ = 16						; size = 4
?Damaged@gzObserverVehicleWreckage@@EAEXPAVnc_ScriptableGameObj@@0M@Z PROC ; gzObserverVehicleWreckage::Damaged, COMDAT
; _this$ = ecx

; 1316 : {

	sub	esp, 40					; 00000028H

; 1317 : 	if (damage < 0.0f && damage >= -5.0f)

	fldz
	push	edi
	fld	DWORD PTR _damage$[esp+40]
	mov	edi, ecx
	fcom	ST(1)
	mov	DWORD PTR _this$[esp+44], edi
	fnstsw	ax
	fstp	ST(1)
	test	ah, 5
	jp	$LN44@Damaged
	fcomp	DWORD PTR __real@c0a00000
	fnstsw	ax
	test	ah, 1
	jne	$LN13@Damaged
	push	esi

; 1318 : 	{
; 1319 : 		if (damager && damager->As_SoldierGameObj() && damager->As_SoldierGameObj()->Player)

	mov	esi, DWORD PTR _damager$[esp+44]
	test	esi, esi
	je	SHORT $LN14@Damaged
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	SHORT $LN14@Damaged
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN14@Damaged

; 1320 : 			this->m_damage[damager->As_SoldierGameObj()->Player->PlayerId] += -damage;

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1884]
	fld	DWORD PTR [edi+ecx*4+28]
	lea	eax, DWORD PTR [edi+ecx*4+28]
	fsub	DWORD PTR _damage$[esp+44]
	fstp	DWORD PTR [eax]
$LN14@Damaged:
	push	ebp

; 1321 : 
; 1322 : 		if (obj->As_DamageableGameObj()->Defense.Health.Get() == obj->As_DamageableGameObj()->Defense.HealthMax.Get())

	mov	ebp, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR [ebp]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, ebp
	call	eax
	mov	ecx, eax
	add	ecx, 1840				; 00000730H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv994[esp+48]
	mov	edx, DWORD PTR [ebp]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, ebp
	call	eax
	mov	ecx, eax
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fld	DWORD PTR tv994[esp+48]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	$LN42@Damaged

; 1323 : 		{
; 1324 : 			const char	*vehName	= this->Get_Parameter("Vehicle");

	push	OFFSET ??_C@_07NAELNENF@Vehicle?$AA@
	mov	ecx, edi
	call	?Get_Parameter@nc_ScriptImpClass@@QAEPBDPBD@Z ; nc_ScriptImpClass::Get_Parameter

; 1325 : 			nc_Vector3	movePos		= { 4000.0f, 4000.0f, -999.0f },

	fld	DWORD PTR __real@457a0000

; 1326 : 						spawnPos;
; 1327 : 			obj->Get_Position(&spawnPos);

	mov	edx, DWORD PTR [ebp]
	fst	DWORD PTR _movePos$60308[esp+52]
	mov	edx, DWORD PTR [edx+56]
	fstp	DWORD PTR _movePos$60308[esp+56]
	fld	DWORD PTR __real@c479c000
	mov	edi, eax
	lea	eax, DWORD PTR _spawnPos$60309[esp+52]
	fstp	DWORD PTR _movePos$60308[esp+60]
	push	eax
	mov	ecx, ebp
	call	edx

; 1328 : 			spawnPos.Z += 3.0f;

	fld	DWORD PTR _spawnPos$60309[esp+60]
	fadd	DWORD PTR __real@40400000

; 1329 : 			obj->As_PhysicalGameObj()->Set_Position(movePos);

	mov	edx, DWORD PTR [ebp]
	lea	eax, DWORD PTR _movePos$60308[esp+52]
	push	eax
	mov	eax, DWORD PTR [edx+36]
	fstp	DWORD PTR _spawnPos$60309[esp+64]
	mov	ecx, ebp
	call	eax
	mov	ecx, eax
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position

; 1330 : 
; 1331 : 			// Clean objects to prevent stuck
; 1332 : 			for (nc_GenericSLNode<nc_SmartGameObj> *objList = nc_GameObjManager::SmartGameObjList->HeadNode; objList != NULL; objList = objList->NodeNext)

	mov	ecx, DWORD PTR ?SmartGameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_SmartGameObj@@@@A ; nc_GameObjManager::SmartGameObjList
	mov	esi, DWORD PTR [ecx+4]
	test	esi, esi
	je	SHORT $LN10@Damaged
	npad	7
$LL12@Damaged:

; 1333 : 			{
; 1334 : 				nc_Vector3 objPos;
; 1335 : 				objList->NodeData->Get_Position(&objPos);

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+56]
	lea	eax, DWORD PTR _objPos$60367[esp+52]
	push	eax
	call	edx

; 1336 : 				if (gzCommands->Get_Distance(spawnPos, objPos) <= 5.0f)

	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	lea	eax, DWORD PTR _objPos$60367[esp+52]
	push	eax
	mov	eax, DWORD PTR [edx+256]
	lea	ecx, DWORD PTR _spawnPos$60309[esp+56]
	push	ecx
	call	eax
	fcomp	DWORD PTR __real@40a00000
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN11@Damaged

; 1337 : 					gzCommands->Apply_Damage(objList->NodeData, 99999.0f, "Laser_NoBuilding", NULL);

	fld	DWORD PTR __real@47c34f80
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+616]
	push	0
	push	OFFSET ??_C@_0BB@HBAICPOK@Laser_NoBuilding?$AA@
	push	ecx
	mov	ecx, DWORD PTR [esi+4]
	fstp	DWORD PTR [esp]
	push	ecx
	call	eax
	add	esp, 16					; 00000010H
$LN11@Damaged:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL12@Damaged
$LN10@Damaged:
	push	ebx

; 1338 : 			}
; 1339 : 
; 1340 : 			// Create new vehicle
; 1341 : 			nc_ScriptableGameObj *newVeh = nc_ObjectLibraryManager::Create_Object(vehName);

	push	edi
	call	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z ; nc_ObjectLibraryManager::Create_Object
	mov	ebx, eax

; 1342 : 			newVeh->As_PhysicalGameObj()->Set_Position(spawnPos);

	mov	edx, DWORD PTR [ebx]
	mov	eax, DWORD PTR [edx+36]
	add	esp, 4
	lea	ecx, DWORD PTR _spawnPos$60309[esp+56]
	push	ecx
	mov	ecx, ebx
	call	eax
	mov	ecx, eax
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position

; 1343 : 			gzCommands->Set_Facing(newVeh, gzCommands->Get_Facing(obj));

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

; 1344 : 			newVeh->As_PhysicalGameObj()->Defense.Health = 1.0f;

	fld1
	mov	edx, DWORD PTR [ebx]
	fstp	DWORD PTR $T71384[esp+60]
	mov	eax, DWORD PTR [edx+36]
	add	esp, 8
	mov	ecx, ebx
	call	eax
	lea	ecx, DWORD PTR $T71384[esp+52]
	add	eax, 1840				; 00000730H
	push	ecx
	push	eax
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 1345 : 			newVeh->As_PhysicalGameObj()->Defense.ShieldStrength = 0.0f;

	fldz
	mov	edx, DWORD PTR [ebx]
	fstp	DWORD PTR $T71389[esp+52]
	mov	eax, DWORD PTR [edx+36]
	mov	ecx, ebx
	call	eax
	lea	ecx, DWORD PTR $T71389[esp+52]
	add	eax, 1852				; 0000073cH
	push	ecx
	push	eax
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 1346 : 			newVeh->As_PhysicalGameObj()->PlayerType = -2;

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

; 1347 : 			newVeh->Start_Observers();

	mov	ecx, ebx
	mov	DWORD PTR [eax+1892], -2		; fffffffeH
	call	?Start_Observers@nc_ScriptableGameObj@@QAEXXZ ; nc_ScriptableGameObj::Start_Observers

; 1348 : 
; 1349 : 			// Most repaired player bind to him automatically if limit is not reached
; 1350 : 			if (gzVehicleMgr->GetSettings()->m_bindWreckageToMostRepair)

	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	edx, DWORD PTR [ecx+40]
	cmp	BYTE PTR [edx+101], 0
	je	$LN1@Damaged

; 1351 : 			{
; 1352 : 				int mostRepairId = -1;

	mov	ecx, DWORD PTR _this$[esp+56]

; 1353 : 				float mostRepair = 0.0f;

	fldz
	or	esi, -1

; 1354 : 				for (int i = 1; i <= 127; i++)

	lea	edi, DWORD PTR [esi+2]
	lea	edx, DWORD PTR [esi+4]
	add	ecx, 36					; 00000024H
$LN40@Damaged:

; 1355 : 				{
; 1356 : 					if (this->m_damage[i] > mostRepair)

	fcom	DWORD PTR [ecx-4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN32@Damaged
	fstp	ST(0)

; 1357 : 					{
; 1358 : 						mostRepairId = i;

	mov	esi, edi

; 1359 : 						mostRepair = this->m_damage[i];

	fld	DWORD PTR [ecx-4]
$LN32@Damaged:
	fcom	DWORD PTR [ecx]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN33@Damaged
	fstp	ST(0)
	lea	esi, DWORD PTR [edx-1]
	fld	DWORD PTR [ecx]
$LN33@Damaged:
	fcom	DWORD PTR [ecx+4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN34@Damaged
	fstp	ST(0)
	mov	esi, edx
	fld	DWORD PTR [ecx+4]
$LN34@Damaged:
	fcom	DWORD PTR [ecx+8]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN35@Damaged
	fstp	ST(0)
	lea	esi, DWORD PTR [edx+1]
	fld	DWORD PTR [ecx+8]
$LN35@Damaged:
	fcom	DWORD PTR [ecx+12]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN36@Damaged
	fstp	ST(0)
	lea	esi, DWORD PTR [edx+2]
	fld	DWORD PTR [ecx+12]
$LN36@Damaged:
	fcom	DWORD PTR [ecx+16]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN37@Damaged
	fstp	ST(0)
	lea	esi, DWORD PTR [edx+3]
	fld	DWORD PTR [ecx+16]
$LN37@Damaged:
	fcom	DWORD PTR [ecx+20]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN38@Damaged
	fstp	ST(0)
	lea	esi, DWORD PTR [edx+4]
	fld	DWORD PTR [ecx+20]
$LN38@Damaged:
	fcom	DWORD PTR [ecx+24]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN39@Damaged
	fstp	ST(0)
	lea	esi, DWORD PTR [edx+5]
	fld	DWORD PTR [ecx+24]
$LN39@Damaged:
	add	edx, 8
	add	edi, 8
	add	ecx, 32					; 00000020H
	cmp	edx, 122				; 0000007aH
	jle	$LN40@Damaged

; 1354 : 				for (int i = 1; i <= 127; i++)

	cmp	edi, 127				; 0000007fH
	jg	SHORT $LN80@Damaged
	mov	eax, DWORD PTR _this$[esp+56]
	lea	ecx, DWORD PTR [eax+edi*4+28]
$LC7@Damaged:

; 1355 : 				{
; 1356 : 					if (this->m_damage[i] > mostRepair)

	fcom	DWORD PTR [ecx]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN6@Damaged
	fstp	ST(0)

; 1357 : 					{
; 1358 : 						mostRepairId = i;

	mov	esi, edi

; 1359 : 						mostRepair = this->m_damage[i];

	fld	DWORD PTR [ecx]
$LN6@Damaged:
	add	edi, 1
	add	ecx, 4
	cmp	edi, 127				; 0000007fH
	jle	SHORT $LC7@Damaged
$LN80@Damaged:

; 1360 : 					}
; 1361 : 				}
; 1362 : 				if (mostRepairId != -1)

	cmp	esi, -1
	fstp	ST(0)
	je	SHORT $LN1@Damaged

; 1363 : 				{
; 1364 : 					gzPlayer *gzData = gzPlayerManager::Find(mostRepairId);

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

; 1365 : 					if (gzData)

	test	eax, eax
	je	SHORT $LN1@Damaged

; 1366 : 					{
; 1367 : 						if (gzData->GetVehicleData()->Set(VO_BIND, newVeh->NetworkID) == VORESP_SUCCESS)

	mov	ecx, DWORD PTR [ebx+12]
	mov	eax, DWORD PTR [eax+56]
	push	ecx
	push	1
	mov	ecx, eax
	call	?Set@gzVehicleOwnerClass@@QAEHHI@Z	; gzVehicleOwnerClass::Set
	test	eax, eax
	jne	SHORT $LN1@Damaged

; 1368 : 							PagePlayer(mostRepairId, "The vehicle has bound to you because you repaired the most.");

	push	OFFSET ??_C@_0DM@IADFFAJI@The?5vehicle?5has?5bound?5to?5you?5bec@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN1@Damaged:

; 1369 : 					}
; 1370 : 				}
; 1371 : 			}
; 1372 : 			obj->Set_Delete_Pending();

	mov	edx, DWORD PTR [ebp+8]
	mov	eax, DWORD PTR [edx+44]
	lea	ecx, DWORD PTR [ebp+8]
	call	eax
	pop	ebx
$LN42@Damaged:
	pop	ebp
	pop	esi
	pop	edi

; 1373 : 		}
; 1374 : 	}
; 1375 : }

	add	esp, 40					; 00000028H
	ret	12					; 0000000cH
$LN44@Damaged:

; 1317 : 	if (damage < 0.0f && damage >= -5.0f)

	fstp	ST(0)
$LN13@Damaged:
	pop	edi

; 1373 : 		}
; 1374 : 	}
; 1375 : }

	add	esp, 40					; 00000028H
	ret	12					; 0000000cH
?Damaged@gzObserverVehicleWreckage@@EAEXPAVnc_ScriptableGameObj@@0M@Z ENDP ; gzObserverVehicleWreckage::Damaged
_TEXT	ENDS
PUBLIC	??1gzChatCommandBase@@QAE@XZ			; gzChatCommandBase::~gzChatCommandBase
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzChatCommandBase@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$1
__ehfuncinfo$??1gzChatCommandBase@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??1gzChatCommandBase@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzChatCommandBase@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzChatCommandBase@@QAE@XZ PROC			; gzChatCommandBase::~gzChatCommandBase, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzChatCommandBase@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	lea	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR __$EHRec$[esp+28], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR [esi+24]
	mov	BYTE PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 4
	jmp	??1aWideStringArray@@UAE@XZ
__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzChatCommandBase@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzChatCommandBase@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzChatCommandBase@@QAE@XZ ENDP			; gzChatCommandBase::~gzChatCommandBase
PUBLIC	??_7aWideStringArray@@6B@			; aWideStringArray::`vftable'
PUBLIC	??0aWideStringArray@@QAE@XZ			; aWideStringArray::aWideStringArray
PUBLIC	??_R4aWideStringArray@@6B@			; aWideStringArray::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaWideStringArray@@@8			; aWideStringArray `RTTI Type Descriptor'
PUBLIC	??_R3aWideStringArray@@8			; aWideStringArray::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aWideStringArray@@8			; aWideStringArray::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aWideStringArray@@8		; aWideStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EaWideStringArray@@UAEPAXI@Z:PROC		; aWideStringArray::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@aWideStringArray@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aWideStringArray@@8 DD FLAT:??_R0?AVaWideStringArray@@@8 ; aWideStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R2aWideStringArray@@8
rdata$r	SEGMENT
??_R2aWideStringArray@@8 DD FLAT:??_R1A@?0A@EA@aWideStringArray@@8 ; aWideStringArray::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3aWideStringArray@@8
rdata$r	SEGMENT
??_R3aWideStringArray@@8 DD 00H				; aWideStringArray::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaWideStringArray@@@8
_DATA	SEGMENT
??_R0?AVaWideStringArray@@@8 DD FLAT:??_7type_info@@6B@	; aWideStringArray `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaWideStringArray@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aWideStringArray@@6B@
rdata$r	SEGMENT
??_R4aWideStringArray@@6B@ DD 00H			; aWideStringArray::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaWideStringArray@@@8
	DD	FLAT:??_R3aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_7aWideStringArray@@6B@
CONST	SEGMENT
??_7aWideStringArray@@6B@ DD FLAT:??_R4aWideStringArray@@6B@ ; aWideStringArray::`vftable'
	DD	FLAT:??_EaWideStringArray@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aWideStringArray@@QAE@XZ
_TEXT	SEGMENT
??0aWideStringArray@@QAE@XZ PROC			; aWideStringArray::aWideStringArray, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax], OFFSET ??_7aWideStringArray@@6B@
	ret	0
??0aWideStringArray@@QAE@XZ ENDP			; aWideStringArray::aWideStringArray
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaWideStringArray@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaWideStringArray@@UAEPAXI@Z PROC			; aWideStringArray::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@19
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@19:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideStringArray@@UAEPAXI@Z ENDP			; aWideStringArray::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1gzVehicleBoneData@@QAE@XZ			; gzVehicleBoneData::~gzVehicleBoneData
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzVehicleBoneData@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzVehicleBoneData@@QAE@XZ$0
__ehfuncinfo$??1gzVehicleBoneData@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzVehicleBoneData@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzVehicleBoneData@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzVehicleBoneData@@QAE@XZ PROC			; gzVehicleBoneData::~gzVehicleBoneData, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzVehicleBoneData@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1gzVehicleBoneData@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzVehicleBoneData@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzVehicleBoneData@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzVehicleBoneData@@QAE@XZ ENDP			; gzVehicleBoneData::~gzVehicleBoneData
PUBLIC	??_7aStringArray@@6B@				; aStringArray::`vftable'
PUBLIC	??0aStringArray@@QAE@XZ				; aStringArray::aStringArray
PUBLIC	??_R4aStringArray@@6B@				; aStringArray::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaStringArray@@@8			; aStringArray `RTTI Type Descriptor'
PUBLIC	??_R3aStringArray@@8				; aStringArray::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aStringArray@@8				; aStringArray::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aStringArray@@8			; aStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EaStringArray@@UAEPAXI@Z:PROC		; aStringArray::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@aStringArray@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aStringArray@@8 DD FLAT:??_R0?AVaStringArray@@@8 ; aStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R2aStringArray@@8
rdata$r	SEGMENT
??_R2aStringArray@@8 DD FLAT:??_R1A@?0A@EA@aStringArray@@8 ; aStringArray::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaString@@@@8
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3aStringArray@@8
rdata$r	SEGMENT
??_R3aStringArray@@8 DD 00H				; aStringArray::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2aStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaStringArray@@@8
_DATA	SEGMENT
??_R0?AVaStringArray@@@8 DD FLAT:??_7type_info@@6B@	; aStringArray `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaStringArray@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aStringArray@@6B@
rdata$r	SEGMENT
??_R4aStringArray@@6B@ DD 00H				; aStringArray::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaStringArray@@@8
	DD	FLAT:??_R3aStringArray@@8
rdata$r	ENDS
;	COMDAT ??_7aStringArray@@6B@
CONST	SEGMENT
??_7aStringArray@@6B@ DD FLAT:??_R4aStringArray@@6B@	; aStringArray::`vftable'
	DD	FLAT:??_EaStringArray@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aStringArrayBase@VaString@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aStringArray@@QAE@XZ
_TEXT	SEGMENT
??0aStringArray@@QAE@XZ PROC				; aStringArray::aStringArray, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax], OFFSET ??_7aStringArray@@6B@
	ret	0
??0aStringArray@@QAE@XZ ENDP				; aStringArray::aStringArray
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaStringArray@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaStringArray@@UAEPAXI@Z PROC			; aStringArray::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@20
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@20:
	mov	eax, esi
	pop	esi
	ret	4
??_GaStringArray@@UAEPAXI@Z ENDP			; aStringArray::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@	; `string'
PUBLIC	?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z ; gzManagerVehicle::Object_Created
;	COMDAT ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
; File d:\source code\fds lib\new\fds_vector.h
CONST	SEGMENT
??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@ DB '.\gzvehicle.cpp', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z$0
__ehfuncinfo$?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
$T71558 = 8						; size = 4
_evt$ = 8						; size = 4
?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z PROC ; gzManagerVehicle::Object_Created, COMDAT
; _this$ = ecx

; 175  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ebx
	push	esi

; 176  : 	if (evt.m_obj->As_VehicleGameObj() && evt.m_obj->As_VehicleGameObj()->SeatsList.Length() > 0 && !evt.m_obj->As_PhysicalGameObj()->Physics->As_DecorationPhysClass())

	mov	esi, DWORD PTR _evt$[esp+16]
	mov	ebx, ecx
	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+40]
	push	edi
	call	edx
	test	eax, eax
	je	$LN1@Object_Cre
	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+40]
	call	edx
	add	eax, 2476				; 000009acH
	mov	eax, DWORD PTR [eax+8]
	test	eax, eax
	jle	$LN1@Object_Cre
	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+36]
	call	edx
	mov	eax, DWORD PTR [eax+1908]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+168]
	call	eax
	test	eax, eax
	jne	SHORT $LN1@Object_Cre

; 177  : 	{
; 178  : 		gzVehicleData *data = new gzVehicleData(evt.m_obj->As_VehicleGameObj());

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	178					; 000000b2H
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	84					; 00000054H
	call	??2@YAPAXI@Z				; operator new
	mov	edi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71558[esp+20], edi
	test	edi, edi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN4@Object_Cre
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	call	eax
	push	eax
	mov	ecx, edi
	call	??0gzVehicleData@@QAE@PAVnc_VehicleGameObj@@@Z ; gzVehicleData::gzVehicleData
	jmp	SHORT $LN5@Object_Cre
$LN4@Object_Cre:
	xor	eax, eax
$LN5@Object_Cre:

; 179  : 		this->m_vehList.AddHead(data);

	mov	edx, DWORD PTR [ebx+44]
	lea	ecx, DWORD PTR [ebx+44]
	push	eax
	mov	eax, DWORD PTR [edx+16]
	mov	DWORD PTR __$EHRec$[esp+36], -1
	call	eax

; 180  : 		evt.m_obj->As_VehicleGameObj()->VehicleCanEnemySeen = true;

	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	call	eax
	mov	BYTE PTR [eax+2453], 1
$LN1@Object_Cre:

; 181  : 	}
; 182  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 12					; 0000000cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z$0:
	mov	eax, DWORD PTR $T71558[ebp-4]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z ENDP ; gzManagerVehicle::Object_Created
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzVehicleData@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzVehicleData@@UAEPAXI@Z PROC			; gzVehicleData::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzVehicleData@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@21
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@21:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzVehicleData@@UAEPAXI@Z ENDP			; gzVehicleData::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzVehicleOwnerClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzVehicleOwnerClass@@UAEPAXI@Z PROC			; gzVehicleOwnerClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzVehicleOwnerClass@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@22
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@22:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzVehicleOwnerClass@@UAEPAXI@Z ENDP			; gzVehicleOwnerClass::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_7gzChatCommandBase@@6B@			; gzChatCommandBase::`vftable'
PUBLIC	??0gzChatCommandBase@@QAE@XZ			; gzChatCommandBase::gzChatCommandBase
PUBLIC	??_R4gzChatCommandBase@@6B@			; gzChatCommandBase::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChatCommandBase@@@8			; gzChatCommandBase `RTTI Type Descriptor'
PUBLIC	??_R3gzChatCommandBase@@8			; gzChatCommandBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChatCommandBase@@8			; gzChatCommandBase::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChatCommandBase@@8		; gzChatCommandBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??0aWideString@@QAE@XZ:PROC			; aWideString::aWideString
;	COMDAT ??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChatCommandBase@@8 DD FLAT:??_R0?AVgzChatCommandBase@@@8 ; gzChatCommandBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChatCommandBase@@8
rdata$r	SEGMENT
??_R2gzChatCommandBase@@8 DD FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8 ; gzChatCommandBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzChatCommandBase@@8
rdata$r	SEGMENT
??_R3gzChatCommandBase@@8 DD 00H			; gzChatCommandBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChatCommandBase@@@8
_DATA	SEGMENT
??_R0?AVgzChatCommandBase@@@8 DD FLAT:??_7type_info@@6B@ ; gzChatCommandBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChatCommandBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChatCommandBase@@6B@
rdata$r	SEGMENT
??_R4gzChatCommandBase@@6B@ DD 00H			; gzChatCommandBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChatCommandBase@@@8
	DD	FLAT:??_R3gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_7gzChatCommandBase@@6B@
CONST	SEGMENT
??_7gzChatCommandBase@@6B@ DD FLAT:??_R4gzChatCommandBase@@6B@ ; gzChatCommandBase::`vftable'
	DD	FLAT:__purecall
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzChatCommandBase@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$1
__ehfuncinfo$??0gzChatCommandBase@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0gzChatCommandBase@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzChatCommandBase@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzChatCommandBase@@QAE@XZ PROC			; gzChatCommandBase::gzChatCommandBase, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0gzChatCommandBase@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7gzChatCommandBase@@6B@
	xor	eax, eax
	mov	DWORD PTR _this$[esp+20], esi
	mov	DWORD PTR [esi+8], eax
	mov	DWORD PTR [esi+12], eax
	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+4], OFFSET ??_7aWideStringArray@@6B@
	lea	ecx, DWORD PTR [esi+24]
	mov	DWORD PTR __$EHRec$[esp+28], eax
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [esi+32]
	mov	BYTE PTR __$EHRec$[esp+28], 1
	call	??0aWideString@@QAE@XZ			; aWideString::aWideString
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 4
	jmp	??1aWideStringArray@@UAE@XZ
__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1aString@@UAE@XZ
__ehhandler$??0gzChatCommandBase@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzChatCommandBase@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzChatCommandBase@@QAE@XZ ENDP			; gzChatCommandBase::gzChatCommandBase
PUBLIC	??_GgzVehicleBoneData@@QAEPAXI@Z		; gzVehicleBoneData::`scalar deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??_GgzVehicleBoneData@@QAEPAXI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??_GgzVehicleBoneData@@QAEPAXI@Z$0
__ehfuncinfo$??_GgzVehicleBoneData@@QAEPAXI@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??_GgzVehicleBoneData@@QAEPAXI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??_GgzVehicleBoneData@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___flags$ = 8						; size = 4
??_GgzVehicleBoneData@@QAEPAXI@Z PROC			; gzVehicleBoneData::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??_GgzVehicleBoneData@@QAEPAXI@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp+16], 1
	je	SHORT $LN14@scalar@23
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN14@scalar@23:
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??_GgzVehicleBoneData@@QAEPAXI@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??_GgzVehicleBoneData@@QAEPAXI@Z:
	mov	eax, OFFSET __ehfuncinfo$??_GgzVehicleBoneData@@QAEPAXI@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??_GgzVehicleBoneData@@QAEPAXI@Z ENDP			; gzVehicleBoneData::`scalar deleting destructor'
PUBLIC	??0gzVehicleBoneData@@QAE@XZ			; gzVehicleBoneData::gzVehicleBoneData
; Function compile flags: /Ogtpy
;	COMDAT ??0gzVehicleBoneData@@QAE@XZ
_TEXT	SEGMENT
??0gzVehicleBoneData@@QAE@XZ PROC			; gzVehicleBoneData::gzVehicleBoneData, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0aString@@QAE@XZ			; aString::aString
	xor	eax, eax
	mov	DWORD PTR [esi+12], eax
	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+20], eax
	mov	DWORD PTR [esi+8], OFFSET ??_7aStringArray@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzVehicleBoneData@@QAE@XZ ENDP			; gzVehicleBoneData::gzVehicleBoneData
_TEXT	ENDS
PUBLIC	??_7gzChat_vehBind@@6B@				; gzChat_vehBind::`vftable'
PUBLIC	??0gzChat_vehBind@@QAE@XZ			; gzChat_vehBind::gzChat_vehBind
PUBLIC	??_R4gzChat_vehBind@@6B@			; gzChat_vehBind::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_vehBind@@@8			; gzChat_vehBind `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_vehBind@@8				; gzChat_vehBind::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_vehBind@@8				; gzChat_vehBind::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_vehBind@@8			; gzChat_vehBind::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_vehBind::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_vehBind@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_vehBind@@8 DD FLAT:??_R0?AVgzChat_vehBind@@@8 ; gzChat_vehBind::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_vehBind@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_vehBind@@8
rdata$r	SEGMENT
??_R2gzChat_vehBind@@8 DD FLAT:??_R1A@?0A@EA@gzChat_vehBind@@8 ; gzChat_vehBind::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_vehBind@@8
rdata$r	SEGMENT
??_R3gzChat_vehBind@@8 DD 00H				; gzChat_vehBind::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_vehBind@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_vehBind@@@8
_DATA	SEGMENT
??_R0?AVgzChat_vehBind@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_vehBind `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_vehBind@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_vehBind@@6B@
rdata$r	SEGMENT
??_R4gzChat_vehBind@@6B@ DD 00H				; gzChat_vehBind::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_vehBind@@@8
	DD	FLAT:??_R3gzChat_vehBind@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_vehBind@@6B@
CONST	SEGMENT
??_7gzChat_vehBind@@6B@ DD FLAT:??_R4gzChat_vehBind@@6B@ ; gzChat_vehBind::`vftable'
	DD	FLAT:?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_vehBind@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_vehBind@@QAE@XZ PROC				; gzChat_vehBind::gzChat_vehBind, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehBind@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_vehBind@@QAE@XZ ENDP				; gzChat_vehBind::gzChat_vehBind
_TEXT	ENDS
PUBLIC	??_C@_0CJ@CBNCCNAF@You?5have?5reached?5the?5vehicle?5bin@ ; `string'
PUBLIC	??_C@_0DH@JJDBFJDL@The?5vehicle?5you?5tried?5to?5bind?5is@ ; `string'
PUBLIC	??_C@_0DE@KAIGEEFD@You?5must?5be?5the?5vehicle?5driver?5t@ ; `string'
PUBLIC	??_C@_0BO@NOIAKEPO@The?5vehicle?5has?5bound?5to?5you?4?$AA@ ; `string'
PUBLIC	??_C@_0CO@CEBANEEB@You?5must?5be?5in?5a?5vehicle?5to?5use?5@ ; `string'
PUBLIC	??_C@_0DE@LNFDBINF@Vehicle?5commands?5are?5not?5availab@ ; `string'
EXTRN	?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ:PROC ; gzGameManager::GetGame
;	COMDAT ??_C@_0CJ@CBNCCNAF@You?5have?5reached?5the?5vehicle?5bin@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0CJ@CBNCCNAF@You?5have?5reached?5the?5vehicle?5bin@ DB 'You have re'
	DB	'ached the vehicle bind limit.', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0DH@JJDBFJDL@The?5vehicle?5you?5tried?5to?5bind?5is@
CONST	SEGMENT
??_C@_0DH@JJDBFJDL@The?5vehicle?5you?5tried?5to?5bind?5is@ DB 'The vehicl'
	DB	'e you tried to bind is already bound to %ls.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DE@KAIGEEFD@You?5must?5be?5the?5vehicle?5driver?5t@
CONST	SEGMENT
??_C@_0DE@KAIGEEFD@You?5must?5be?5the?5vehicle?5driver?5t@ DB 'You must b'
	DB	'e the vehicle driver to use this command.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@NOIAKEPO@The?5vehicle?5has?5bound?5to?5you?4?$AA@
CONST	SEGMENT
??_C@_0BO@NOIAKEPO@The?5vehicle?5has?5bound?5to?5you?4?$AA@ DB 'The vehic'
	DB	'le has bound to you.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CO@CEBANEEB@You?5must?5be?5in?5a?5vehicle?5to?5use?5@
CONST	SEGMENT
??_C@_0CO@CEBANEEB@You?5must?5be?5in?5a?5vehicle?5to?5use?5@ DB 'You must'
	DB	' be in a vehicle to use this command.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0DE@LNFDBINF@Vehicle?5commands?5are?5not?5availab@
CONST	SEGMENT
??_C@_0DE@LNFDBINF@Vehicle?5commands?5are?5not?5availab@ DB 'Vehicle comm'
	DB	'ands are not available in %s game mode.', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z$0
__ehfuncinfo$?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
$T71667 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_vehBind::Activate, COMDAT
; _this$ = ecx

; 827  : 	{

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

; 828  : 		// Game mode check
; 829  : 		switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+56]
	mov	eax, DWORD PTR [eax+24]
	sub	esp, 8
	push	esi
	add	eax, -3					; fffffffdH
	cmp	eax, 3
	push	edi
	mov	edi, DWORD PTR _sender$[esp+24]
	ja	SHORT $LN12@Activate@2

; 830  : 		{
; 831  : 			case GAMEMODE_INFONLY:
; 832  : 			case GAMEMODE_SNIPER:
; 833  : 			case GAMEMODE_500SNIP:
; 834  : 			case GAMEMODE_DM:
; 835  : 				PagePlayer(sender, "Vehicle commands are not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	call	?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ ; gzGameManager::GetGame
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+136]
	call	eax
	push	eax
	push	OFFSET ??_C@_0DE@LNFDBINF@Vehicle?5commands?5are?5not?5availab@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
$LN12@Activate@2:

; 836  : 		}
; 837  : 
; 838  : 		gzPlayer *gzData = gzPlayerManager::Find(sender);

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

; 839  : 		if (!gzData || !gzData->GetPlayerData()->Owner.Reference)

	test	esi, esi
	je	$LN9@Activate@2
	mov	eax, DWORD PTR [esi+72]
	cmp	DWORD PTR [eax+20], 0
	je	$LN9@Activate@2

; 840  : 			return;
; 841  : 		if (!gzData->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle)

	mov	ecx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2444], 0
	jne	SHORT $LN8@Activate@2

; 842  : 		{
; 843  : 			PagePlayer(sender, "You must be in a vehicle to use this command.", sender);

	push	edi
	push	OFFSET ??_C@_0CO@CEBANEEB@You?5must?5be?5in?5a?5vehicle?5to?5use?5@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	pop	edi
	pop	esi

; 864  : 		}
; 865  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	20					; 00000014H
$LN8@Activate@2:

; 844  : 			return;
; 845  : 		}
; 846  : 		switch (gzData->GetVehicleData()->Set(VO_BIND))

	mov	ecx, DWORD PTR [esi+56]
	push	0
	push	1
	call	?Set@gzVehicleOwnerClass@@QAEHHI@Z	; gzVehicleOwnerClass::Set
	cmp	eax, 4
	ja	$LN9@Activate@2
	jmp	DWORD PTR $LN38@Activate@2[eax*4]
$LN5@Activate@2:

; 847  : 		{
; 848  : 			case VORESP_SUCCESS:
; 849  : 				PagePlayer(sender, "The vehicle has bound to you.");

	push	OFFSET ??_C@_0BO@NOIAKEPO@The?5vehicle?5has?5bound?5to?5you?4?$AA@

; 850  : 				break;

	jmp	$LN37@Activate@2
$LN4@Activate@2:

; 851  : 			case VORESP_NOT_IN_VEHICLE:
; 852  : 				PagePlayer(sender, "You must be in a vehicle to use this command.");

	push	OFFSET ??_C@_0CO@CEBANEEB@You?5must?5be?5in?5a?5vehicle?5to?5use?5@

; 853  : 				break;

	jmp	$LN37@Activate@2
$LN3@Activate@2:

; 854  : 			case VORESP_NOT_DRIVER:
; 855  : 				PagePlayer(sender, "You must be the vehicle driver to use this command.");

	push	OFFSET ??_C@_0DE@KAIGEEFD@You?5must?5be?5the?5vehicle?5driver?5t@

; 856  : 				break;

	jmp	$LN37@Activate@2
$LN2@Activate@2:

; 857  : 			case VORESP_NOT_OWNER:
; 858  : 				PagePlayer(sender, "The vehicle you tried to bind is already bound to %ls.",
; 859  : 					gzVehicleMgr->Find(gzData->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle->NetworkID)->GetOwner()->GetPlayerName().GetString()
; 860  : 				);

	mov	esi, DWORD PTR [esi+72]
	mov	ecx, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	mov	ecx, DWORD PTR [eax+2444]
	mov	edx, DWORD PTR [ecx+12]
	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	push	edx
	call	?Find@gzManagerVehicle@@QAEPAVgzVehicleData@@K@Z ; gzManagerVehicle::Find
	mov	eax, DWORD PTR [eax+40]
	lea	ecx, DWORD PTR $T71667[esp+28]
	push	ecx
	mov	ecx, eax
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+36], 0
	je	SHORT $LN29@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN30@Activate@2
$LN29@Activate@2:
	xor	eax, eax
$LN30@Activate@2:
	push	eax
	push	OFFSET ??_C@_0DH@JJDBFJDL@The?5vehicle?5you?5tried?5to?5bind?5is@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T71667[esp+28]
	mov	DWORD PTR __$EHRec$[esp+36], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	pop	edi
	pop	esi

; 864  : 		}
; 865  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	20					; 00000014H
$LN1@Activate@2:

; 861  : 				break;
; 862  : 			case VORESP_QUOTA_MAXXED:
; 863  : 				PagePlayer(sender, "You have reached the vehicle bind limit.");

	push	OFFSET ??_C@_0CJ@CBNCCNAF@You?5have?5reached?5the?5vehicle?5bin@
$LN37@Activate@2:
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN9@Activate@2:

; 864  : 		}
; 865  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	20					; 00000014H
	npad	3
$LN38@Activate@2:
	DD	$LN5@Activate@2
	DD	$LN4@Activate@2
	DD	$LN3@Activate@2
	DD	$LN2@Activate@2
	DD	$LN1@Activate@2
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR $T71667[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_vehBind@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_vehBind::Activate
PUBLIC	??_7gzChat_vehLock@@6B@				; gzChat_vehLock::`vftable'
PUBLIC	??0gzChat_vehLock@@QAE@XZ			; gzChat_vehLock::gzChat_vehLock
PUBLIC	??_R4gzChat_vehLock@@6B@			; gzChat_vehLock::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_vehLock@@@8			; gzChat_vehLock `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_vehLock@@8				; gzChat_vehLock::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_vehLock@@8				; gzChat_vehLock::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_vehLock@@8			; gzChat_vehLock::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_vehLock@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_vehLock::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_vehLock@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_vehLock@@8 DD FLAT:??_R0?AVgzChat_vehLock@@@8 ; gzChat_vehLock::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_vehLock@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_vehLock@@8
rdata$r	SEGMENT
??_R2gzChat_vehLock@@8 DD FLAT:??_R1A@?0A@EA@gzChat_vehLock@@8 ; gzChat_vehLock::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_vehLock@@8
rdata$r	SEGMENT
??_R3gzChat_vehLock@@8 DD 00H				; gzChat_vehLock::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_vehLock@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_vehLock@@@8
_DATA	SEGMENT
??_R0?AVgzChat_vehLock@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_vehLock `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_vehLock@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_vehLock@@6B@
rdata$r	SEGMENT
??_R4gzChat_vehLock@@6B@ DD 00H				; gzChat_vehLock::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_vehLock@@@8
	DD	FLAT:??_R3gzChat_vehLock@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_vehLock@@6B@
CONST	SEGMENT
??_7gzChat_vehLock@@6B@ DD FLAT:??_R4gzChat_vehLock@@6B@ ; gzChat_vehLock::`vftable'
	DD	FLAT:?Activate@gzChat_vehLock@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_vehLock@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_vehLock@@QAE@XZ PROC				; gzChat_vehLock::gzChat_vehLock, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehLock@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_vehLock@@QAE@XZ ENDP				; gzChat_vehLock::gzChat_vehLock
_TEXT	ENDS
PUBLIC	??_C@_0BP@EBHBENML@The?5vehicle?5has?5locked?5to?5you?4?$AA@ ; `string'
;	COMDAT ??_C@_0BP@EBHBENML@The?5vehicle?5has?5locked?5to?5you?4?$AA@
; File d:\source code\gzgm\gzplayer.h
CONST	SEGMENT
??_C@_0BP@EBHBENML@The?5vehicle?5has?5locked?5to?5you?4?$AA@ DB 'The vehi'
	DB	'cle has locked to you.', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
CONST	ENDS
;	COMDAT ?Activate@gzChat_vehLock@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_retStr$ = 24						; size = 4
?Activate@gzChat_vehLock@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_vehLock::Activate, COMDAT
; _this$ = ecx

; 783  : 		// Game mode check
; 784  : 		switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+56]
	mov	eax, DWORD PTR [eax+24]
	push	esi
	add	eax, -3					; fffffffdH
	cmp	eax, 3
	push	edi
	mov	edi, DWORD PTR _sender$[esp+4]
	ja	SHORT $LN12@Activate@3

; 785  : 		{
; 786  : 			case GAMEMODE_INFONLY:
; 787  : 			case GAMEMODE_SNIPER:
; 788  : 			case GAMEMODE_500SNIP:
; 789  : 			case GAMEMODE_DM:
; 790  : 				PagePlayer(sender, "Vehicle commands are not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	call	?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ ; gzGameManager::GetGame
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+136]
	call	eax
	push	eax
	push	OFFSET ??_C@_0DE@LNFDBINF@Vehicle?5commands?5are?5not?5availab@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
$LN12@Activate@3:

; 791  : 		}
; 792  : 
; 793  : 		gzPlayer *pData = gzPlayerManager::Find(sender);

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

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

	test	esi, esi
	je	$LN9@Activate@3
	mov	ecx, DWORD PTR [esi+72]
	mov	eax, DWORD PTR [ecx+20]
	test	eax, eax
	je	$LN9@Activate@3

; 795  : 			return;
; 796  : 		if (!pData->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle)

	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2444], 0
	jne	SHORT $LN8@Activate@3
$LN4@Activate@3:

; 797  : 		{
; 798  : 			PagePlayer(sender, "You must be in a vehicle to use this command.");

	push	OFFSET ??_C@_0CO@CEBANEEB@You?5must?5be?5in?5a?5vehicle?5to?5use?5@

; 817  : 				break;
; 818  : 			case VORESP_QUOTA_MAXXED:
; 819  : 				PagePlayer(sender, "You have reached the vehicle bind limit.");

	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	esi

; 820  : 				break;
; 821  : 		}
; 822  : 	}

	ret	20					; 00000014H
$LN8@Activate@3:

; 799  : 			return;
; 800  : 		}
; 801  : 		int ret = pData->GetVehicleData()->Set(VO_BIND | VO_LOCK);

	mov	ecx, DWORD PTR [esi+56]
	push	0
	push	3
	call	?Set@gzVehicleOwnerClass@@QAEHHI@Z	; gzVehicleOwnerClass::Set

; 802  : 		switch (ret)

	cmp	eax, 4
	ja	$LN9@Activate@3
	jmp	DWORD PTR $LN29@Activate@3[eax*4]
$LN5@Activate@3:

; 803  : 		{
; 804  : 			case VORESP_SUCCESS:
; 805  : 				PagePlayer(sender, "The vehicle has locked to you.");

	push	OFFSET ??_C@_0BP@EBHBENML@The?5vehicle?5has?5locked?5to?5you?4?$AA@

; 817  : 				break;
; 818  : 			case VORESP_QUOTA_MAXXED:
; 819  : 				PagePlayer(sender, "You have reached the vehicle bind limit.");

	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	esi

; 820  : 				break;
; 821  : 		}
; 822  : 	}

	ret	20					; 00000014H
$LN3@Activate@3:

; 806  : 				break;
; 807  : 			case VORESP_NOT_IN_VEHICLE:
; 808  : 				PagePlayer(sender, "You must be in a vehicle to use this command.");
; 809  : 				break;
; 810  : 			case VORESP_NOT_DRIVER:
; 811  : 				PagePlayer(sender, "You must be the vehicle driver to use this command.");

	push	OFFSET ??_C@_0DE@KAIGEEFD@You?5must?5be?5the?5vehicle?5driver?5t@

; 817  : 				break;
; 818  : 			case VORESP_QUOTA_MAXXED:
; 819  : 				PagePlayer(sender, "You have reached the vehicle bind limit.");

	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	esi

; 820  : 				break;
; 821  : 		}
; 822  : 	}

	ret	20					; 00000014H
$LN2@Activate@3:

; 812  : 				break;
; 813  : 			case VORESP_NOT_OWNER:
; 814  : 				PagePlayer(sender, "The vehicle you tried to bind is already bound to %ls.",
; 815  : 					gzVehicleMgr->Find(pData->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle->NetworkID)->GetOwner()->GetPlayerData()->PlayerName.m_Buffer
; 816  : 				);

	mov	ecx, DWORD PTR [esi+72]
	mov	edx, DWORD PTR [ecx+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	mov	eax, DWORD PTR [eax+2444]
	mov	ecx, DWORD PTR [eax+12]
	push	ecx
	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	call	?Find@gzManagerVehicle@@QAEPAVgzVehicleData@@K@Z ; gzManagerVehicle::Find
	mov	edx, DWORD PTR [eax+40]
	mov	eax, DWORD PTR [edx+72]
	mov	ecx, DWORD PTR [eax+1880]
	push	ecx
	push	OFFSET ??_C@_0DH@JJDBFJDL@The?5vehicle?5you?5tried?5to?5bind?5is@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	pop	edi
	pop	esi

; 820  : 				break;
; 821  : 		}
; 822  : 	}

	ret	20					; 00000014H
$LN1@Activate@3:

; 817  : 				break;
; 818  : 			case VORESP_QUOTA_MAXXED:
; 819  : 				PagePlayer(sender, "You have reached the vehicle bind limit.");

	push	OFFSET ??_C@_0CJ@CBNCCNAF@You?5have?5reached?5the?5vehicle?5bin@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN9@Activate@3:
	pop	edi
	pop	esi

; 820  : 				break;
; 821  : 		}
; 822  : 	}

	ret	20					; 00000014H
	npad	1
$LN29@Activate@3:
	DD	$LN5@Activate@3
	DD	$LN4@Activate@3
	DD	$LN3@Activate@3
	DD	$LN2@Activate@3
	DD	$LN1@Activate@3
?Activate@gzChat_vehLock@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_vehLock::Activate
_TEXT	ENDS
PUBLIC	??_7gzChat_vehUnbind@@6B@			; gzChat_vehUnbind::`vftable'
PUBLIC	??0gzChat_vehUnbind@@QAE@XZ			; gzChat_vehUnbind::gzChat_vehUnbind
PUBLIC	??_R4gzChat_vehUnbind@@6B@			; gzChat_vehUnbind::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_vehUnbind@@@8			; gzChat_vehUnbind `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_vehUnbind@@8			; gzChat_vehUnbind::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_vehUnbind@@8			; gzChat_vehUnbind::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_vehUnbind@@8		; gzChat_vehUnbind::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_vehUnbind@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_vehUnbind::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_vehUnbind@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_vehUnbind@@8 DD FLAT:??_R0?AVgzChat_vehUnbind@@@8 ; gzChat_vehUnbind::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_vehUnbind@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_vehUnbind@@8
rdata$r	SEGMENT
??_R2gzChat_vehUnbind@@8 DD FLAT:??_R1A@?0A@EA@gzChat_vehUnbind@@8 ; gzChat_vehUnbind::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_vehUnbind@@8
rdata$r	SEGMENT
??_R3gzChat_vehUnbind@@8 DD 00H				; gzChat_vehUnbind::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_vehUnbind@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_vehUnbind@@@8
_DATA	SEGMENT
??_R0?AVgzChat_vehUnbind@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_vehUnbind `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_vehUnbind@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_vehUnbind@@6B@
rdata$r	SEGMENT
??_R4gzChat_vehUnbind@@6B@ DD 00H			; gzChat_vehUnbind::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_vehUnbind@@@8
	DD	FLAT:??_R3gzChat_vehUnbind@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_vehUnbind@@6B@
CONST	SEGMENT
??_7gzChat_vehUnbind@@6B@ DD FLAT:??_R4gzChat_vehUnbind@@6B@ ; gzChat_vehUnbind::`vftable'
	DD	FLAT:?Activate@gzChat_vehUnbind@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_vehUnbind@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_vehUnbind@@QAE@XZ PROC			; gzChat_vehUnbind::gzChat_vehUnbind, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehUnbind@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_vehUnbind@@QAE@XZ ENDP			; gzChat_vehUnbind::gzChat_vehUnbind
_TEXT	ENDS
PUBLIC	??_C@_0CF@DKPMJLOL@You?8re?5not?5the?5owner?5of?5the?5vehi@ ; `string'
PUBLIC	??_C@_0EN@OIDLBN@You?5must?5be?5in?5your?5bound?5vehicl@ ; `string'
PUBLIC	??_C@_0EI@MBFLCDFG@Invalid?5vehicle?5index?4?5For?5the?5l@ ; `string'
PUBLIC	??_C@_0CD@NLNJHCGJ@Your?5vehicle?$CI?$CFs?$CJ?5has?5been?5unboun@ ; `string'
PUBLIC	??_C@_0EN@CLPAIEAB@Vehicle?5?$CD?$CFd?5does?5not?5exist?4?5For?5@ ; `string'
PUBLIC	??_C@_0CB@ONGNAJAN@Your?5vehicles?5have?5been?5unbound?4@ ; `string'
PUBLIC	??_C@_0CD@NODHBFKI@No?5vehicles?5had?5been?5bound?5to?5yo@ ; `string'
PUBLIC	??_C@_17IIFKAHCJ@?$AAa?$AAl?$AAl?$AA?$AA@	; `string'
EXTRN	__wtoi:PROC
EXTRN	_wcsicmp:PROC
;	COMDAT ??_C@_0CF@DKPMJLOL@You?8re?5not?5the?5owner?5of?5the?5vehi@
; File d:\source code\gzgm\gzplayer.h
CONST	SEGMENT
??_C@_0CF@DKPMJLOL@You?8re?5not?5the?5owner?5of?5the?5vehi@ DB 'You''re n'
	DB	'ot the owner of the vehicle.', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0EN@OIDLBN@You?5must?5be?5in?5your?5bound?5vehicl@
CONST	SEGMENT
??_C@_0EN@OIDLBN@You?5must?5be?5in?5your?5bound?5vehicl@ DB 'You must be '
	DB	'in your bound vehicle to use this command or specify vehicle '
	DB	'ID.', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0EI@MBFLCDFG@Invalid?5vehicle?5index?4?5For?5the?5l@
CONST	SEGMENT
??_C@_0EI@MBFLCDFG@Invalid?5vehicle?5index?4?5For?5the?5l@ DB 'Invalid ve'
	DB	'hicle index. For the list of your bound vehicle, type !vlist.'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0CD@NLNJHCGJ@Your?5vehicle?$CI?$CFs?$CJ?5has?5been?5unboun@
CONST	SEGMENT
??_C@_0CD@NLNJHCGJ@Your?5vehicle?$CI?$CFs?$CJ?5has?5been?5unboun@ DB 'You'
	DB	'r vehicle(%s) has been unbound.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0EN@CLPAIEAB@Vehicle?5?$CD?$CFd?5does?5not?5exist?4?5For?5@
CONST	SEGMENT
??_C@_0EN@CLPAIEAB@Vehicle?5?$CD?$CFd?5does?5not?5exist?4?5For?5@ DB 'Veh'
	DB	'icle #%d does not exist. For the list of your bound vehicle, '
	DB	'type !vlist.', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@ONGNAJAN@Your?5vehicles?5have?5been?5unbound?4@
CONST	SEGMENT
??_C@_0CB@ONGNAJAN@Your?5vehicles?5have?5been?5unbound?4@ DB 'Your vehicl'
	DB	'es have been unbound.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CD@NODHBFKI@No?5vehicles?5had?5been?5bound?5to?5yo@
CONST	SEGMENT
??_C@_0CD@NODHBFKI@No?5vehicles?5had?5been?5bound?5to?5yo@ DB 'No vehicle'
	DB	's had been bound to you.', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_17IIFKAHCJ@?$AAa?$AAl?$AAl?$AA?$AA@
CONST	SEGMENT
??_C@_17IIFKAHCJ@?$AAa?$AAl?$AAl?$AA?$AA@ DB 'a', 00H, 'l', 00H, 'l', 00H
	DB	00H, 00H					; `string'
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
CONST	ENDS
;	COMDAT ?Activate@gzChat_vehUnbind@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_vehUnbind@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_vehUnbind::Activate, COMDAT
; _this$ = ecx

; 871  : 		// Game mode check
; 872  : 		switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+56]
	mov	eax, DWORD PTR [eax+24]
	push	ebp
	mov	ebp, DWORD PTR _sender$[esp]
	add	eax, -3					; fffffffdH
	cmp	eax, 3
	push	esi
	ja	SHORT $LN20@Activate@4

; 873  : 		{
; 874  : 			case GAMEMODE_INFONLY:
; 875  : 			case GAMEMODE_SNIPER:
; 876  : 			case GAMEMODE_500SNIP:
; 877  : 			case GAMEMODE_DM:
; 878  : 				PagePlayer(sender, "Vehicle commands are not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	call	?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ ; gzGameManager::GetGame
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+136]
	call	eax
	push	eax
	push	OFFSET ??_C@_0DE@LNFDBINF@Vehicle?5commands?5are?5not?5availab@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
$LN20@Activate@4:

; 879  : 		}
; 880  : 
; 881  : 		gzPlayer *gzData = gzPlayerManager::Find(sender);

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

; 882  : 		if (gzData == NULL)

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

; 883  : 			return;
; 884  : 
; 885  : 		int vehIndex = -1;
; 886  : 		if (*msg)

	mov	edi, DWORD PTR _msg$[esp+12]
	cmp	WORD PTR [edi], 0
	je	$LN17@Activate@4

; 887  : 		{
; 888  : 			if (!wcsicmp(msg, L"all"))

	push	OFFSET ??_C@_17IIFKAHCJ@?$AAa?$AAl?$AAl?$AA?$AA@
	push	edi
	call	_wcsicmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN16@Activate@4

; 889  : 			{
; 890  : 				if (gzData->GetVehicleData()->GetBoundList().Count() == 0)

	mov	ecx, DWORD PTR [esi+56]
	cmp	DWORD PTR [ecx+60], eax
	jne	SHORT $LN15@Activate@4

; 891  : 					PagePlayer(sender, "No vehicles had been bound to you.");

	push	OFFSET ??_C@_0CD@NODHBFKI@No?5vehicles?5had?5been?5bound?5to?5yo@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 945  : 			}
; 946  : 		}
; 947  : 	}

	ret	20					; 00000014H
$LN15@Activate@4:

; 892  : 				else
; 893  : 				{
; 894  : 					int count = gzData->GetVehicleData()->GetBoundList().Count();
; 895  : 					gzData->GetVehicleData()->UnsetAll();

	call	?UnsetAll@gzVehicleOwnerClass@@QAEXXZ	; gzVehicleOwnerClass::UnsetAll

; 896  : 					PagePlayer(sender, "Your vehicles have been unbound.");

	push	OFFSET ??_C@_0CB@ONGNAJAN@Your?5vehicles?5have?5been?5unbound?4@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 945  : 			}
; 946  : 		}
; 947  : 	}

	ret	20					; 00000014H
$LN16@Activate@4:

; 897  : 				}
; 898  : 				return;
; 899  : 			}
; 900  : 			if (_wtoi(msg) <= 0 || _wtoi(msg) > (gzVehicleMgr->GetSettings()->m_maxEnemyVehicle + gzVehicleMgr->GetSettings()->m_maxTeamVehicle))

	push	edi
	call	__wtoi
	add	esp, 4
	test	eax, eax
	jle	$LN12@Activate@4
	mov	edx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	ebx, DWORD PTR [edx+40]
	push	edi
	call	__wtoi
	mov	ecx, DWORD PTR [ebx+60]
	add	ecx, DWORD PTR [ebx+56]
	add	esp, 4
	cmp	eax, ecx
	jg	$LN12@Activate@4

; 903  : 				return;
; 904  : 			}
; 905  : 			if ((unsigned)(_wtoi(msg) -1) >= gzData->GetVehicleData()->GetBoundList().Count())

	mov	edx, DWORD PTR [esi+56]
	mov	ebx, DWORD PTR [edx+60]
	push	edi
	call	__wtoi
	add	esp, 4
	sub	eax, 1
	cmp	eax, ebx

; 906  : 			{
; 907  : 				PagePlayer(sender, "Vehicle #%d does not exist. For the list of your bound vehicle, type !vlist.", _wtoi(msg));

	push	edi
	jb	SHORT $LN11@Activate@4
	call	__wtoi
	push	eax
	push	OFFSET ??_C@_0EN@CLPAIEAB@Vehicle?5?$CD?$CFd?5does?5not?5exist?4?5For?5@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 945  : 			}
; 946  : 		}
; 947  : 	}

	ret	20					; 00000014H
$LN11@Activate@4:

; 908  : 				return;
; 909  : 			}
; 910  : 			vehIndex = _wtoi(msg) -1;

	call	__wtoi
	sub	eax, 1
	add	esp, 4

; 933  : 				return;
; 934  : 			}
; 935  : 		}
; 936  : 		if (vehIndex != -1)

	cmp	eax, -1
	je	SHORT $LN78@Activate@4
$LN77@Activate@4:

; 937  : 		{
; 938  : 			nc_SmartGameObj *vehObj = nc_GameObjManager::Find_SmartGameObj(gzData->GetVehicleData()->GetBoundList()[vehIndex]->GetVehicleId());

	mov	ecx, DWORD PTR [esi+56]
	mov	edx, DWORD PTR [ecx+52]
	mov	eax, DWORD PTR [edx+eax*4]
	mov	eax, DWORD PTR [eax+36]
	push	eax
	call	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z ; nc_GameObjManager::Find_SmartGameObj
	mov	edi, eax
	add	esp, 4

; 939  : 			if (vehObj)

	test	edi, edi
	je	SHORT $LN78@Activate@4

; 940  : 			{
; 941  : 				gzData->GetVehicleData()->Unset(vehObj->NetworkID, VO_BIND);

	mov	ecx, DWORD PTR [edi+12]
	push	1
	push	ecx
	mov	ecx, DWORD PTR [esi+56]
	call	?Unset@gzVehicleOwnerClass@@QAEHIH@Z	; gzVehicleOwnerClass::Unset

; 942  : 				PagePlayer(sender, "Your vehicle(%s) has been unbound.",
; 943  : 					gzTranslator->Get(vehObj->definition->Get_Name())
; 944  : 				);

	mov	ecx, DWORD PTR [edi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0CD@NLNJHCGJ@Your?5vehicle?$CI?$CFs?$CJ?5has?5been?5unboun@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
$LN78@Activate@4:
	pop	edi
	pop	ebx
$LN1@Activate@4:
	pop	esi
	pop	ebp

; 945  : 			}
; 946  : 		}
; 947  : 	}

	ret	20					; 00000014H
$LN12@Activate@4:

; 901  : 			{
; 902  : 				PagePlayer(sender, "Invalid vehicle index. For the list of your bound vehicle, type !vlist.");

	push	OFFSET ??_C@_0EI@MBFLCDFG@Invalid?5vehicle?5index?4?5For?5the?5l@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 945  : 			}
; 946  : 		}
; 947  : 	}

	ret	20					; 00000014H
$LN17@Activate@4:

; 911  : 		}
; 912  : 		else
; 913  : 		{
; 914  : 			if (gzData->GetSoldier() == NULL)

	mov	ecx, esi
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	test	eax, eax
	je	SHORT $LN78@Activate@4

; 915  : 				return;
; 916  : 
; 917  : 			if (gzData->GetSoldier()->Vehicle == NULL)

	mov	ecx, esi
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	cmp	DWORD PTR [eax+2444], 0
	jne	SHORT $LN8@Activate@4

; 918  : 			{
; 919  : 				PagePlayer(sender, "You must be in your bound vehicle to use this command or specify vehicle ID.");

	push	OFFSET ??_C@_0EN@OIDLBN@You?5must?5be?5in?5your?5bound?5vehicl@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 945  : 			}
; 946  : 		}
; 947  : 	}

	ret	20					; 00000014H
$LN8@Activate@4:

; 920  : 				return;
; 921  : 			}
; 922  : 			for (unsigned int i = 0; i < gzData->GetVehicleData()->GetBoundList().Count(); i++)

	mov	eax, DWORD PTR [esi+56]
	xor	edi, edi
	cmp	DWORD PTR [eax+60], edi
	jbe	SHORT $LN76@Activate@4
$LL7@Activate@4:

; 923  : 			{
; 924  : 				if (gzData->GetVehicleData()->GetBoundList()[i]->GetVehicleId() == gzData->GetSoldier()->Vehicle->NetworkID)

	mov	eax, DWORD PTR [eax+52]
	mov	ecx, DWORD PTR [eax+edi*4]
	mov	ebx, DWORD PTR [ecx+36]
	mov	ecx, esi
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	mov	edx, DWORD PTR [eax+2444]
	cmp	ebx, DWORD PTR [edx+12]
	je	SHORT $LN73@Activate@4
	mov	eax, DWORD PTR [esi+56]
	add	edi, 1
	cmp	edi, DWORD PTR [eax+60]
	jb	SHORT $LL7@Activate@4

; 931  : 			{
; 932  : 				PagePlayer(sender, "You're not the owner of the vehicle.");

	push	OFFSET ??_C@_0CF@DKPMJLOL@You?8re?5not?5the?5owner?5of?5the?5vehi@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 945  : 			}
; 946  : 		}
; 947  : 	}

	ret	20					; 00000014H
$LN73@Activate@4:

; 925  : 				{
; 926  : 					vehIndex = i;
; 927  : 					break;
; 928  : 				}
; 929  : 			}
; 930  : 			if (vehIndex == -1)

	cmp	edi, -1
	mov	eax, edi
	jne	$LN77@Activate@4
$LN76@Activate@4:

; 931  : 			{
; 932  : 				PagePlayer(sender, "You're not the owner of the vehicle.");

	push	OFFSET ??_C@_0CF@DKPMJLOL@You?8re?5not?5the?5owner?5of?5the?5vehi@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 945  : 			}
; 946  : 		}
; 947  : 	}

	ret	20					; 00000014H
?Activate@gzChat_vehUnbind@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_vehUnbind::Activate
_TEXT	ENDS
PUBLIC	??_7gzChat_vehUnlock@@6B@			; gzChat_vehUnlock::`vftable'
PUBLIC	??0gzChat_vehUnlock@@QAE@XZ			; gzChat_vehUnlock::gzChat_vehUnlock
PUBLIC	??_R4gzChat_vehUnlock@@6B@			; gzChat_vehUnlock::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_vehUnlock@@@8			; gzChat_vehUnlock `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_vehUnlock@@8			; gzChat_vehUnlock::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_vehUnlock@@8			; gzChat_vehUnlock::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_vehUnlock@@8		; gzChat_vehUnlock::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_vehUnlock@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_vehUnlock::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_vehUnlock@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_vehUnlock@@8 DD FLAT:??_R0?AVgzChat_vehUnlock@@@8 ; gzChat_vehUnlock::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_vehUnlock@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_vehUnlock@@8
rdata$r	SEGMENT
??_R2gzChat_vehUnlock@@8 DD FLAT:??_R1A@?0A@EA@gzChat_vehUnlock@@8 ; gzChat_vehUnlock::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_vehUnlock@@8
rdata$r	SEGMENT
??_R3gzChat_vehUnlock@@8 DD 00H				; gzChat_vehUnlock::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_vehUnlock@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_vehUnlock@@@8
_DATA	SEGMENT
??_R0?AVgzChat_vehUnlock@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_vehUnlock `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_vehUnlock@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_vehUnlock@@6B@
rdata$r	SEGMENT
??_R4gzChat_vehUnlock@@6B@ DD 00H			; gzChat_vehUnlock::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_vehUnlock@@@8
	DD	FLAT:??_R3gzChat_vehUnlock@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_vehUnlock@@6B@
CONST	SEGMENT
??_7gzChat_vehUnlock@@6B@ DD FLAT:??_R4gzChat_vehUnlock@@6B@ ; gzChat_vehUnlock::`vftable'
	DD	FLAT:?Activate@gzChat_vehUnlock@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_vehUnlock@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_vehUnlock@@QAE@XZ PROC			; gzChat_vehUnlock::gzChat_vehUnlock, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehUnlock@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_vehUnlock@@QAE@XZ ENDP			; gzChat_vehUnlock::gzChat_vehUnlock
_TEXT	ENDS
PUBLIC	??_C@_0CE@PCOGBKBF@Your?5vehicle?$CI?$CFs?$CJ?5has?5been?5unlock@ ; `string'
;	COMDAT ??_C@_0CE@PCOGBKBF@Your?5vehicle?$CI?$CFs?$CJ?5has?5been?5unlock@
; File d:\source code\gzgm\gzplayer.h
CONST	SEGMENT
??_C@_0CE@PCOGBKBF@Your?5vehicle?$CI?$CFs?$CJ?5has?5been?5unlock@ DB 'You'
	DB	'r vehicle(%s) has been unlocked.', 00H	; `string'
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
CONST	ENDS
;	COMDAT ?Activate@gzChat_vehUnlock@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_vehUnlock@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_vehUnlock::Activate, COMDAT
; _this$ = ecx

; 953  : 		// Game mode check
; 954  : 		switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+56]
	mov	eax, DWORD PTR [eax+24]
	push	ebp
	mov	ebp, DWORD PTR _sender$[esp]
	add	eax, -3					; fffffffdH
	cmp	eax, 3
	push	esi
	ja	SHORT $LN15@Activate@5

; 955  : 		{
; 956  : 			case GAMEMODE_INFONLY:
; 957  : 			case GAMEMODE_SNIPER:
; 958  : 			case GAMEMODE_500SNIP:
; 959  : 			case GAMEMODE_DM:
; 960  : 				PagePlayer(sender, "Vehicle commands are not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	call	?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ ; gzGameManager::GetGame
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+136]
	call	eax
	push	eax
	push	OFFSET ??_C@_0DE@LNFDBINF@Vehicle?5commands?5are?5not?5availab@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
$LN15@Activate@5:

; 961  : 		}
; 962  : 
; 963  : 		gzPlayer *pData = gzPlayerManager::Find(sender);

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

; 964  : 		if (!pData)

	test	esi, esi
	je	$LN17@Activate@5
	push	ebx
	push	edi

; 965  : 			return;
; 966  : 		int vehIndex = -1;
; 967  : 		if (*msg)

	mov	edi, DWORD PTR _msg$[esp+12]
	cmp	WORD PTR [edi], 0
	je	$LN12@Activate@5

; 968  : 		{
; 969  : 			if (_wtoi(msg) <= 0 || _wtoi(msg) > (gzVehicleMgr->GetSettings()->m_maxEnemyVehicle + gzVehicleMgr->GetSettings()->m_maxTeamVehicle))

	push	edi
	call	__wtoi
	add	esp, 4
	test	eax, eax
	jle	$LN10@Activate@5
	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	ebx, DWORD PTR [ecx+40]
	push	edi
	call	__wtoi
	mov	edx, DWORD PTR [ebx+60]
	add	edx, DWORD PTR [ebx+56]
	add	esp, 4
	cmp	eax, edx
	jg	$LN10@Activate@5

; 972  : 				return;
; 973  : 			}
; 974  : 			if ((unsigned)(_wtoi(msg) -1) >= pData->GetVehicleData()->GetBoundList().Count())

	mov	eax, DWORD PTR [esi+56]
	mov	ebx, DWORD PTR [eax+60]
	push	edi
	call	__wtoi
	add	esp, 4
	sub	eax, 1
	cmp	eax, ebx

; 975  : 			{
; 976  : 				PagePlayer(sender, "Vehicle #%d does not exist. For the list of your bound vehicle, type !vlist.", _wtoi(msg));

	push	edi
	jb	SHORT $LN9@Activate@5
	call	__wtoi
	push	eax
	push	OFFSET ??_C@_0EN@CLPAIEAB@Vehicle?5?$CD?$CFd?5does?5not?5exist?4?5For?5@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 1009 : 	}

	ret	20					; 00000014H
$LN9@Activate@5:

; 977  : 				return;
; 978  : 			}
; 979  : 			vehIndex = _wtoi(msg) -1;

	call	__wtoi
	add	esp, 4
	sub	eax, 1
$LN1@Activate@5:

; 1001 : 				return;
; 1002 : 			}
; 1003 : 		}
; 1004 : 		int vehID = pData->GetVehicleData()->GetBoundList()[vehIndex]->GetVehicleId();

	mov	ecx, DWORD PTR [esi+56]
	mov	edx, DWORD PTR [ecx+52]
	mov	eax, DWORD PTR [edx+eax*4]
	mov	esi, DWORD PTR [eax+36]

; 1005 : 		pData->GetVehicleData()->Unset(vehID, VO_LOCK);

	push	2
	push	esi
	call	?Unset@gzVehicleOwnerClass@@QAEHIH@Z	; gzVehicleOwnerClass::Unset

; 1006 : 		PagePlayer(sender, "Your vehicle(%s) has been unlocked.",
; 1007 : 			gzTranslator->Get(nc_GameObjManager::Find_SmartGameObj(vehID)->definition->Get_Name())
; 1008 : 		);

	push	esi
	call	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z ; nc_GameObjManager::Find_SmartGameObj
	mov	eax, DWORD PTR [eax+1724]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+48]
	add	esp, 4
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0CE@PCOGBKBF@Your?5vehicle?$CI?$CFs?$CJ?5has?5been?5unlock@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
$LN63@Activate@5:
	pop	edi
	pop	ebx
$LN17@Activate@5:
	pop	esi
	pop	ebp

; 1009 : 	}

	ret	20					; 00000014H
$LN10@Activate@5:

; 970  : 			{
; 971  : 				PagePlayer(sender, "Invalid vehicle index. For the list of your bound vehicle, type !vlist.");

	push	OFFSET ??_C@_0EI@MBFLCDFG@Invalid?5vehicle?5index?4?5For?5the?5l@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 1009 : 	}

	ret	20					; 00000014H
$LN12@Activate@5:

; 980  : 		}
; 981  : 		else
; 982  : 		{
; 983  : 			if (!pData->GetPlayerData()->Owner.Reference)

	mov	ecx, DWORD PTR [esi+72]
	mov	eax, DWORD PTR [ecx+20]
	test	eax, eax
	je	SHORT $LN63@Activate@5

; 984  : 				return;
; 985  : 			if (!pData->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle)

	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2444], 0
	jne	SHORT $LN6@Activate@5

; 986  : 			{
; 987  : 				PagePlayer(sender, "You must be in your bound vehicle to use this command or specify vehicle ID.");

	push	OFFSET ??_C@_0EN@OIDLBN@You?5must?5be?5in?5your?5bound?5vehicl@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 1009 : 	}

	ret	20					; 00000014H
$LN6@Activate@5:

; 988  : 				return;
; 989  : 			}
; 990  : 			for (unsigned int i = 0; i < pData->GetVehicleData()->GetBoundList().Count(); i++)

	mov	eax, DWORD PTR [esi+56]
	xor	edi, edi
	cmp	DWORD PTR [eax+60], edi
	jbe	SHORT $LN62@Activate@5
	npad	6
$LL5@Activate@5:

; 991  : 			{
; 992  : 				if (pData->GetVehicleData()->GetBoundList()[i]->GetVehicleId() == pData->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle->NetworkID)

	mov	ecx, DWORD PTR [esi+72]
	mov	edx, DWORD PTR [ecx+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [eax+52]
	mov	edx, DWORD PTR [eax+edi*4]
	mov	eax, DWORD PTR [ecx]
	mov	ebx, DWORD PTR [edx+36]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	mov	eax, DWORD PTR [eax+2444]
	cmp	ebx, DWORD PTR [eax+12]
	je	SHORT $LN60@Activate@5
	mov	eax, DWORD PTR [esi+56]
	add	edi, 1
	cmp	edi, DWORD PTR [eax+60]
	jb	SHORT $LL5@Activate@5

; 999  : 			{
; 1000 : 				PagePlayer(sender, "You're not the owner of the vehicle.");

	push	OFFSET ??_C@_0CF@DKPMJLOL@You?8re?5not?5the?5owner?5of?5the?5vehi@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 1009 : 	}

	ret	20					; 00000014H
$LN60@Activate@5:

; 993  : 				{
; 994  : 					vehIndex = i;
; 995  : 					break;
; 996  : 				}
; 997  : 			}
; 998  : 			if (vehIndex == -1)

	cmp	edi, -1
	mov	eax, edi
	jne	$LN1@Activate@5
$LN62@Activate@5:

; 999  : 			{
; 1000 : 				PagePlayer(sender, "You're not the owner of the vehicle.");

	push	OFFSET ??_C@_0CF@DKPMJLOL@You?8re?5not?5the?5owner?5of?5the?5vehi@
	push	ebp
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 1009 : 	}

	ret	20					; 00000014H
?Activate@gzChat_vehUnlock@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_vehUnlock::Activate
_TEXT	ENDS
PUBLIC	??_7gzChat_vehKick@@6B@				; gzChat_vehKick::`vftable'
PUBLIC	??0gzChat_vehKick@@QAE@XZ			; gzChat_vehKick::gzChat_vehKick
PUBLIC	??_R4gzChat_vehKick@@6B@			; gzChat_vehKick::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_vehKick@@@8			; gzChat_vehKick `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_vehKick@@8				; gzChat_vehKick::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_vehKick@@8				; gzChat_vehKick::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_vehKick@@8			; gzChat_vehKick::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_vehKick::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_vehKick@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_vehKick@@8 DD FLAT:??_R0?AVgzChat_vehKick@@@8 ; gzChat_vehKick::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_vehKick@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_vehKick@@8
rdata$r	SEGMENT
??_R2gzChat_vehKick@@8 DD FLAT:??_R1A@?0A@EA@gzChat_vehKick@@8 ; gzChat_vehKick::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_vehKick@@8
rdata$r	SEGMENT
??_R3gzChat_vehKick@@8 DD 00H				; gzChat_vehKick::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_vehKick@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_vehKick@@@8
_DATA	SEGMENT
??_R0?AVgzChat_vehKick@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_vehKick `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_vehKick@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_vehKick@@6B@
rdata$r	SEGMENT
??_R4gzChat_vehKick@@6B@ DD 00H				; gzChat_vehKick::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_vehKick@@@8
	DD	FLAT:??_R3gzChat_vehKick@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_vehKick@@6B@
CONST	SEGMENT
??_7gzChat_vehKick@@6B@ DD FLAT:??_R4gzChat_vehKick@@6B@ ; gzChat_vehKick::`vftable'
	DD	FLAT:?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_vehKick@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_vehKick@@QAE@XZ PROC				; gzChat_vehKick::gzChat_vehKick, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehKick@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_vehKick@@QAE@XZ ENDP				; gzChat_vehKick::gzChat_vehKick
_TEXT	ENDS
PUBLIC	??_C@_0BL@OJINCMOG@?$CFls?5is?5not?5in?5any?5vehicle?4?$AA@ ; `string'
PUBLIC	??_C@_0FI@BCANIBFL@You?8re?5being?5kicked?5and?5banned?5f@ ; `string'
PUBLIC	??_C@_0EP@JDDGKANN@?$CFls?5has?5been?5kicked?5from?5your?5ve@ ; `string'
PUBLIC	??_C@_0CC@OBCOKHCO@?$CFls?5is?5not?5in?5your?5bound?5vehicle@ ; `string'
PUBLIC	??_C@_0DD@MGCCPLG@You?5can?5not?5kick?5yourself?5from?5y@ ; `string'
PUBLIC	??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@	; `string'
PUBLIC	??_C@_0DG@FLNBANDE@Currently?5none?5is?5in?5your?5bound?5@ ; `string'
EXTRN	?Check@nc_TransitionManager@@SAXPAVnc_SoldierGameObj@@_N@Z:PROC ; nc_TransitionManager::Check
EXTRN	?Contain@aWideString@@QBE_NABV1@H_N@Z:PROC	; aWideString::Contain
EXTRN	?Compare@aWideString@@QBE_NABV1@H_N@Z:PROC	; aWideString::Compare
EXTRN	??0aWideString@@QAE@PB_W@Z:PROC			; aWideString::aWideString
EXTRN	?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A:DWORD ; nc_cPlayerManager::PlayerList
;	COMDAT ??_C@_0BL@OJINCMOG@?$CFls?5is?5not?5in?5any?5vehicle?4?$AA@
; File d:\source code\gzgm\gzplayer.h
CONST	SEGMENT
??_C@_0BL@OJINCMOG@?$CFls?5is?5not?5in?5any?5vehicle?4?$AA@ DB '%ls is no'
	DB	't in any vehicle.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0FI@BCANIBFL@You?8re?5being?5kicked?5and?5banned?5f@
CONST	SEGMENT
??_C@_0FI@BCANIBFL@You?8re?5being?5kicked?5and?5banned?5f@ DB 'You''re be'
	DB	'ing kicked and banned from your previously entered vehicle fo'
	DB	'r %.0f second(s).', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0EP@JDDGKANN@?$CFls?5has?5been?5kicked?5from?5your?5ve@
CONST	SEGMENT
??_C@_0EP@JDDGKANN@?$CFls?5has?5been?5kicked?5from?5your?5ve@ DB '%ls has'
	DB	' been kicked from your vehicle he was in and banned for %.0f '
	DB	'second(s).', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CC@OBCOKHCO@?$CFls?5is?5not?5in?5your?5bound?5vehicle@
CONST	SEGMENT
??_C@_0CC@OBCOKHCO@?$CFls?5is?5not?5in?5your?5bound?5vehicle@ DB '%ls is '
	DB	'not in your bound vehicle.', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0DD@MGCCPLG@You?5can?5not?5kick?5yourself?5from?5y@
CONST	SEGMENT
??_C@_0DD@MGCCPLG@You?5can?5not?5kick?5yourself?5from?5y@ DB 'You can not'
	DB	' kick yourself from your bound vehicle.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@
CONST	SEGMENT
??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@ DB '%ls not found.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DG@FLNBANDE@Currently?5none?5is?5in?5your?5bound?5@
CONST	SEGMENT
??_C@_0DG@FLNBANDE@Currently?5none?5is?5in?5your?5bound?5@ DB 'Currently '
	DB	'none is in your bound vehicle(s) as driver.', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$3
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$4
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$5
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
$T71951 = -101						; size = 1
$T71960 = -100						; size = 4
$T71958 = -96						; size = 8
_pData$ = -96						; size = 4
_pName$60043 = -88					; size = 8
$T71957 = -80						; size = 8
$T71956 = -80						; size = 8
$T71953 = -80						; size = 8
_newBan$60065 = -72					; size = 8
$T71952 = -72						; size = 8
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_vehKick::Activate, COMDAT
; _this$ = ecx

; 1014 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	push	-1
	push	__ehhandler$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 104				; 00000068H
	push	ebx
	xor	ebx, ebx

; 1015 : 		// Game mode check
; 1016 : 		switch (gzGameMgr->m_settings->m_GameMode)

	mov	DWORD PTR $T71960[esp+120], ebx
	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+56]
	mov	eax, DWORD PTR [eax+24]
	add	eax, -3					; fffffffdH
	cmp	eax, 3
	push	esi
	push	edi
	ja	SHORT $LN109@Activate@6

; 1017 : 		{
; 1018 : 			case GAMEMODE_INFONLY:
; 1019 : 			case GAMEMODE_SNIPER:
; 1020 : 			case GAMEMODE_500SNIP:
; 1021 : 			case GAMEMODE_DM:
; 1022 : 				PagePlayer(sender, "Vehicle commands are not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	call	?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ ; gzGameManager::GetGame
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+136]
	call	eax
	mov	esi, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0DE@LNFDBINF@Vehicle?5commands?5are?5not?5availab@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	jmp	SHORT $LN22@Activate@6
$LN109@Activate@6:
	mov	esi, DWORD PTR _sender$[ebp]
$LN22@Activate@6:

; 1023 : 		}
; 1024 : 
; 1025 : 		gzPlayer *pData = gzPlayerManager::Find(sender);

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

; 1026 : 		if (!pData)

	test	eax, eax
	mov	DWORD PTR _pData$[esp+128], eax
	je	$LN1@Activate@6

; 1027 : 			return;
; 1028 : 		gzPlayer *kicked = NULL;
; 1029 : 		if (!*msg)

	mov	edi, DWORD PTR _msg$[ebp]
	cmp	WORD PTR [edi], bx
	jne	SHORT $LN19@Activate@6

; 1030 : 		{
; 1031 : 			if (pData->GetVehicleData()->GetLastEnter())

	mov	eax, DWORD PTR [eax+56]
	cmp	DWORD PTR [eax+40], ebx
	je	SHORT $LN18@Activate@6

; 1032 : 				kicked = pData->GetVehicleData()->GetLastEnter();

	mov	esi, DWORD PTR [eax+40]

; 1036 : 				return;
; 1037 : 			}
; 1038 : 		}
; 1039 : 		else

	jmp	$LN13@Activate@6
$LN18@Activate@6:

; 1033 : 			else
; 1034 : 			{
; 1035 : 				PagePlayer(sender, "Currently none is in your bound vehicle(s) as driver.");

	push	OFFSET ??_C@_0DG@FLNBANDE@Currently?5none?5is?5in?5your?5bound?5@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1084 : 				}
; 1085 : 			}
; 1086 : 		}
; 1087 : 	}

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

; 1040 : 		{
; 1041 : 			for (nc_GenericSLNode<nc_cPlayer> *pList = nc_cPlayerManager::PlayerList->HeadNode; pList; pList = pList->NodeNext)

	mov	ecx, DWORD PTR ?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A ; nc_cPlayerManager::PlayerList
	mov	esi, DWORD PTR [ecx+4]
	test	esi, esi
	je	$LN108@Activate@6
$LN112@Activate@6:

; 1042 : 			{
; 1043 : 				if (pList && pList->NodeData->IsActive)

	mov	eax, DWORD PTR [esi+4]
	cmp	BYTE PTR [eax+1981], 0
	je	$LN14@Activate@6

; 1044 : 				{
; 1045 : 					aWideString pName = pList->NodeData->PlayerName.m_Buffer;

	mov	edx, DWORD PTR [eax+1880]
	push	edx
	lea	ecx, DWORD PTR _pName$60043[esp+132]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString

; 1046 : 					if (pName.Compare(msg) || pName.Contain(msg))

	push	edi
	lea	ecx, DWORD PTR $T71952[esp+132]
	mov	DWORD PTR __$EHRec$[esp+140], 0
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	push	0
	push	-1
	lea	eax, DWORD PTR $T71952[esp+136]
	or	ebx, 1
	push	eax
	lea	ecx, DWORD PTR _pName$60043[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 1
	mov	DWORD PTR $T71960[esp+140], ebx
	call	?Compare@aWideString@@QBE_NABV1@H_N@Z	; aWideString::Compare
	test	al, al
	jne	SHORT $LN26@Activate@6
	push	edi
	lea	ecx, DWORD PTR $T71953[esp+132]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	push	0
	push	-1
	lea	ecx, DWORD PTR $T71953[esp+136]
	push	ecx
	or	ebx, 2
	lea	ecx, DWORD PTR _pName$60043[esp+140]
	mov	DWORD PTR __$EHRec$[esp+148], 2
	mov	DWORD PTR $T71960[esp+140], ebx
	call	?Contain@aWideString@@QBE_NABV1@H_N@Z	; aWideString::Contain
	test	al, al
	mov	BYTE PTR $T71951[esp+128], 0
	je	SHORT $LN27@Activate@6
$LN26@Activate@6:
	mov	BYTE PTR $T71951[esp+128], 1
$LN27@Activate@6:
	test	bl, 2
	mov	DWORD PTR __$EHRec$[esp+136], 1
	je	SHORT $LN33@Activate@6
	and	ebx, -3					; fffffffdH
	lea	ecx, DWORD PTR $T71953[esp+128]
	mov	DWORD PTR $T71960[esp+128], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN33@Activate@6:
	test	bl, 1
	mov	DWORD PTR __$EHRec$[esp+136], 0
	je	SHORT $LN34@Activate@6
	lea	ecx, DWORD PTR $T71952[esp+128]
	and	ebx, -2					; fffffffeH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN34@Activate@6:
	cmp	BYTE PTR $T71951[esp+128], 0
	jne	SHORT $LN106@Activate@6

; 1050 : 					}
; 1051 : 				}

	lea	ecx, DWORD PTR _pName$60043[esp+128]
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN14@Activate@6:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	$LN112@Activate@6

; 1046 : 					if (pName.Compare(msg) || pName.Contain(msg))

	jmp	SHORT $LN108@Activate@6
$LN106@Activate@6:

; 1047 : 					{
; 1048 : 						kicked = gzPlayerMgr->Find(pList->NodeData);

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

; 1049 : 						break;

	lea	ecx, DWORD PTR _pName$60043[esp+128]
	mov	esi, eax
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN13@Activate@6:

; 1052 : 			}
; 1053 : 		}
; 1054 : 		if (!kicked)

	test	esi, esi
	jne	SHORT $LN10@Activate@6
$LN108@Activate@6:

; 1055 : 			PagePlayer(sender, "%ls not found.", msg);

	mov	eax, DWORD PTR _sender$[ebp]
	push	edi
	push	OFFSET ??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH

; 1084 : 				}
; 1085 : 			}
; 1086 : 		}
; 1087 : 	}

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

; 1056 : 
; 1057 : 		else if (!kicked->GetPlayerData()->Owner.Reference || !kicked->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle)

	mov	eax, DWORD PTR [esi+72]
	cmp	DWORD PTR [eax+20], 0
	je	$LN7@Activate@6
	mov	ecx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2444], 0
	je	$LN7@Activate@6

; 1059 : 
; 1060 : 		else if (pData == kicked)

	mov	edi, DWORD PTR _pData$[esp+128]
	cmp	edi, esi
	jne	SHORT $LN5@Activate@6

; 1061 : 			PagePlayer(sender, "You can not kick yourself from your bound vehicle.");

	mov	ecx, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0DD@MGCCPLG@You?5can?5not?5kick?5yourself?5from?5y@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1084 : 				}
; 1085 : 			}
; 1086 : 		}
; 1087 : 	}

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

; 1062 : 
; 1063 : 		else
; 1064 : 		{
; 1065 : 			gzVehicleData *vehData = gzVehicleMgr->Find(kicked->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle->NetworkID);

	mov	eax, DWORD PTR [esi+72]
	mov	edx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	mov	eax, DWORD PTR [eax+2444]
	mov	ecx, DWORD PTR [eax+12]
	push	ecx
	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	call	?Find@gzManagerVehicle@@QAEPAVgzVehicleData@@K@Z ; gzManagerVehicle::Find
	mov	ebx, eax

; 1066 : 			if (vehData)

	test	ebx, ebx
	je	$LN1@Activate@6

; 1067 : 			{
; 1068 : 				if (vehData->GetOwner() != pData)

	cmp	DWORD PTR [ebx+40], edi
	je	SHORT $LN2@Activate@6

; 1069 : 					PagePlayer(sender, "%ls is not in your bound vehicle.", kicked->GetPlayerName().GetString());

	lea	edx, DWORD PTR $T71957[esp+128]
	push	edx
	mov	ecx, esi
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+136], 4
	je	SHORT $LN77@Activate@6
	mov	eax, DWORD PTR [eax]
	push	eax
	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0CC@OBCOKHCO@?$CFls?5is?5not?5in?5your?5bound?5vehicle@
	push	eax

; 1070 : 				else

	jmp	$LN113@Activate@6

; 1069 : 					PagePlayer(sender, "%ls is not in your bound vehicle.", kicked->GetPlayerName().GetString());

$LN77@Activate@6:
	xor	eax, eax
	push	eax
	mov	eax, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0CC@OBCOKHCO@?$CFls?5is?5not?5in?5your?5bound?5vehicle@
	push	eax

; 1070 : 				else

	jmp	$LN113@Activate@6
$LN2@Activate@6:

; 1071 : 				{
; 1072 : 					nc_TransitionManager::Check(kicked->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj(), true);

	mov	eax, DWORD PTR [esi+72]
	mov	ecx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	push	1
	call	eax
	push	eax
	call	?Check@nc_TransitionManager@@SAXPAVnc_SoldierGameObj@@_N@Z ; nc_TransitionManager::Check

; 1073 : 					gzVehicleOwnerBanData newBan;
; 1074 : 					newBan.Counter = gzVehicleMgr->GetSettings()->m_kickTime;

	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [ecx+40]
	fld	DWORD PTR [eax+96]

; 1075 : 					newBan.m_owner = kicked;
; 1076 : 					vehData->GetBanList().Add(newBan);

	mov	edx, DWORD PTR [ebx+64]
	mov	edx, DWORD PTR [edx+12]
	fstp	DWORD PTR _newBan$60065[esp+140]
	lea	ecx, DWORD PTR [ebx+64]
	add	esp, 8
	lea	eax, DWORD PTR _newBan$60065[esp+128]
	push	eax
	mov	DWORD PTR _newBan$60065[esp+132], esi
	call	edx

; 1077 : 					PagePlayer(sender, "%ls has been kicked from your vehicle he was in and banned for %.0f second(s).",
; 1078 : 						kicked->GetPlayerName().GetString(),
; 1079 : 						gzVehicleMgr->GetSettings()->m_kickTime
; 1080 : 					);

	lea	eax, DWORD PTR $T71958[esp+128]
	push	eax
	mov	ecx, esi
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	ecx, DWORD PTR [ecx+40]
	mov	DWORD PTR __$EHRec$[esp+136], 5
	je	SHORT $LN94@Activate@6
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN95@Activate@6
$LN94@Activate@6:
	xor	eax, eax
$LN95@Activate@6:
	fld	DWORD PTR [ecx+96]
	mov	edx, DWORD PTR _sender$[ebp]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	eax
	push	OFFSET ??_C@_0EP@JDDGKANN@?$CFls?5has?5been?5kicked?5from?5your?5ve@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 20					; 00000014H
	lea	ecx, DWORD PTR $T71958[esp+128]
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1081 : 					PagePlayer(kicked->GetPlayerData()->PlayerId, "You're being kicked and banned from your previously entered vehicle for %.0f second(s).",
; 1082 : 						gzVehicleMgr->GetSettings()->m_kickTime
; 1083 : 					);

	mov	eax, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	ecx, DWORD PTR [eax+40]
	fld	DWORD PTR [ecx+96]
	mov	edx, DWORD PTR [esi+72]
	mov	eax, DWORD PTR [edx+1884]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	OFFSET ??_C@_0FI@BCANIBFL@You?8re?5being?5kicked?5and?5banned?5f@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H

; 1084 : 				}
; 1085 : 			}
; 1086 : 		}
; 1087 : 	}

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

; 1058 : 			PagePlayer(sender, "%ls is not in any vehicle.", kicked->GetPlayerName().GetString());

	lea	ecx, DWORD PTR $T71956[esp+128]
	push	ecx
	mov	ecx, esi
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+136], 3
	je	SHORT $LN64@Activate@6
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN65@Activate@6
$LN64@Activate@6:
	xor	eax, eax
$LN65@Activate@6:
	mov	edx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0BL@OJINCMOG@?$CFls?5is?5not?5in?5any?5vehicle?4?$AA@
	push	edx
$LN113@Activate@6:
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T71956[esp+128]
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@Activate@6:

; 1084 : 				}
; 1085 : 			}
; 1086 : 		}
; 1087 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR _pName$60043[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$1:
	mov	eax, DWORD PTR $T71960[ebp]
	and	eax, 1
	je	$LN30@Activate@6
	and	DWORD PTR $T71960[ebp], -2		; fffffffeH
	lea	ecx, DWORD PTR $T71952[ebp]
	jmp	??1aWideString@@UAE@XZ
$LN30@Activate@6:
	ret	0
__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$2:
	mov	eax, DWORD PTR $T71960[ebp]
	and	eax, 2
	je	$LN32@Activate@6
	and	DWORD PTR $T71960[ebp], -3		; fffffffdH
	lea	ecx, DWORD PTR $T71953[ebp]
	jmp	??1aWideString@@UAE@XZ
$LN32@Activate@6:
	ret	0
__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$4:
	lea	ecx, DWORD PTR $T71957[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$5:
	lea	ecx, DWORD PTR $T71958[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z$3:
	lea	ecx, DWORD PTR $T71956[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_vehKick@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_vehKick::Activate
PUBLIC	??_7gzChat_vehList@@6B@				; gzChat_vehList::`vftable'
PUBLIC	??0gzChat_vehList@@QAE@XZ			; gzChat_vehList::gzChat_vehList
PUBLIC	??_R4gzChat_vehList@@6B@			; gzChat_vehList::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_vehList@@@8			; gzChat_vehList `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_vehList@@8				; gzChat_vehList::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_vehList@@8				; gzChat_vehList::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_vehList@@8			; gzChat_vehList::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_vehList::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_vehList@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_vehList@@8 DD FLAT:??_R0?AVgzChat_vehList@@@8 ; gzChat_vehList::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_vehList@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_vehList@@8
rdata$r	SEGMENT
??_R2gzChat_vehList@@8 DD FLAT:??_R1A@?0A@EA@gzChat_vehList@@8 ; gzChat_vehList::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_vehList@@8
rdata$r	SEGMENT
??_R3gzChat_vehList@@8 DD 00H				; gzChat_vehList::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_vehList@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_vehList@@@8
_DATA	SEGMENT
??_R0?AVgzChat_vehList@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_vehList `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_vehList@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_vehList@@6B@
rdata$r	SEGMENT
??_R4gzChat_vehList@@6B@ DD 00H				; gzChat_vehList::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_vehList@@@8
	DD	FLAT:??_R3gzChat_vehList@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_vehList@@6B@
CONST	SEGMENT
??_7gzChat_vehList@@6B@ DD FLAT:??_R4gzChat_vehList@@6B@ ; gzChat_vehList::`vftable'
	DD	FLAT:?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_vehList@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_vehList@@QAE@XZ PROC				; gzChat_vehList::gzChat_vehList, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehList@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_vehList@@QAE@XZ ENDP				; gzChat_vehList::gzChat_vehList
_TEXT	ENDS
PUBLIC	??_C@_0BL@ONBGAMDM@You?5have?5no?5bound?5vehicle?4?$AA@ ; `string'
PUBLIC	??_C@_0CG@OEDCLEIH@Your?5bound?5enemy?5vehicle?$CI?$CFd?1?$CFd?$CJ?3@ ; `string'
PUBLIC	??_C@_0CF@IMBHMEI@Your?5bound?5enemy?5vehicle?$CI?$CFd?1?$CFd?$CJ?3@ ; `string'
PUBLIC	??_C@_0CF@EOBGIGNL@Your?5bound?5team?5vehicle?$CI?$CFd?1?$CFd?$CJ?3?5@ ; `string'
PUBLIC	??_C@_0CE@CGLPHPCG@Your?5bound?5team?5vehicle?$CI?$CFd?1?$CFd?$CJ?3?5@ ; `string'
PUBLIC	??_C@_0N@EJAKEKNP@?$CFs?$CIID?3?5?$CFd?$CJ?0?5?$AA@ ; `string'
EXTRN	?Resize@aStringBase@@QAEXI@Z:PROC		; aStringBase::Resize
EXTRN	?GetLength@aStringBase@@QBEIXZ:PROC		; aStringBase::GetLength
EXTRN	?Format@aString@@SA?AV1@PBDZZ:PROC		; aString::Format
;	COMDAT ??_C@_0BL@ONBGAMDM@You?5have?5no?5bound?5vehicle?4?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BL@ONBGAMDM@You?5have?5no?5bound?5vehicle?4?$AA@ DB 'You have no b'
	DB	'ound vehicle.', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CG@OEDCLEIH@Your?5bound?5enemy?5vehicle?$CI?$CFd?1?$CFd?$CJ?3@
CONST	SEGMENT
??_C@_0CG@OEDCLEIH@Your?5bound?5enemy?5vehicle?$CI?$CFd?1?$CFd?$CJ?3@ DB 'Y'
	DB	'our bound enemy vehicle(%d/%d): None', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CF@IMBHMEI@Your?5bound?5enemy?5vehicle?$CI?$CFd?1?$CFd?$CJ?3@
CONST	SEGMENT
??_C@_0CF@IMBHMEI@Your?5bound?5enemy?5vehicle?$CI?$CFd?1?$CFd?$CJ?3@ DB 'Y'
	DB	'our bound enemy vehicle(%d/%d): %s.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CF@EOBGIGNL@Your?5bound?5team?5vehicle?$CI?$CFd?1?$CFd?$CJ?3?5@
CONST	SEGMENT
??_C@_0CF@EOBGIGNL@Your?5bound?5team?5vehicle?$CI?$CFd?1?$CFd?$CJ?3?5@ DB 'Y'
	DB	'our bound team vehicle(%d/%d): None', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CE@CGLPHPCG@Your?5bound?5team?5vehicle?$CI?$CFd?1?$CFd?$CJ?3?5@
CONST	SEGMENT
??_C@_0CE@CGLPHPCG@Your?5bound?5team?5vehicle?$CI?$CFd?1?$CFd?$CJ?3?5@ DB 'Y'
	DB	'our bound team vehicle(%d/%d): %s.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@EJAKEKNP@?$CFs?$CIID?3?5?$CFd?$CJ?0?5?$AA@
CONST	SEGMENT
??_C@_0N@EJAKEKNP@?$CFs?$CIID?3?5?$CFd?$CJ?0?5?$AA@ DB '%s(ID: %d), ', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z$2
	DD	01H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z$3
__ehfuncinfo$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
tv446 = -60						; size = 4
_teamCount$ = -56					; size = 4
_enemyCount$ = -52					; size = 4
_Enemy$ = -48						; size = 8
_Team$ = -40						; size = 8
$T72117 = -32						; size = 8
$T72118 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_vehList::Activate, COMDAT
; _this$ = ecx

; 1092 : 	{

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

; 1093 : 		gzPlayer *pData = gzPlayerManager::Find(sender);

	mov	esi, DWORD PTR _sender$[ebp]
	push	edi
	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	ebx, eax

; 1094 : 		if (!pData)

	xor	edi, edi
	add	esp, 4
	cmp	ebx, edi
	je	$LN14@Activate@7

; 1095 : 			return;
; 1096 : 		aString Team, Enemy;

	lea	ecx, DWORD PTR _Team$[esp+72]
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR _Enemy$[esp+72]
	mov	DWORD PTR __$EHRec$[esp+80], edi
	call	??0aString@@QAE@XZ			; aString::aString

; 1097 : 		int teamCount = 0, enemyCount = 0;
; 1098 : 		for (unsigned int i = 0; i < pData->GetVehicleData()->GetBoundList().Count(); i++)

	mov	eax, DWORD PTR [ebx+56]
	mov	ecx, DWORD PTR [eax+60]
	xor	edx, edx
	cmp	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+80], 1
	mov	DWORD PTR _teamCount$[esp+72], edx
	mov	DWORD PTR _enemyCount$[esp+72], edi
	jbe	$LN10@Activate@7
	lea	edi, DWORD PTR [edx+1]
	mov	DWORD PTR tv446[esp+72], edx
$LN12@Activate@7:

; 1099 : 		{
; 1100 : 			if (nc_GameObjManager::Find_SmartGameObj(pData->GetVehicleData()->GetBoundList()[i]->GetVehicleId()))

	mov	eax, DWORD PTR [eax+52]
	add	eax, DWORD PTR tv446[esp+72]
	mov	eax, DWORD PTR [eax]
	mov	eax, DWORD PTR [eax+36]
	push	eax
	call	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z ; nc_GameObjManager::Find_SmartGameObj
	add	esp, 4
	test	eax, eax
	je	$LN11@Activate@7

; 1101 : 			{
; 1102 : 				nc_VehicleGameObjDef *Def = (nc_VehicleGameObjDef *)nc_GameObjManager::Find_SmartGameObj(pData->GetVehicleData()->GetBoundList()[i]->GetVehicleId())->definition;

	mov	eax, DWORD PTR [ebx+56]
	mov	eax, DWORD PTR [eax+52]
	add	eax, DWORD PTR tv446[esp+72]
	mov	ecx, DWORD PTR [eax]
	mov	eax, DWORD PTR [ecx+36]
	push	eax
	call	?Find_SmartGameObj@nc_GameObjManager@@SAPAVnc_SmartGameObj@@H@Z ; nc_GameObjManager::Find_SmartGameObj
	mov	esi, DWORD PTR [eax+1724]

; 1103 : 				if (Def->PlayerType == pData->GetPlayerData()->PlayerType.Get())

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

; 1104 : 				{
; 1105 : 					Team += aString::Format("%s(ID: %d), ", gzTranslator->Get(Def->Get_Name()), i + 1);

	mov	edx, DWORD PTR [esi]
	cmp	DWORD PTR [esi+128], eax
	mov	eax, DWORD PTR [edx+48]
	push	edi
	mov	ecx, esi
	jne	SHORT $LN8@Activate@7
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	lea	ecx, DWORD PTR $T72117[esp+80]
	push	OFFSET ??_C@_0N@EJAKEKNP@?$CFs?$CIID?3?5?$CFd?$CJ?0?5?$AA@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	push	eax
	lea	ecx, DWORD PTR _Team$[esp+76]
	mov	BYTE PTR __$EHRec$[esp+84], 2
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T72117[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1106 : 					teamCount++;

	add	DWORD PTR _teamCount$[esp+72], 1

; 1107 : 				}
; 1108 : 				else

	jmp	SHORT $LN80@Activate@7
$LN8@Activate@7:

; 1109 : 				{
; 1110 : 					Enemy += aString::Format("%s(ID: %d), ", gzTranslator->Get(Def->Get_Name()), i + 1);

	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	lea	ecx, DWORD PTR $T72118[esp+80]
	push	OFFSET ??_C@_0N@EJAKEKNP@?$CFs?$CIID?3?5?$CFd?$CJ?0?5?$AA@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	push	eax
	lea	ecx, DWORD PTR _Enemy$[esp+76]
	mov	BYTE PTR __$EHRec$[esp+84], 3
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T72118[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1111 : 					enemyCount++;

	add	DWORD PTR _enemyCount$[esp+72], 1
$LN80@Activate@7:
	mov	esi, DWORD PTR _sender$[ebp]
$LN11@Activate@7:

; 1097 : 		int teamCount = 0, enemyCount = 0;
; 1098 : 		for (unsigned int i = 0; i < pData->GetVehicleData()->GetBoundList().Count(); i++)

	mov	eax, DWORD PTR [ebx+56]
	mov	ecx, DWORD PTR [eax+60]
	add	DWORD PTR tv446[esp+72], 4
	add	edi, 1
	lea	edx, DWORD PTR [edi-1]
	cmp	edx, ecx
	jb	$LN12@Activate@7
	mov	edx, DWORD PTR _teamCount$[esp+72]
$LN10@Activate@7:

; 1112 : 				}
; 1113 : 			}
; 1114 : 		}
; 1115 : 		if ((teamCount + enemyCount) > 0)

	mov	eax, DWORD PTR _enemyCount$[esp+72]
	add	eax, edx
	test	eax, eax
	jle	$LN6@Activate@7

; 1116 : 		{
; 1117 : 			if (teamCount > 0)

	test	edx, edx
	jle	SHORT $LN5@Activate@7

; 1118 : 			{
; 1119 : 				Team.Resize(Team.GetLength() -2);

	lea	ecx, DWORD PTR _Team$[esp+72]
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	sub	eax, 2
	push	eax
	lea	ecx, DWORD PTR _Team$[esp+76]
	call	?Resize@aStringBase@@QAEXI@Z		; aStringBase::Resize

; 1120 : 				PagePlayer(sender, "Your bound team vehicle(%d/%d): %s.",
; 1121 : 					teamCount,
; 1122 : 					gzVehicleMgr->GetSettings()->m_maxTeamVehicle,
; 1123 : 					Team.GetString()
; 1124 : 				);

	mov	eax, DWORD PTR _Team$[esp+76]
	test	eax, eax
	je	SHORT $LN52@Activate@7
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN53@Activate@7
$LN52@Activate@7:
	xor	ecx, ecx
$LN53@Activate@7:
	mov	edx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [edx+40]
	mov	eax, DWORD PTR [eax+60]
	push	ecx
	mov	ecx, DWORD PTR _teamCount$[esp+76]
	push	eax
	push	ecx
	push	OFFSET ??_C@_0CE@CGLPHPCG@Your?5bound?5team?5vehicle?$CI?$CFd?1?$CFd?$CJ?3?5@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 20					; 00000014H

; 1125 : 			}
; 1126 : 			else

	jmp	SHORT $LN4@Activate@7
$LN5@Activate@7:

; 1127 : 			{
; 1128 : 				PagePlayer(sender, "Your bound team vehicle(%d/%d): None",
; 1129 : 					teamCount,
; 1130 : 					gzVehicleMgr->GetSettings()->m_maxTeamVehicle
; 1131 : 				);

	mov	eax, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [eax+40]
	mov	ecx, DWORD PTR [eax+60]
	push	ecx
	push	edx
	push	OFFSET ??_C@_0CF@EOBGIGNL@Your?5bound?5team?5vehicle?$CI?$CFd?1?$CFd?$CJ?3?5@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H
$LN4@Activate@7:

; 1132 : 			}
; 1133 : 			if (enemyCount > 0)

	mov	edi, DWORD PTR _enemyCount$[esp+72]
	test	edi, edi
	jle	SHORT $LN3@Activate@7

; 1134 : 			{
; 1135 : 				Enemy.Resize(Enemy.GetLength() -2);

	lea	ecx, DWORD PTR _Enemy$[esp+72]
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	sub	eax, 2
	push	eax
	lea	ecx, DWORD PTR _Enemy$[esp+76]
	call	?Resize@aStringBase@@QAEXI@Z		; aStringBase::Resize

; 1136 : 				PagePlayer(sender, "Your bound enemy vehicle(%d/%d): %s.",
; 1137 : 					enemyCount,
; 1138 : 					gzVehicleMgr->GetSettings()->m_maxEnemyVehicle,
; 1139 : 					Enemy.GetString()
; 1140 : 				);

	mov	eax, DWORD PTR _Enemy$[esp+76]
	test	eax, eax
	je	SHORT $LN62@Activate@7
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN63@Activate@7
$LN62@Activate@7:
	xor	ecx, ecx
$LN63@Activate@7:
	mov	edx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [edx+40]
	mov	eax, DWORD PTR [eax+56]
	push	ecx
	push	eax
	push	edi
	push	OFFSET ??_C@_0CF@IMBHMEI@Your?5bound?5enemy?5vehicle?$CI?$CFd?1?$CFd?$CJ?3@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 20					; 00000014H

; 1141 : 			}
; 1142 : 			else

	jmp	SHORT $LN1@Activate@7
$LN3@Activate@7:

; 1143 : 			{
; 1144 : 				PagePlayer(sender, "Your bound enemy vehicle(%d/%d): None",
; 1145 : 					enemyCount,
; 1146 : 					gzVehicleMgr->GetSettings()->m_maxEnemyVehicle
; 1147 : 				);

	mov	ecx, DWORD PTR ?gzVehicleMgr@@3PAVgzManagerVehicle@@A ; gzVehicleMgr
	mov	eax, DWORD PTR [ecx+40]
	mov	edx, DWORD PTR [eax+56]
	push	edx
	push	edi
	push	OFFSET ??_C@_0CG@OEDCLEIH@Your?5bound?5enemy?5vehicle?$CI?$CFd?1?$CFd?$CJ?3@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H

; 1148 : 			}
; 1149 : 		}
; 1150 : 		else

	jmp	SHORT $LN1@Activate@7
$LN6@Activate@7:

; 1151 : 			PagePlayer(sender, "You have no bound vehicle.");

	push	OFFSET ??_C@_0BL@ONBGAMDM@You?5have?5no?5bound?5vehicle?4?$AA@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN1@Activate@7:

; 1152 : 	}

	lea	ecx, DWORD PTR _Enemy$[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR _Team$[esp+72]
	mov	DWORD PTR __$EHRec$[esp+80], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN14@Activate@7:
	mov	ecx, DWORD PTR __$EHRec$[esp+72]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR _Team$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR _Enemy$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z$2:
	lea	ecx, DWORD PTR $T72117[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z$3:
	lea	ecx, DWORD PTR $T72118[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_vehList@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_vehList::Activate
PUBLIC	??_7gzChat_vehStatus@@6B@			; gzChat_vehStatus::`vftable'
PUBLIC	??0gzChat_vehStatus@@QAE@XZ			; gzChat_vehStatus::gzChat_vehStatus
PUBLIC	??_R4gzChat_vehStatus@@6B@			; gzChat_vehStatus::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_vehStatus@@@8			; gzChat_vehStatus `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_vehStatus@@8			; gzChat_vehStatus::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_vehStatus@@8			; gzChat_vehStatus::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_vehStatus@@8		; gzChat_vehStatus::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_vehStatus::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_vehStatus@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_vehStatus@@8 DD FLAT:??_R0?AVgzChat_vehStatus@@@8 ; gzChat_vehStatus::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_vehStatus@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_vehStatus@@8
rdata$r	SEGMENT
??_R2gzChat_vehStatus@@8 DD FLAT:??_R1A@?0A@EA@gzChat_vehStatus@@8 ; gzChat_vehStatus::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_vehStatus@@8
rdata$r	SEGMENT
??_R3gzChat_vehStatus@@8 DD 00H				; gzChat_vehStatus::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_vehStatus@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_vehStatus@@@8
_DATA	SEGMENT
??_R0?AVgzChat_vehStatus@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_vehStatus `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_vehStatus@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_vehStatus@@6B@
rdata$r	SEGMENT
??_R4gzChat_vehStatus@@6B@ DD 00H			; gzChat_vehStatus::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_vehStatus@@@8
	DD	FLAT:??_R3gzChat_vehStatus@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_vehStatus@@6B@
CONST	SEGMENT
??_7gzChat_vehStatus@@6B@ DD FLAT:??_R4gzChat_vehStatus@@6B@ ; gzChat_vehStatus::`vftable'
	DD	FLAT:?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_vehStatus@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_vehStatus@@QAE@XZ PROC			; gzChat_vehStatus::gzChat_vehStatus, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehStatus@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_vehStatus@@QAE@XZ ENDP			; gzChat_vehStatus::gzChat_vehStatus
_TEXT	ENDS
PUBLIC	??_C@_0BI@JLNDEJOO@Driver?3?5?$CFS?5?9?5Gunner?3?5?$CFS?$AA@ ; `string'
PUBLIC	??_C@_19KLMLHLJG@?$AAN?$AAo?$AAn?$AAe?$AA?$AA@	; `string'
PUBLIC	??_C@_0BD@EPECMBHE@Seat?5?$CD?$CFd?3?5Empty?5?9?5?$AA@ ; `string'
PUBLIC	??_C@_0BA@LBAGGIJD@Seat?5?$CD?$CFd?3?5?$CFS?5?9?5?$AA@ ; `string'
PUBLIC	??_C@_0DN@KKLJBPJP@Vehicle?5status?3?5?$CFs?5?9?5Health?3?5?$CF?40@ ; `string'
EXTRN	?Get_Actual_Gunner@nc_VehicleGameObj@@QAEPAVnc_SoldierGameObj@@XZ:PROC ; nc_VehicleGameObj::Get_Actual_Gunner
EXTRN	?Find_Soldier_Of_Client_ID@nc_GameObjManager@@SAPAVnc_SoldierGameObj@@H@Z:PROC ; nc_GameObjManager::Find_Soldier_Of_Client_ID
;	COMDAT ??_C@_0BI@JLNDEJOO@Driver?3?5?$CFS?5?9?5Gunner?3?5?$CFS?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BI@JLNDEJOO@Driver?3?5?$CFS?5?9?5Gunner?3?5?$CFS?$AA@ DB 'Driver: '
	DB	'%S - Gunner: %S', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_19KLMLHLJG@?$AAN?$AAo?$AAn?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_19KLMLHLJG@?$AAN?$AAo?$AAn?$AAe?$AA?$AA@ DB 'N', 00H, 'o', 00H, 'n', 00H
	DB	'e', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@EPECMBHE@Seat?5?$CD?$CFd?3?5Empty?5?9?5?$AA@
CONST	SEGMENT
??_C@_0BD@EPECMBHE@Seat?5?$CD?$CFd?3?5Empty?5?9?5?$AA@ DB 'Seat #%d: Empt'
	DB	'y - ', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@LBAGGIJD@Seat?5?$CD?$CFd?3?5?$CFS?5?9?5?$AA@
CONST	SEGMENT
??_C@_0BA@LBAGGIJD@Seat?5?$CD?$CFd?3?5?$CFS?5?9?5?$AA@ DB 'Seat #%d: %S -'
	DB	' ', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0DN@KKLJBPJP@Vehicle?5status?3?5?$CFs?5?9?5Health?3?5?$CF?40@
CONST	SEGMENT
??_C@_0DN@KKLJBPJP@Vehicle?5status?3?5?$CFs?5?9?5Health?3?5?$CF?40@ DB 'V'
	DB	'ehicle status: %s - Health: %.0f/%.0f - Armor: %.0f/%.0f - ', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z$2
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z$3
__ehfuncinfo$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
_reply$ = -88						; size = 8
$T72244 = -80						; size = 8
$T72250 = -72						; size = 8
$T72245 = -72						; size = 8
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_vehStatus::Activate, COMDAT
; _this$ = ecx

; 1157 : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z
	push	eax
	mov	DWORD PTR fs:0, esp

; 1158 : 		// Game mode check
; 1159 : 		switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+56]
	mov	eax, DWORD PTR [eax+24]
	sub	esp, 104				; 00000068H
	push	ebx
	add	eax, -3					; fffffffdH
	cmp	eax, 3
	push	esi
	push	edi
	ja	SHORT $LN55@Activate@8

; 1160 : 		{
; 1161 : 			case GAMEMODE_INFONLY:
; 1162 : 			case GAMEMODE_SNIPER:
; 1163 : 			case GAMEMODE_500SNIP:
; 1164 : 			case GAMEMODE_DM:
; 1165 : 				PagePlayer(sender, "Vehicle commands are not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	call	?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ ; gzGameManager::GetGame
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+136]
	call	eax
	mov	ebx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0DE@LNFDBINF@Vehicle?5commands?5are?5not?5availab@
	push	ebx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	jmp	SHORT $LN9@Activate@8
$LN55@Activate@8:
	mov	ebx, DWORD PTR _sender$[ebp]
$LN9@Activate@8:

; 1166 : 		}
; 1167 : 
; 1168 : 		nc_SoldierGameObj *soldier = nc_GameObjManager::Find_Soldier_Of_Client_ID(sender);

	push	ebx
	call	?Find_Soldier_Of_Client_ID@nc_GameObjManager@@SAPAVnc_SoldierGameObj@@H@Z ; nc_GameObjManager::Find_Soldier_Of_Client_ID
	mov	edi, eax
	add	esp, 4

; 1169 : 		if (!soldier)

	test	edi, edi
	je	$LN11@Activate@8

; 1170 : 			return;
; 1171 : 		if (!soldier->Vehicle)

	mov	eax, DWORD PTR [edi+2444]
	test	eax, eax
	jne	SHORT $LN6@Activate@8

; 1172 : 		{
; 1173 : 			PagePlayer(sender, "You must be in a vehicle to use this command.");

	push	OFFSET ??_C@_0CO@CEBANEEB@You?5must?5be?5in?5a?5vehicle?5to?5use?5@
	push	ebx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1195 : 	}

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

; 1174 : 			return;
; 1175 : 		}
; 1176 : 		aString reply = aString::Format("Vehicle status: %s - Health: %.0f/%.0f - Armor: %.0f/%.0f - ",
; 1177 : 			gzTranslator->Get(soldier->Vehicle->definition->Get_Name()),
; 1178 : 			soldier->Vehicle->Defense.Health.Get(),
; 1179 : 			soldier->Vehicle->Defense.HealthMax.Get(),
; 1180 : 			soldier->Vehicle->Defense.ShieldStrength.Get(),
; 1181 : 			soldier->Vehicle->Defense.ShieldStrengthMax.Get()
; 1182 : 		);

	mov	ecx, eax
	mov	esi, DWORD PTR [ecx+1724]
	lea	ecx, DWORD PTR [eax+1856]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR [edi+2444]
	sub	esp, 8
	add	ecx, 1852				; 0000073cH
	fstp	QWORD PTR [esp]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR [edi+2444]
	sub	esp, 8
	add	ecx, 1844				; 00000734H
	fstp	QWORD PTR [esp]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR [edi+2444]
	sub	esp, 8
	add	ecx, 1840				; 00000730H
	fstp	QWORD PTR [esp]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+48]
	sub	esp, 8
	mov	ecx, esi
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	lea	ecx, DWORD PTR _reply$[esp+164]
	push	OFFSET ??_C@_0DN@KKLJBPJP@Vehicle?5status?3?5?$CFs?5?9?5Health?3?5?$CF?40@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 44					; 0000002cH

; 1183 : 		for (int i = 0; i < soldier->Vehicle->SeatsList.Length(); i++)

	mov	eax, DWORD PTR [edi+2444]
	cmp	DWORD PTR [eax+2484], 0
	mov	DWORD PTR __$EHRec$[esp+136], 0
	jle	$LN3@Activate@8
	mov	esi, 1
	xor	ebx, ebx
	npad	12
$LL5@Activate@8:

; 1184 : 		{
; 1185 : 			if (soldier->Vehicle->SeatsList[i] && soldier->Vehicle->SeatsList[i]->Player)

	mov	edx, DWORD PTR [eax+2480]
	cmp	DWORD PTR [ebx+edx], 0
	lea	ecx, DWORD PTR [ebx+edx]
	je	SHORT $LN2@Activate@8
	mov	ecx, DWORD PTR [ecx]
	cmp	DWORD PTR [ecx+2400], 0
	je	SHORT $LN2@Activate@8

; 1186 : 				reply += aString::Format("Seat #%d: %S - ", i +1, soldier->Vehicle->SeatsList[i]->Player->PlayerName.m_Buffer);

	mov	eax, edx
	mov	edx, DWORD PTR [eax+ebx]
	add	eax, ebx
	mov	eax, DWORD PTR [edx+2400]
	mov	ecx, DWORD PTR [eax+1880]
	push	ecx
	push	esi
	lea	edx, DWORD PTR $T72244[esp+136]
	push	OFFSET ??_C@_0BA@LBAGGIJD@Seat?5?$CD?$CFd?3?5?$CFS?5?9?5?$AA@
	push	edx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	push	eax
	lea	ecx, DWORD PTR _reply$[esp+132]
	mov	BYTE PTR __$EHRec$[esp+140], 1
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T72244[esp+128]

; 1187 : 			else

	jmp	SHORT $LN58@Activate@8
$LN2@Activate@8:

; 1188 : 				reply += aString::Format("Seat #%d: Empty - ", i +1);

	push	esi
	lea	eax, DWORD PTR $T72245[esp+132]
	push	OFFSET ??_C@_0BD@EPECMBHE@Seat?5?$CD?$CFd?3?5Empty?5?9?5?$AA@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	push	eax
	lea	ecx, DWORD PTR _reply$[esp+132]
	mov	BYTE PTR __$EHRec$[esp+140], 2
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T72245[esp+128]
$LN58@Activate@8:
	mov	BYTE PTR __$EHRec$[esp+136], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	eax, DWORD PTR [edi+2444]
	mov	ecx, DWORD PTR [eax+2484]
	add	esi, 1
	lea	edx, DWORD PTR [esi-1]
	add	ebx, 4
	cmp	edx, ecx
	jl	$LL5@Activate@8

; 1183 : 		for (int i = 0; i < soldier->Vehicle->SeatsList.Length(); i++)

	mov	ebx, DWORD PTR _sender$[ebp]
$LN3@Activate@8:

; 1189 : 		}
; 1190 : 		reply += aString::Format("Driver: %S - Gunner: %S",
; 1191 : 			(soldier->Vehicle->SeatsList[0] && soldier->Vehicle->SeatsList[0]->Player) ? soldier->Vehicle->SeatsList[0]->Player->PlayerName.m_Buffer : L"None",
; 1192 : 			(soldier->Vehicle->Get_Actual_Gunner() && soldier->Vehicle->Get_Actual_Gunner()->Player) ? soldier->Vehicle->Get_Actual_Gunner()->Player->PlayerName.m_Buffer : L"None"
; 1193 : 		);

	mov	ecx, DWORD PTR [edi+2444]
	call	?Get_Actual_Gunner@nc_VehicleGameObj@@QAEPAVnc_SoldierGameObj@@XZ ; nc_VehicleGameObj::Get_Actual_Gunner
	test	eax, eax
	je	SHORT $LN13@Activate@8
	mov	ecx, DWORD PTR [edi+2444]
	call	?Get_Actual_Gunner@nc_VehicleGameObj@@QAEPAVnc_SoldierGameObj@@XZ ; nc_VehicleGameObj::Get_Actual_Gunner
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN13@Activate@8
	mov	ecx, DWORD PTR [edi+2444]
	call	?Get_Actual_Gunner@nc_VehicleGameObj@@QAEPAVnc_SoldierGameObj@@XZ ; nc_VehicleGameObj::Get_Actual_Gunner
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1880]
	jmp	SHORT $LN14@Activate@8
$LN13@Activate@8:
	mov	ecx, OFFSET ??_C@_19KLMLHLJG@?$AAN?$AAo?$AAn?$AAe?$AA?$AA@
$LN14@Activate@8:
	mov	edx, DWORD PTR [edi+2444]
	mov	eax, DWORD PTR [edx+2480]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN15@Activate@8
	mov	eax, DWORD PTR [eax]
	mov	eax, DWORD PTR [eax+2400]
	test	eax, eax
	je	SHORT $LN15@Activate@8
	mov	eax, DWORD PTR [eax+1880]
	jmp	SHORT $LN16@Activate@8
$LN15@Activate@8:
	mov	eax, OFFSET ??_C@_19KLMLHLJG@?$AAN?$AAo?$AAn?$AAe?$AA?$AA@
$LN16@Activate@8:
	push	ecx
	push	eax
	lea	ecx, DWORD PTR $T72250[esp+136]
	push	OFFSET ??_C@_0BI@JLNDEJOO@Driver?3?5?$CFS?5?9?5Gunner?3?5?$CFS?$AA@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	push	eax
	lea	ecx, DWORD PTR _reply$[esp+132]
	mov	BYTE PTR __$EHRec$[esp+140], 3
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T72250[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1194 : 		PagePlayer(sender, reply.GetString());

	mov	eax, DWORD PTR _reply$[esp+132]
	test	eax, eax
	je	SHORT $LN46@Activate@8
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN47@Activate@8
$LN46@Activate@8:
	xor	eax, eax
$LN47@Activate@8:
	push	eax
	push	ebx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1195 : 	}

	lea	ecx, DWORD PTR _reply$[esp+128]
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN11@Activate@8:
	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR _reply$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR $T72244[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z$2:
	lea	ecx, DWORD PTR $T72245[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z$3:
	lea	ecx, DWORD PTR $T72250[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_vehStatus@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_vehStatus::Activate
PUBLIC	??_7gzChat_HarvStatus@@6B@			; gzChat_HarvStatus::`vftable'
PUBLIC	??0gzChat_HarvStatus@@QAE@XZ			; gzChat_HarvStatus::gzChat_HarvStatus
PUBLIC	??_R4gzChat_HarvStatus@@6B@			; gzChat_HarvStatus::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_HarvStatus@@@8			; gzChat_HarvStatus `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_HarvStatus@@8			; gzChat_HarvStatus::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_HarvStatus@@8			; gzChat_HarvStatus::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_HarvStatus@@8		; gzChat_HarvStatus::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_HarvStatus::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_HarvStatus@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_HarvStatus@@8 DD FLAT:??_R0?AVgzChat_HarvStatus@@@8 ; gzChat_HarvStatus::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_HarvStatus@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_HarvStatus@@8
rdata$r	SEGMENT
??_R2gzChat_HarvStatus@@8 DD FLAT:??_R1A@?0A@EA@gzChat_HarvStatus@@8 ; gzChat_HarvStatus::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_HarvStatus@@8
rdata$r	SEGMENT
??_R3gzChat_HarvStatus@@8 DD 00H			; gzChat_HarvStatus::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_HarvStatus@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_HarvStatus@@@8
_DATA	SEGMENT
??_R0?AVgzChat_HarvStatus@@@8 DD FLAT:??_7type_info@@6B@ ; gzChat_HarvStatus `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_HarvStatus@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_HarvStatus@@6B@
rdata$r	SEGMENT
??_R4gzChat_HarvStatus@@6B@ DD 00H			; gzChat_HarvStatus::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_HarvStatus@@@8
	DD	FLAT:??_R3gzChat_HarvStatus@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_HarvStatus@@6B@
CONST	SEGMENT
??_7gzChat_HarvStatus@@6B@ DD FLAT:??_R4gzChat_HarvStatus@@6B@ ; gzChat_HarvStatus::`vftable'
	DD	FLAT:?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_HarvStatus@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_HarvStatus@@QAE@XZ PROC			; gzChat_HarvStatus::gzChat_HarvStatus, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_HarvStatus@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_HarvStatus@@QAE@XZ ENDP			; gzChat_HarvStatus::gzChat_HarvStatus
_TEXT	ENDS
PUBLIC	??_C@_0CH@MNIIPDPF@?5?$CIEstimated?5time?5left?3?5?$CF?42f?5seco@ ; `string'
PUBLIC	??_C@_0EB@DDCHHJBF@Harvester?5status?3?5?$CFs?5?9?5Health?3?5?$CF@ ; `string'
PUBLIC	?stateName@?1??Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z@4PAPBDA ; `gzChat_HarvStatus::Activate'::`2'::stateName
PUBLIC	??_C@_07DOBDKPBA@Working?$AA@			; `string'
PUBLIC	??_C@_07HNJBHKDP@Stopped?$AA@			; `string'
PUBLIC	??_C@_0DO@JNPDANJE@The?5Harvester?5for?5the?5Refinery?5o@ ; `string'
PUBLIC	??_C@_0CP@GPHNPKC@The?5Refinery?5for?5your?5team?5has?5b@ ; `string'
PUBLIC	??_C@_0CN@IINKLIOC@The?5Refinery?5for?5your?5team?5can?5n@ ; `string'
PUBLIC	??_C@_0BK@JMMMGDHH@Going?5to?5harvest?5Tiberium?$AA@ ; `string'
PUBLIC	??_C@_0BE@NBEJGBGL@Harvesting?5Tiberium?$AA@	; `string'
PUBLIC	??_C@_0CJ@CBHHBLII@Returning?5to?5Refinery?5to?5unload?5@ ; `string'
PUBLIC	??_C@_0BD@BJNLMOHJ@Unloading?5Tiberium?$AA@	; `string'
EXTRN	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z:PROC ; nc_BaseControllerClass::Find_Building
EXTRN	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z:PROC ; nc_BaseControllerClass::Find_Base
;	COMDAT ??_C@_0BD@BJNLMOHJ@Unloading?5Tiberium?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BD@BJNLMOHJ@Unloading?5Tiberium?$AA@ DB 'Unloading Tiberium', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CJ@CBHHBLII@Returning?5to?5Refinery?5to?5unload?5@
CONST	SEGMENT
??_C@_0CJ@CBHHBLII@Returning?5to?5Refinery?5to?5unload?5@ DB 'Returning t'
	DB	'o Refinery to unload Tiberium', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@NBEJGBGL@Harvesting?5Tiberium?$AA@
CONST	SEGMENT
??_C@_0BE@NBEJGBGL@Harvesting?5Tiberium?$AA@ DB 'Harvesting Tiberium', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@JMMMGDHH@Going?5to?5harvest?5Tiberium?$AA@
CONST	SEGMENT
??_C@_0BK@JMMMGDHH@Going?5to?5harvest?5Tiberium?$AA@ DB 'Going to harvest'
	DB	' Tiberium', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CH@MNIIPDPF@?5?$CIEstimated?5time?5left?3?5?$CF?42f?5seco@
CONST	SEGMENT
??_C@_0CH@MNIIPDPF@?5?$CIEstimated?5time?5left?3?5?$CF?42f?5seco@ DB ' (E'
	DB	'stimated time left: %.2f second(s))', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0EB@DDCHHJBF@Harvester?5status?3?5?$CFs?5?9?5Health?3?5?$CF@
CONST	SEGMENT
??_C@_0EB@DDCHHJBF@Harvester?5status?3?5?$CFs?5?9?5Health?3?5?$CF@ DB 'Ha'
	DB	'rvester status: %s - Health: %.0f/%.0f - Current objective: %'
	DB	's', 00H					; `string'
CONST	ENDS
;	COMDAT ?stateName@?1??Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z@4PAPBDA
_DATA	SEGMENT
?stateName@?1??Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z@4PAPBDA DD FLAT:??_C@_0BK@JMMMGDHH@Going?5to?5harvest?5Tiberium?$AA@ ; `gzChat_HarvStatus::Activate'::`2'::stateName
	DD	FLAT:??_C@_0BE@NBEJGBGL@Harvesting?5Tiberium?$AA@
	DD	FLAT:??_C@_0CJ@CBHHBLII@Returning?5to?5Refinery?5to?5unload?5@
	DD	FLAT:??_C@_0BD@BJNLMOHJ@Unloading?5Tiberium?$AA@
_DATA	ENDS
;	COMDAT ??_C@_07DOBDKPBA@Working?$AA@
CONST	SEGMENT
??_C@_07DOBDKPBA@Working?$AA@ DB 'Working', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07HNJBHKDP@Stopped?$AA@
CONST	SEGMENT
??_C@_07HNJBHKDP@Stopped?$AA@ DB 'Stopped', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0DO@JNPDANJE@The?5Harvester?5for?5the?5Refinery?5o@
CONST	SEGMENT
??_C@_0DO@JNPDANJE@The?5Harvester?5for?5the?5Refinery?5o@ DB 'The Harvest'
	DB	'er for the Refinery of your team can not be found.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CP@GPHNPKC@The?5Refinery?5for?5your?5team?5has?5b@
CONST	SEGMENT
??_C@_0CP@GPHNPKC@The?5Refinery?5for?5your?5team?5has?5b@ DB 'The Refiner'
	DB	'y for your team has been destroyed.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CN@IINKLIOC@The?5Refinery?5for?5your?5team?5can?5n@
CONST	SEGMENT
??_C@_0CN@IINKLIOC@The?5Refinery?5for?5your?5team?5can?5n@ DB 'The Refine'
	DB	'ry for your team can not be found.', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z$2
__ehfuncinfo$?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
tv305 = -88						; size = 4
tv303 = -88						; size = 4
$T72329 = -88						; size = 8
_harvMsg$60202 = -80					; size = 8
$T72330 = -72						; size = 8
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_HarvStatus::Activate, COMDAT
; _this$ = ecx

; 1200 : 	{

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

; 1201 : 		static const char *stateName[] = {
; 1202 : 			"Going to harvest Tiberium",
; 1203 : 			"Harvesting Tiberium",
; 1204 : 			"Returning to Refinery to unload Tiberium",
; 1205 : 			"Unloading Tiberium",
; 1206 : 		};
; 1207 : 
; 1208 : 		gzPlayer *gzData = gzPlayerManager::Find(sender);

	mov	edi, DWORD PTR _sender$[ebp]
	push	edi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 1209 : 		if (!gzData)

	test	eax, eax
	je	$LN4@Activate@9

; 1210 : 			return;
; 1211 : 
; 1212 : 		nc_BaseControllerClass *base = nc_BaseControllerClass::Find_Base(gzData->GetPlayerData()->PlayerType.Get());

	mov	eax, DWORD PTR [eax+72]
	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	push	eax
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	mov	esi, eax
	add	esp, 4

; 1213 : 		if (!base)

	test	esi, esi
	je	$LN4@Activate@9

; 1214 : 			return;
; 1215 : 
; 1216 : 		nc_RefineryGameObj *refinery = (base->Find_Building(nc_REFINERY) ? base->Find_Building(nc_REFINERY)->As_RefineryGameObj() : NULL);

	push	3
	mov	ecx, esi
	call	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z ; nc_BaseControllerClass::Find_Building
	test	eax, eax
	je	SHORT $LN38@Activate@9
	push	3
	mov	ecx, esi
	call	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z ; nc_BaseControllerClass::Find_Building
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+132]
	call	eax
	mov	esi, eax

; 1217 : 		if (!refinery)

	test	esi, esi
	jne	SHORT $LN9@Activate@9
$LN38@Activate@9:

; 1218 : 			PagePlayer(sender, "The Refinery for your team can not be found.");

	push	OFFSET ??_C@_0CN@IINKLIOC@The?5Refinery?5for?5your?5team?5can?5n@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1237 : 	}

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

; 1219 : 		else if (refinery->Destroyed)

	cmp	BYTE PTR [esi+1912], 0
	je	SHORT $LN7@Activate@9

; 1220 : 			PagePlayer(sender, "The Refinery for your team has been destroyed.");

	push	OFFSET ??_C@_0CP@GPHNPKC@The?5Refinery?5for?5your?5team?5has?5b@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1237 : 	}

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

; 1221 : 		else if (!refinery->Harvester)

	mov	eax, DWORD PTR [esi+2092]
	test	eax, eax
	jne	SHORT $LN5@Activate@9

; 1222 : 			PagePlayer(sender, "The Harvester for the Refinery of your team can not be found.");

	push	OFFSET ??_C@_0DO@JNPDANJE@The?5Harvester?5for?5the?5Refinery?5o@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1237 : 	}

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

; 1223 : 		else
; 1224 : 		{
; 1225 : 			aString harvMsg = aString::Format("Harvester status: %s - Health: %.0f/%.0f - Current objective: %s",
; 1226 : 				(gzStatic_Cast(nc_TrackedVehicleDefClass, refinery->Harvester->Vehicle->Physics->Definition)->MaxEngineTorque == 0.0f ? "Stopped" : "Working"),
; 1227 : 				(refinery->Harvester->Vehicle->Defense.Health.Get() + refinery->Harvester->Vehicle->Defense.ShieldStrength.Get()),
; 1228 : 				(refinery->Harvester->Vehicle->Defense.HealthMax.Get() + refinery->Harvester->Vehicle->Defense.ShieldStrengthMax.Get()),
; 1229 : 				stateName[refinery->Harvester->State - 1]
; 1230 : 			);

	mov	edi, DWORD PTR [eax+100]
	fldz
	mov	ecx, DWORD PTR [edi+1908]
	mov	edx, DWORD PTR [ecx+80]
	fcomp	DWORD PTR [edx+92]
	mov	ebx, OFFSET ??_C@_07HNJBHKDP@Stopped?$AA@
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN17@Activate@9
	mov	ebx, OFFSET ??_C@_07DOBDKPBA@Working?$AA@
$LN17@Activate@9:
	mov	eax, DWORD PTR [esi+2092]
	mov	ecx, DWORD PTR [eax+36]
	mov	edx, DWORD PTR ?stateName@?1??Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z@4PAPBDA[ecx*4-4]
	mov	ecx, DWORD PTR [eax+100]
	push	edx
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv305[esp+132]
	lea	ecx, DWORD PTR [edi+1856]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv305[esp+132]
	mov	ecx, DWORD PTR [esi+2092]
	mov	ecx, DWORD PTR [ecx+100]
	sub	esp, 8
	add	ecx, 1852				; 0000073cH
	fstp	QWORD PTR [esp]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv303[esp+140]
	mov	edx, DWORD PTR [esi+2092]
	mov	ecx, DWORD PTR [edx+100]
	add	ecx, 1840				; 00000730H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv303[esp+140]
	sub	esp, 8
	lea	eax, DWORD PTR _harvMsg$60202[esp+148]
	fstp	QWORD PTR [esp]
	push	ebx
	push	OFFSET ??_C@_0EB@DDCHHJBF@Harvester?5status?3?5?$CFs?5?9?5Health?3?5?$CF@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 32					; 00000020H

; 1231 : 			if (refinery->Harvester->State == 2)

	mov	eax, DWORD PTR [esi+2092]
	mov	ecx, DWORD PTR [eax+36]
	cmp	ecx, 2
	mov	DWORD PTR __$EHRec$[esp+136], 0
	jne	SHORT $LN3@Activate@9

; 1232 : 				harvMsg += aString::Format(" (Estimated time left: %.2f second(s))", refinery->Harvester->HarvestTimeCounter);

	fld	DWORD PTR [eax+112]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	lea	ecx, DWORD PTR $T72329[esp+136]
	push	OFFSET ??_C@_0CH@MNIIPDPF@?5?$CIEstimated?5time?5left?3?5?$CF?42f?5seco@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	push	eax
	lea	ecx, DWORD PTR _harvMsg$60202[esp+132]
	mov	BYTE PTR __$EHRec$[esp+140], 1
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T72329[esp+128]
	jmp	SHORT $LN40@Activate@9
$LN3@Activate@9:

; 1233 : 			else if (refinery->Harvester->State == 4)

	cmp	ecx, 4
	jne	SHORT $LN1@Activate@9

; 1234 : 				harvMsg += aString::Format(" (Estimated time left: %.2f second(s))", refinery->UnloadTimeCounter);

	fld	DWORD PTR [esi+2160]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	lea	edx, DWORD PTR $T72330[esp+136]
	push	OFFSET ??_C@_0CH@MNIIPDPF@?5?$CIEstimated?5time?5left?3?5?$CF?42f?5seco@
	push	edx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	push	eax
	lea	ecx, DWORD PTR _harvMsg$60202[esp+132]
	mov	BYTE PTR __$EHRec$[esp+140], 2
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T72330[esp+128]
$LN40@Activate@9:
	mov	BYTE PTR __$EHRec$[esp+136], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@Activate@9:

; 1235 : 			PagePlayer(sender, harvMsg.GetString());

	mov	eax, DWORD PTR _harvMsg$60202[esp+132]
	test	eax, eax
	je	SHORT $LN31@Activate@9
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN32@Activate@9
$LN31@Activate@9:
	xor	eax, eax
$LN32@Activate@9:
	push	eax
	mov	eax, DWORD PTR _sender$[ebp]
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1236 : 		}

	lea	ecx, DWORD PTR _harvMsg$60202[esp+128]
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN4@Activate@9:

; 1237 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR _harvMsg$60202[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR $T72329[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z$2:
	lea	ecx, DWORD PTR $T72330[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_HarvStatus@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_HarvStatus::Activate
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?Delete@gzSettingsVehicleClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Delete@gzSettingsVehicleClass@@UAEXXZ$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Delete@gzSettingsVehicleClass@@UAEXXZ$4
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Delete@gzSettingsVehicleClass@@UAEXXZ$8
__ehfuncinfo$?Delete@gzSettingsVehicleClass@@UAEXXZ DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Delete@gzSettingsVehicleClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ?Delete@gzSettingsVehicleClass@@UAEXXZ
_TEXT	SEGMENT
$T72386 = -16						; size = 4
$T72380 = -16						; size = 4
$T72374 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Delete@gzSettingsVehicleClass@@UAEXXZ PROC		; gzSettingsVehicleClass::Delete, COMDAT
; _this$ = ecx

; 24   : {

	push	-1
	push	__ehhandler$?Delete@gzSettingsVehicleClass@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi
	mov	esi, ecx

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

	mov	eax, DWORD PTR [esi+36]
	xor	ebx, ebx
	test	eax, eax
	push	edi
	jbe	SHORT $LN81@Delete@11
$LL9@Delete@11:

; 26   : 		delete this->m_wreckageList[i];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	26					; 0000001aH
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+28]
	mov	edi, DWORD PTR [eax+ebx*4]
	add	esp, 12					; 0000000cH
	test	edi, edi
	mov	DWORD PTR $T72374[esp+28], edi
	je	SHORT $LN8@Delete@11
	lea	ecx, DWORD PTR [edi+8]
	mov	DWORD PTR __$EHRec$[esp+36], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, edi
	mov	DWORD PTR __$EHRec$[esp+36], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN8@Delete@11:
	add	ebx, 1
	cmp	ebx, DWORD PTR [esi+36]
	jb	SHORT $LL9@Delete@11
$LN81@Delete@11:

; 27   : 	this->m_wreckageList.Clear();

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

; 28   : 
; 29   : 	for (unsigned int i = 0; i < this->m_destroyAnimList.Count(); i++)

	xor	ebx, ebx
	cmp	DWORD PTR [esi+52], ebx
	jbe	SHORT $LN4@Delete@11
	npad	8
$LL6@Delete@11:

; 30   : 		delete this->m_destroyAnimList[i];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	30					; 0000001eH
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+44]
	mov	edi, DWORD PTR [ecx+ebx*4]
	add	esp, 12					; 0000000cH
	test	edi, edi
	mov	DWORD PTR $T72380[esp+28], edi
	je	SHORT $LN5@Delete@11
	lea	ecx, DWORD PTR [edi+8]
	mov	DWORD PTR __$EHRec$[esp+36], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, edi
	mov	DWORD PTR __$EHRec$[esp+36], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN5@Delete@11:
	add	ebx, 1
	cmp	ebx, DWORD PTR [esi+52]
	jb	SHORT $LL6@Delete@11
$LN4@Delete@11:

; 31   : 	this->m_destroyAnimList.Clear();

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

; 32   : 
; 33   : 	for (unsigned int i = 0; i < this->m_boneList.Count(); i++)

	xor	ebx, ebx
	cmp	DWORD PTR [esi+92], ebx
	jbe	SHORT $LN1@Delete@11
$LL3@Delete@11:

; 34   : 		delete this->m_boneList[i];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	34					; 00000022H
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+84]
	mov	edi, DWORD PTR [ecx+ebx*4]
	add	esp, 12					; 0000000cH
	test	edi, edi
	mov	DWORD PTR $T72386[esp+28], edi
	je	SHORT $LN2@Delete@11
	lea	ecx, DWORD PTR [edi+8]
	mov	DWORD PTR __$EHRec$[esp+36], 2
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	mov	ecx, edi
	mov	DWORD PTR __$EHRec$[esp+36], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN2@Delete@11:
	add	ebx, 1
	cmp	ebx, DWORD PTR [esi+92]
	jb	SHORT $LL3@Delete@11
$LN1@Delete@11:

; 35   : 	this->m_boneList.Clear();

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

; 36   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Delete@gzSettingsVehicleClass@@UAEXXZ$0:
	mov	ecx, DWORD PTR $T72374[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Delete@gzSettingsVehicleClass@@UAEXXZ$4:
	mov	ecx, DWORD PTR $T72380[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Delete@gzSettingsVehicleClass@@UAEXXZ$8:
	mov	ecx, DWORD PTR $T72386[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Delete@gzSettingsVehicleClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Delete@gzSettingsVehicleClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Delete@gzSettingsVehicleClass@@UAEXXZ ENDP		; gzSettingsVehicleClass::Delete
PUBLIC	??_C@_0BC@CPPIDCAE@DestroyAnimation?4?$AA@	; `string'
PUBLIC	??_C@_0BG@EHNNBBHG@DestroyAnimation?4?$FL?$CFd?$FN?$AA@ ; `string'
PUBLIC	??_C@_0BB@ELJIIOPD@DestroyAnimation?$AA@	; `string'
PUBLIC	??_C@_0BA@ECLBBKON@WreckagePreset?4?$AA@	; `string'
PUBLIC	??_C@_0BE@MIEMOBDF@WreckagePreset?4?$FL?$CFd?$FN?$AA@ ; `string'
PUBLIC	??_C@_0P@NPFEIMOG@WreckagePreset?$AA@		; `string'
PUBLIC	??_C@_09NEMCMGFD@BoneList?4?$AA@		; `string'
PUBLIC	??_C@_0O@KMAMAIIM@BoneList?4?$FL?$CFd?$FN?$AA@	; `string'
PUBLIC	??_C@_08KFCALMKM@BoneList?$AA@			; `string'
PUBLIC	??_C@_0BB@OAGPGGIO@General?4LockIcon?$AA@	; `string'
PUBLIC	??_C@_0N@JOKFBHDB@p_keycrd_red?$AA@		; `string'
PUBLIC	??_C@_0BB@HOEDGHIO@General?4BindIcon?$AA@	; `string'
PUBLIC	??_C@_08FIDGKDMA@o_em_apc?$AA@			; `string'
PUBLIC	??_C@_0CB@EIHMGFFD@General?4BindWreckageToMostRepair@ ; `string'
PUBLIC	??_C@_0BH@IEAGFGAG@General?4BindOnPurchase?$AA@	; `string'
PUBLIC	??_C@_0BC@GOMBOMHM@General?4vKickTime?$AA@	; `string'
PUBLIC	__real@402e000000000000
PUBLIC	??_C@_0BH@JGAOFNLF@General?4MaxTeamVehicle?$AA@	; `string'
PUBLIC	??_C@_0BI@OKEOOGJO@General?4MaxEnemyVehicle?$AA@ ; `string'
PUBLIC	??_C@_0CN@PEIAOPOK@?$FLConfig?$FN?5Vehicles?4ini?5changed?4?5R@ ; `string'
PUBLIC	??_C@_0N@FGMLBJJO@Vehicles?4ini?$AA@		; `string'
EXTRN	?Find_Named_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PBD_N@Z:PROC ; nc_DefinitionMgrClass::Find_Named_Definition
EXTRN	??1aToken@@QAE@XZ:PROC				; aToken::~aToken
EXTRN	?GetData@aToken@@QAEABVaString@@XZ:PROC		; aToken::GetData
EXTRN	?gettok@aToken@@QAE?AV1@HE@Z:PROC		; aToken::gettok
EXTRN	?numtok@aToken@@QAEHE@Z:PROC			; aToken::numtok
EXTRN	??8aString@@QAE_NABV0@@Z:PROC			; aString::operator==
EXTRN	??0aToken@@QAE@ABVaString@@@Z:PROC		; aToken::aToken
EXTRN	??0aWideString@@QAE@PBD@Z:PROC			; aWideString::aWideString
EXTRN	??4aString@@QAEAAV0@ABV0@@Z:PROC		; aString::operator=
EXTRN	?ToDouble@aString@@QAENXZ:PROC			; aString::ToDouble
EXTRN	??0aString@@QAE@N@Z:PROC			; aString::aString
EXTRN	?ToLong@aString@@QAEJXZ:PROC			; aString::ToLong
EXTRN	??0aString@@QAE@H@Z:PROC			; aString::aString
EXTRN	??0aTextConfig@@QAE@ABVaString@@_N@Z:PROC	; aTextConfig::aTextConfig
EXTRN	??0aString@@QAE@PBD@Z:PROC			; aString::aString
;	COMDAT ??_C@_0BC@CPPIDCAE@DestroyAnimation?4?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BC@CPPIDCAE@DestroyAnimation?4?$AA@ DB 'DestroyAnimation.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@EHNNBBHG@DestroyAnimation?4?$FL?$CFd?$FN?$AA@
CONST	SEGMENT
??_C@_0BG@EHNNBBHG@DestroyAnimation?4?$FL?$CFd?$FN?$AA@ DB 'DestroyAnimat'
	DB	'ion.[%d]', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@ELJIIOPD@DestroyAnimation?$AA@
CONST	SEGMENT
??_C@_0BB@ELJIIOPD@DestroyAnimation?$AA@ DB 'DestroyAnimation', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@ECLBBKON@WreckagePreset?4?$AA@
CONST	SEGMENT
??_C@_0BA@ECLBBKON@WreckagePreset?4?$AA@ DB 'WreckagePreset.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@MIEMOBDF@WreckagePreset?4?$FL?$CFd?$FN?$AA@
CONST	SEGMENT
??_C@_0BE@MIEMOBDF@WreckagePreset?4?$FL?$CFd?$FN?$AA@ DB 'WreckagePreset.'
	DB	'[%d]', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@NPFEIMOG@WreckagePreset?$AA@
CONST	SEGMENT
??_C@_0P@NPFEIMOG@WreckagePreset?$AA@ DB 'WreckagePreset', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09NEMCMGFD@BoneList?4?$AA@
CONST	SEGMENT
??_C@_09NEMCMGFD@BoneList?4?$AA@ DB 'BoneList.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@KMAMAIIM@BoneList?4?$FL?$CFd?$FN?$AA@
CONST	SEGMENT
??_C@_0O@KMAMAIIM@BoneList?4?$FL?$CFd?$FN?$AA@ DB 'BoneList.[%d]', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_08KFCALMKM@BoneList?$AA@
CONST	SEGMENT
??_C@_08KFCALMKM@BoneList?$AA@ DB 'BoneList', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@OAGPGGIO@General?4LockIcon?$AA@
CONST	SEGMENT
??_C@_0BB@OAGPGGIO@General?4LockIcon?$AA@ DB 'General.LockIcon', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@JOKFBHDB@p_keycrd_red?$AA@
CONST	SEGMENT
??_C@_0N@JOKFBHDB@p_keycrd_red?$AA@ DB 'p_keycrd_red', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@HOEDGHIO@General?4BindIcon?$AA@
CONST	SEGMENT
??_C@_0BB@HOEDGHIO@General?4BindIcon?$AA@ DB 'General.BindIcon', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_08FIDGKDMA@o_em_apc?$AA@
CONST	SEGMENT
??_C@_08FIDGKDMA@o_em_apc?$AA@ DB 'o_em_apc', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@EIHMGFFD@General?4BindWreckageToMostRepair@
CONST	SEGMENT
??_C@_0CB@EIHMGFFD@General?4BindWreckageToMostRepair@ DB 'General.BindWre'
	DB	'ckageToMostRepair', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@IEAGFGAG@General?4BindOnPurchase?$AA@
CONST	SEGMENT
??_C@_0BH@IEAGFGAG@General?4BindOnPurchase?$AA@ DB 'General.BindOnPurchas'
	DB	'e', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@GOMBOMHM@General?4vKickTime?$AA@
CONST	SEGMENT
??_C@_0BC@GOMBOMHM@General?4vKickTime?$AA@ DB 'General.vKickTime', 00H ; `string'
CONST	ENDS
;	COMDAT __real@402e000000000000
CONST	SEGMENT
__real@402e000000000000 DQ 0402e000000000000r	; 15
CONST	ENDS
;	COMDAT ??_C@_0BH@JGAOFNLF@General?4MaxTeamVehicle?$AA@
CONST	SEGMENT
??_C@_0BH@JGAOFNLF@General?4MaxTeamVehicle?$AA@ DB 'General.MaxTeamVehicl'
	DB	'e', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@OKEOOGJO@General?4MaxEnemyVehicle?$AA@
CONST	SEGMENT
??_C@_0BI@OKEOOGJO@General?4MaxEnemyVehicle?$AA@ DB 'General.MaxEnemyVehi'
	DB	'cle', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0CN@PEIAOPOK@?$FLConfig?$FN?5Vehicles?4ini?5changed?4?5R@
CONST	SEGMENT
??_C@_0CN@PEIAOPOK@?$FLConfig?$FN?5Vehicles?4ini?5changed?4?5R@ DB '[Conf'
	DB	'ig] Vehicles.ini changed. Reloading...', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@FGMLBJJO@Vehicles?4ini?$AA@
CONST	SEGMENT
??_C@_0N@FGMLBJJO@Vehicles?4ini?$AA@ DB 'Vehicles.ini', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Load@gzSettingsVehicleClass@@UAEXXZ DD 019930522H
	DD	042H
	DD	FLAT:__unwindtable$?Load@gzSettingsVehicleClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Load@gzSettingsVehicleClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$2
	DD	03H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$3
	DD	04H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$4
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$5
	DD	06H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$6
	DD	07H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$7
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$8
	DD	09H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$9
	DD	0aH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$10
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$11
	DD	0cH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$12
	DD	0dH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$13
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$14
	DD	0fH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$15
	DD	010H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$16
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$17
	DD	012H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$18
	DD	013H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$19
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$20
	DD	015H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$21
	DD	016H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$22
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$23
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$24
	DD	019H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$25
	DD	01aH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$26
	DD	019H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$26
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$26
	DD	01dH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$27
	DD	01eH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$28
	DD	01fH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$29
	DD	020H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$30
	DD	01fH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$30
	DD	01eH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$30
	DD	01dH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$30
	DD	024H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$31
	DD	025H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$32
	DD	025H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$34
	DD	025H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$35
	DD	028H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$87
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$37
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$38
	DD	02bH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$92
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$39
	DD	02dH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$40
	DD	02eH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$41
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$42
	DD	030H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$43
	DD	031H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$44
	DD	032H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$45
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$101
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$105
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$46
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$47
	DD	037H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$110
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$48
	DD	039H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$49
	DD	03aH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$50
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$51
	DD	03cH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$52
	DD	03dH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$53
	DD	03eH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$54
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$119
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$123
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ?Load@gzSettingsVehicleClass@@UAEXXZ
_TEXT	SEGMENT
$T72586 = -229						; size = 1
$T72559 = -229						; size = 1
$T72542 = -229						; size = 1
_wreckage$59127 = -228					; size = 4
_boneTok$59095 = -228					; size = 4
$T72620 = -224						; size = 4
_anim$59157 = -224					; size = 4
_newBone$59109 = -224					; size = 4
$T72573 = -220						; size = 8
_boneList$59088 = -220					; size = 8
$T72540 = -220						; size = 8
$T72537 = -220						; size = 8
$T72534 = -220						; size = 8
$T72531 = -220						; size = 8
$T72528 = -220						; size = 8
$T72525 = -220						; size = 8
$T72522 = -220						; size = 8
$T72516 = -220						; size = 8
$T72572 = -212						; size = 8
_vehName$59083 = -212					; size = 8
$T72539 = -212						; size = 8
$T72536 = -212						; size = 8
$T72533 = -212						; size = 8
$T72530 = -212						; size = 8
$T72527 = -212						; size = 8
$T72524 = -212						; size = 8
$T72521 = -212						; size = 8
$T72594 = -204						; size = 8
$T72567 = -204						; size = 8
$T72546 = -204						; size = 8
$T72541 = -204						; size = 8
$T72538 = -204						; size = 8
$T72535 = -204						; size = 8
$T72532 = -204						; size = 8
$T72529 = -204						; size = 8
$T72526 = -204						; size = 8
$T72523 = -204						; size = 8
$T72587 = -196						; size = 8
$T72560 = -196						; size = 8
$T72543 = -196						; size = 8
$T72607 = -188						; size = 4
$T72601 = -188						; size = 4
$T72589 = -188						; size = 4
$T72580 = -188						; size = 4
$T72574 = -188						; size = 4
$T72562 = -188						; size = 4
$T72552 = -188						; size = 4
$T72549 = -188						; size = 4
$T72886 = -184						; size = 8
$T72598 = -184						; size = 8
$T72597 = -172						; size = 8
$T72558 = -172						; size = 4
$T72515 = -172						; size = 4
_i$59076 = -164						; size = 4
$T72595 = -160						; size = 8
$T72568 = -160						; size = 8
$T72545 = -160						; size = 8
$T72570 = -152						; size = 8
$T72544 = -152						; size = 8
$T72596 = -144						; size = 8
$T72569 = -144						; size = 8
$T72548 = -144						; size = 8
$T72571 = -136						; size = 8
$T72547 = -136						; size = 8
$T72600 = -128						; size = 8
$T72550 = -128						; size = 4
$T72599 = -120						; size = 8
_attrib$ = -112						; size = 48
__$EHRec$ = -12						; size = 12
?Load@gzSettingsVehicleClass@@UAEXXZ PROC		; gzSettingsVehicleClass::Load, COMDAT
; _this$ = ecx

; 38   : {

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	push	-1
	push	__ehhandler$?Load@gzSettingsVehicleClass@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 228				; 000000e4H
	push	ebx
	push	ebp
	push	esi
	push	edi

; 39   : 	struct stat attrib;
; 40   : 	stat("Vehicles.ini", &attrib);

	lea	eax, DWORD PTR _attrib$[esp+256]
	push	eax
	xor	edi, edi
	push	OFFSET ??_C@_0N@FGMLBJJO@Vehicles?4ini?$AA@
	mov	esi, ecx
	mov	DWORD PTR $T72620[esp+264], edi
	call	__stat64i32

; 41   : 	if (this->m_confModTime != attrib.st_mtime)

	mov	eax, DWORD PTR [esi+16]
	mov	ecx, DWORD PTR [esi+20]
	add	esp, 8
	cmp	eax, DWORD PTR _attrib$[esp+288]
	jne	SHORT $LN432@Load
	cmp	ecx, DWORD PTR _attrib$[esp+292]
	je	$LN32@Load
$LN432@Load:

; 42   : 	{
; 43   : 		if (this->m_confModTime != 0)

	or	eax, ecx
	je	SHORT $LN31@Load

; 44   : 			gzConsole::Out("[Config] Vehicles.ini changed. Reloading...\n");

	push	OFFSET ??_C@_0CN@PEIAOPOK@?$FLConfig?$FN?5Vehicles?4ini?5changed?4?5R@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	add	esp, 4
$LN31@Load:

; 45   : 
; 46   : 		this->m_confModTime = attrib.st_mtime;

	mov	ecx, DWORD PTR _attrib$[esp+288]
	mov	edx, DWORD PTR _attrib$[esp+292]

; 47   : 		this->m_cfg = new aTextConfig("Vehicles.ini");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	47					; 0000002fH
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	mov	DWORD PTR [esi+16], ecx
	mov	DWORD PTR [esi+20], edx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	52					; 00000034H
	call	??2@YAPAXI@Z				; operator new
	mov	ebx, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T72515[esp+256], ebx
	cmp	ebx, edi
	mov	DWORD PTR __$EHRec$[esp+264], edi
	je	SHORT $LN35@Load
	push	OFFSET ??_C@_0N@FGMLBJJO@Vehicles?4ini?$AA@
	lea	ecx, DWORD PTR $T72516[esp+260]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	edi
	lea	eax, DWORD PTR $T72516[esp+260]
	push	eax
	mov	ecx, ebx
	mov	BYTE PTR __$EHRec$[esp+272], 1
	mov	DWORD PTR $T72620[esp+264], 1
	call	??0aTextConfig@@QAE@ABVaString@@_N@Z	; aTextConfig::aTextConfig
	jmp	SHORT $LN36@Load
$LN35@Load:
	xor	eax, eax
$LN36@Load:
	or	ebx, -1
	test	BYTE PTR $T72620[esp+256], 1
	mov	DWORD PTR [esi+12], eax
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	je	SHORT $LN74@Load
	lea	ecx, DWORD PTR $T72516[esp+256]
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN74@Load:

; 48   : 		if (this->m_cfg->IsLoaded())

	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+8]
	call	eax
	test	al, al
	je	$LN5@Load

; 49   : 		{
; 50   : 			// Cleanups
; 51   : 			this->Delete();

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

; 52   : 
; 53   : 			// General
; 54   : 			this->m_maxEnemyVehicle          = this->m_cfg->GetData("General.MaxEnemyVehicle", 4).ToLong();

	push	4
	lea	ecx, DWORD PTR $T72521[esp+260]
	call	??0aString@@QAE@H@Z			; aString::aString
	push	OFFSET ??_C@_0BI@OKEOOGJO@General?4MaxEnemyVehicle?$AA@
	lea	ecx, DWORD PTR $T72522[esp+260]
	mov	DWORD PTR __$EHRec$[esp+268], 3
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	eax, DWORD PTR $T72521[esp+256]
	push	eax
	lea	eax, DWORD PTR $T72522[esp+260]
	push	eax
	lea	eax, DWORD PTR $T72523[esp+264]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+276], 4
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+264], 5
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	lea	ecx, DWORD PTR $T72523[esp+256]
	mov	DWORD PTR [esi+56], eax
	mov	BYTE PTR __$EHRec$[esp+264], 4
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72522[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72521[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 55   : 			this->m_maxTeamVehicle           = this->m_cfg->GetData("General.MaxTeamVehicle", 1).ToLong();

	push	1
	lea	ecx, DWORD PTR $T72524[esp+260]
	call	??0aString@@QAE@H@Z			; aString::aString
	push	OFFSET ??_C@_0BH@JGAOFNLF@General?4MaxTeamVehicle?$AA@
	lea	ecx, DWORD PTR $T72525[esp+260]
	mov	DWORD PTR __$EHRec$[esp+268], 6
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+20]
	lea	edx, DWORD PTR $T72524[esp+256]
	push	edx
	lea	edx, DWORD PTR $T72525[esp+260]
	push	edx
	lea	edx, DWORD PTR $T72526[esp+264]
	push	edx
	mov	BYTE PTR __$EHRec$[esp+276], 7
	call	eax
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+264], 8
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	lea	ecx, DWORD PTR $T72526[esp+256]
	mov	DWORD PTR [esi+60], eax
	mov	BYTE PTR __$EHRec$[esp+264], 7
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72525[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72524[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 56   : 			this->m_kickTime                 = (float)this->m_cfg->GetData("General.vKickTime", 15.0f).ToDouble();

	fld	QWORD PTR __real@402e000000000000
	sub	esp, 8
	lea	ecx, DWORD PTR $T72527[esp+264]
	fstp	QWORD PTR [esp]
	call	??0aString@@QAE@N@Z			; aString::aString
	mov	DWORD PTR __$EHRec$[esp+264], 9
	push	OFFSET ??_C@_0BC@GOMBOMHM@General?4vKickTime?$AA@
	lea	ecx, DWORD PTR $T72528[esp+260]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	eax, DWORD PTR $T72527[esp+256]
	push	eax
	lea	eax, DWORD PTR $T72528[esp+260]
	push	eax
	lea	eax, DWORD PTR $T72529[esp+264]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+276], 10		; 0000000aH
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+264], 11		; 0000000bH
	call	?ToDouble@aString@@QAENXZ		; aString::ToDouble
	fstp	DWORD PTR [esi+96]
	lea	ecx, DWORD PTR $T72529[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 10		; 0000000aH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72528[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 9
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72527[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 57   : 			this->m_bindOnPurchase           = this->m_cfg->GetData("General.BindOnPurchase", true).ToLong();

	push	1
	lea	ecx, DWORD PTR $T72530[esp+260]
	call	??0aString@@QAE@H@Z			; aString::aString
	push	OFFSET ??_C@_0BH@IEAGFGAG@General?4BindOnPurchase?$AA@
	lea	ecx, DWORD PTR $T72531[esp+260]
	mov	DWORD PTR __$EHRec$[esp+268], 12	; 0000000cH
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+20]
	lea	edx, DWORD PTR $T72530[esp+256]
	push	edx
	lea	edx, DWORD PTR $T72531[esp+260]
	push	edx
	lea	edx, DWORD PTR $T72532[esp+264]
	push	edx
	mov	BYTE PTR __$EHRec$[esp+276], 13		; 0000000dH
	call	eax
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+264], 14		; 0000000eH
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	test	eax, eax
	setne	cl
	mov	BYTE PTR [esi+100], cl
	lea	ecx, DWORD PTR $T72532[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 13		; 0000000dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72531[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 12		; 0000000cH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72530[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 58   : 			this->m_bindWreckageToMostRepair = this->m_cfg->GetData("General.BindWreckageToMostRepair", false).ToLong();

	push	edi
	lea	ecx, DWORD PTR $T72533[esp+260]
	call	??0aString@@QAE@H@Z			; aString::aString
	push	OFFSET ??_C@_0CB@EIHMGFFD@General?4BindWreckageToMostRepair@
	lea	ecx, DWORD PTR $T72534[esp+260]
	mov	DWORD PTR __$EHRec$[esp+268], 15	; 0000000fH
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	lea	eax, DWORD PTR $T72533[esp+256]
	push	eax
	lea	eax, DWORD PTR $T72534[esp+260]
	push	eax
	lea	eax, DWORD PTR $T72535[esp+264]
	mov	BYTE PTR __$EHRec$[esp+272], 16		; 00000010H
	push	eax
	mov	edx, DWORD PTR [edx+20]
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+264], 17		; 00000011H
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	test	eax, eax
	setne	al
	lea	ecx, DWORD PTR $T72535[esp+256]
	mov	BYTE PTR [esi+101], al
	mov	BYTE PTR __$EHRec$[esp+264], 16		; 00000010H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72534[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 15		; 0000000fH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72533[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 59   : 			this->m_bindIcon                 = this->m_cfg->GetData("General.BindIcon", "o_em_apc");

	push	OFFSET ??_C@_08FIDGKDMA@o_em_apc?$AA@
	lea	ecx, DWORD PTR $T72536[esp+260]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	OFFSET ??_C@_0BB@HOEDGHIO@General?4BindIcon?$AA@
	lea	ecx, DWORD PTR $T72537[esp+260]
	mov	DWORD PTR __$EHRec$[esp+268], 18	; 00000012H
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	eax, DWORD PTR $T72536[esp+256]
	push	eax
	lea	eax, DWORD PTR $T72537[esp+260]
	push	eax
	lea	eax, DWORD PTR $T72538[esp+264]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+276], 19		; 00000013H
	call	edx
	push	eax
	lea	ecx, DWORD PTR [esi+64]
	mov	BYTE PTR __$EHRec$[esp+268], 20		; 00000014H
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T72538[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 19		; 00000013H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72537[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 18		; 00000012H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72536[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 60   : 			this->m_lockIcon                 = this->m_cfg->GetData("General.LockIcon", "p_keycrd_red");

	push	OFFSET ??_C@_0N@JOKFBHDB@p_keycrd_red?$AA@
	lea	ecx, DWORD PTR $T72539[esp+260]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	OFFSET ??_C@_0BB@OAGPGGIO@General?4LockIcon?$AA@
	lea	ecx, DWORD PTR $T72540[esp+260]
	mov	DWORD PTR __$EHRec$[esp+268], 21	; 00000015H
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+20]
	lea	edx, DWORD PTR $T72539[esp+256]
	push	edx
	lea	edx, DWORD PTR $T72540[esp+260]
	push	edx
	lea	edx, DWORD PTR $T72541[esp+264]
	push	edx
	mov	BYTE PTR __$EHRec$[esp+276], 22		; 00000016H
	call	eax
	push	eax
	lea	ecx, DWORD PTR [esi+72]
	mov	BYTE PTR __$EHRec$[esp+268], 23		; 00000017H
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T72541[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 22		; 00000016H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	BYTE PTR __$EHRec$[esp+264], 21		; 00000015H
	lea	ecx, DWORD PTR $T72540[esp+256]
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72539[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 61   : 
; 62   : 			for (int i = 1; i <= this->m_cfg->GetSubCount("BoneList"); i++)

	mov	edi, 1
	push	OFFSET ??_C@_08KFCALMKM@BoneList?$AA@
	lea	ecx, DWORD PTR $T72543[esp+260]
	mov	DWORD PTR _i$59076[esp+260], edi
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+28]
	lea	eax, DWORD PTR $T72543[esp+256]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+268], 24	; 00000018H
	call	edx
	cmp	eax, edi
	lea	ecx, DWORD PTR $T72543[esp+256]
	setge	BYTE PTR $T72542[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T72542[esp+256], 0
	je	$LN27@Load
$LN29@Load:

; 63   : 			{
; 64   : 				aString vehName = this->m_cfg->GetItem(aString::Format("BoneList.[%d]", i), "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T72544[esp+260]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	edi
	lea	eax, DWORD PTR $T72545[esp+260]
	push	OFFSET ??_C@_0O@KMAMAIIM@BoneList?4?$FL?$CFd?$FN?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+276], 25	; 00000019H
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+16]
	lea	ebp, DWORD PTR $T72544[esp+256]
	push	ebp
	push	eax
	lea	eax, DWORD PTR _vehName$59083[esp+264]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+276], 26		; 0000001aH
	call	edx
	lea	ecx, DWORD PTR $T72545[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 28		; 0000001cH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebp
	mov	BYTE PTR __$EHRec$[esp+264], 29		; 0000001dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 65   : 				aString boneList = this->m_cfg->GetData("BoneList." + vehName, "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T72546[esp+260]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	OFFSET ??_C@_09NEMCMGFD@BoneList?4?$AA@
	lea	ecx, DWORD PTR $T72547[esp+260]
	mov	BYTE PTR __$EHRec$[esp+268], 30		; 0000001eH
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR _vehName$59083[esp+256]
	push	eax
	lea	ecx, DWORD PTR $T72547[esp+260]
	push	ecx
	lea	edx, DWORD PTR $T72548[esp+264]
	push	edx
	mov	BYTE PTR __$EHRec$[esp+276], 31		; 0000001fH
	call	??H@YA?AVaString@@ABV0@0@Z		; operator+
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	ebp, DWORD PTR $T72546[esp+256]
	push	ebp
	push	eax
	lea	eax, DWORD PTR _boneList$59088[esp+264]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+276], 32		; 00000020H
	call	edx
	lea	ecx, DWORD PTR $T72548[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 34		; 00000022H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72547[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 35		; 00000023H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebp
	mov	BYTE PTR __$EHRec$[esp+264], 36		; 00000024H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 66   : 				if (!boneList.IsEmpty())

	mov	eax, DWORD PTR _boneList$59088[esp+260]
	test	eax, eax
	je	$LN26@Load
	cmp	DWORD PTR [eax+4], 0
	je	$LN26@Load
	cmp	DWORD PTR [eax], 0
	je	$LN26@Load

; 67   : 				{
; 68   : 					aToken boneTok(boneList);

	lea	eax, DWORD PTR _boneList$59088[esp+256]
	push	eax
	lea	ecx, DWORD PTR _boneTok$59095[esp+260]
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken

; 69   : 					bool Found = false;
; 70   : 					for (unsigned int j = 0; j < this->m_boneList.Count(); j++)

	xor	edi, edi
	xor	ebp, ebp
	cmp	DWORD PTR [esi+92], edi
	mov	BYTE PTR __$EHRec$[esp+264], 37		; 00000025H
	jbe	SHORT $LN427@Load
$LL25@Load:
	mov	ecx, DWORD PTR [esi+84]
	lea	eax, DWORD PTR [ecx+ebp*4]

; 71   : 					{
; 72   : 						if (this->m_boneList[j]->Vehicle == vehName)

	mov	ecx, DWORD PTR [eax]
	lea	edx, DWORD PTR _vehName$59083[esp+256]
	push	edx
	call	??8aString@@QAE_NABV0@@Z		; aString::operator==
	test	al, al
	jne	SHORT $LN419@Load
	add	ebp, 1
	cmp	ebp, DWORD PTR [esi+92]
	jb	SHORT $LL25@Load
$LN427@Load:

; 81   : 					{
; 82   : 						gzVehicleBoneData *newBone = new gzVehicleBoneData;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	82					; 00000052H
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	24					; 00000018H
	call	??2@YAPAXI@Z				; operator new
	mov	ebp, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T72552[esp+256], ebp
	cmp	ebp, edi
	mov	BYTE PTR __$EHRec$[esp+264], 39		; 00000027H
	je	$LN39@Load
	mov	ecx, ebp
	call	??0aString@@QAE@XZ			; aString::aString
	mov	DWORD PTR [ebp+12], edi
	mov	DWORD PTR [ebp+16], edi
	mov	DWORD PTR [ebp+20], edi
	mov	DWORD PTR [ebp+8], OFFSET ??_7aStringArray@@6B@
	jmp	$LN40@Load
$LN419@Load:

; 73   : 						{
; 74   : 							for (int j = 1; j <= boneTok.numtok(' '); j++)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _boneTok$59095[esp+260]
	mov	edi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, edi
	jl	$LN18@Load
$LN21@Load:

; 75   : 								this->m_boneList[j]->Bone.Add(boneTok.gettok(j,' ').GetData());

	push	32					; 00000020H
	push	edi
	lea	eax, DWORD PTR $T72550[esp+264]
	push	eax
	lea	ecx, DWORD PTR _boneTok$59095[esp+268]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+264], 38		; 00000026H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ebp, esp
	mov	DWORD PTR $T72549[esp+264], esp
	push	eax
	mov	ecx, ebp
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [ebp], OFFSET ??_7aString@@6B@
	mov	ecx, DWORD PTR [esi+84]
	lea	eax, DWORD PTR [ecx+edi*4]
	mov	ecx, DWORD PTR [eax]
	add	ecx, 8
	call	?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z ; aStringArrayBase<aString>::Add
	lea	ecx, DWORD PTR $T72550[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 37		; 00000025H
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	push	32					; 00000020H
	lea	ecx, DWORD PTR _boneTok$59095[esp+260]
	add	edi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	edi, eax
	jle	SHORT $LN21@Load

; 76   : 							Found = true;
; 77   : 							break;
; 78   : 						}
; 79   : 					}
; 80   : 					if (!Found)

	jmp	$LN18@Load
$LN39@Load:

; 81   : 					{
; 82   : 						gzVehicleBoneData *newBone = new gzVehicleBoneData;

	xor	ebp, ebp
$LN40@Load:
	mov	DWORD PTR _newBone$59109[esp+256], ebp

; 83   : 						for (int j = 1; j <= boneTok.numtok(' '); j++)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _boneTok$59095[esp+260]
	mov	BYTE PTR __$EHRec$[esp+268], 37		; 00000025H
	mov	ebp, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, ebp
	jl	$LN15@Load
$LN17@Load:

; 84   : 							newBone->Bone.Add(boneTok.gettok(j,' ').GetData());

	push	32					; 00000020H
	push	ebp
	lea	edx, DWORD PTR $T72558[esp+264]
	push	edx
	lea	ecx, DWORD PTR _boneTok$59095[esp+268]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+264], 40		; 00000028H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	lea	ecx, DWORD PTR $T72886[esp+260]
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	edi, DWORD PTR _newBone$59109[esp+256]
	mov	DWORD PTR $T72886[esp+256], OFFSET ??_7aString@@6B@
	add	edi, 8
	mov	ecx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+268], 41		; 00000029H
	call	edx
	test	al, al
	je	SHORT $LN244@Load
	mov	ecx, DWORD PTR $T72886[esp+260]
	call	?IncRef@aStringData@@QAEXXZ		; aStringData::IncRef
	mov	edx, DWORD PTR $T72886[esp+260]
	mov	eax, DWORD PTR [edi+8]
	mov	ecx, DWORD PTR [edi+4]
	mov	DWORD PTR [ecx+eax*4-4], edx
	add	DWORD PTR [edi+12], 1
$LN244@Load:
	lea	ecx, DWORD PTR $T72886[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 40		; 00000028H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72558[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 37		; 00000025H
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	push	32					; 00000020H
	lea	ecx, DWORD PTR _boneTok$59095[esp+260]
	add	ebp, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	ebp, eax
	jle	$LN17@Load
$LN15@Load:

; 85   : 						newBone->Vehicle = vehName;

	mov	ecx, DWORD PTR _newBone$59109[esp+256]
	lea	eax, DWORD PTR _vehName$59083[esp+256]
	push	eax
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=

; 86   : 						this->m_boneList.Add(newBone);

	mov	edx, DWORD PTR [esi+80]
	mov	edx, DWORD PTR [edx+12]
	lea	ecx, DWORD PTR [esi+80]
	lea	eax, DWORD PTR _newBone$59109[esp+256]
	push	eax
	call	edx
$LN18@Load:

; 87   : 					}
; 88   : 				}

	lea	ecx, DWORD PTR _boneTok$59095[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 36		; 00000024H
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	mov	edi, DWORD PTR _i$59076[esp+256]
$LN26@Load:

; 89   : 			}

	lea	ecx, DWORD PTR _boneList$59088[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 29		; 0000001dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR _vehName$59083[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	add	edi, 1
	push	OFFSET ??_C@_08KFCALMKM@BoneList?$AA@
	lea	ecx, DWORD PTR $T72543[esp+260]
	mov	DWORD PTR _i$59076[esp+260], edi
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+28]
	lea	edx, DWORD PTR $T72543[esp+256]
	push	edx
	mov	DWORD PTR __$EHRec$[esp+268], 24	; 00000018H
	call	eax
	cmp	edi, eax
	lea	ecx, DWORD PTR $T72543[esp+256]
	setle	BYTE PTR $T72542[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T72542[esp+256], 0
	jne	$LN29@Load
$LN27@Load:

; 90   : 
; 91   : 			// Wreckage
; 92   : 			for (int i = 1; i <= this->m_cfg->GetSubCount("WreckagePreset"); i++)

	push	OFFSET ??_C@_0P@NPFEIMOG@WreckagePreset?$AA@
	lea	ecx, DWORD PTR $T72560[esp+260]
	mov	edi, 1
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+28]
	lea	eax, DWORD PTR $T72560[esp+256]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+268], 42	; 0000002aH
	call	edx
	cmp	eax, edi
	lea	ecx, DWORD PTR $T72560[esp+256]
	setge	BYTE PTR $T72559[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T72559[esp+256], 0
	je	$LN12@Load
$LN14@Load:

; 93   : 			{
; 94   : 				gzVehicleWreckageStruct* wreckage = new gzVehicleWreckageStruct;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	mov	ebp, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T72562[esp+256], ebp
	test	ebp, ebp
	mov	DWORD PTR __$EHRec$[esp+264], 43	; 0000002bH
	je	SHORT $LN43@Load
	mov	ecx, ebp
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [ebp+8]
	mov	BYTE PTR __$EHRec$[esp+264], 44		; 0000002cH
	call	??0aString@@QAE@XZ			; aString::aString
	mov	eax, ebp
	jmp	SHORT $LN44@Load
$LN43@Load:
	xor	eax, eax
$LN44@Load:

; 95   : 				wreckage->vehicle = this->m_cfg->GetItem(aString::Format("WreckagePreset.[%d]", i), "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T72567[esp+260]
	mov	DWORD PTR __$EHRec$[esp+268], ebx
	mov	DWORD PTR _wreckage$59127[esp+260], eax
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	edi
	lea	eax, DWORD PTR $T72568[esp+260]
	push	OFFSET ??_C@_0BE@MIEMOBDF@WreckagePreset?4?$FL?$CFd?$FN?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+276], 45	; 0000002dH
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+16]
	lea	ebp, DWORD PTR $T72567[esp+256]
	push	ebp
	push	eax
	lea	eax, DWORD PTR $T72569[esp+264]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+276], 46		; 0000002eH
	call	edx
	mov	ecx, DWORD PTR _wreckage$59127[esp+256]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+268], 47		; 0000002fH
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T72569[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 46		; 0000002eH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72568[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 45		; 0000002dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebp
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 96   : 				wreckage->wreckage = this->m_cfg->GetData("WreckagePreset." + wreckage->vehicle, "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T72570[esp+260]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	OFFSET ??_C@_0BA@ECLBBKON@WreckagePreset?4?$AA@
	lea	ecx, DWORD PTR $T72571[esp+260]
	mov	DWORD PTR __$EHRec$[esp+268], 48	; 00000030H
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	eax, DWORD PTR _wreckage$59127[esp+256]
	push	eax
	lea	ecx, DWORD PTR $T72571[esp+260]
	push	ecx
	lea	edx, DWORD PTR $T72572[esp+264]
	push	edx
	mov	BYTE PTR __$EHRec$[esp+276], 49		; 00000031H
	call	??H@YA?AVaString@@ABV0@0@Z		; operator+
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	ebp, DWORD PTR $T72570[esp+256]
	push	ebp
	push	eax
	lea	eax, DWORD PTR $T72573[esp+264]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+276], 50		; 00000032H
	call	edx
	mov	ecx, DWORD PTR _wreckage$59127[esp+256]
	push	eax
	add	ecx, 8
	mov	BYTE PTR __$EHRec$[esp+268], 51		; 00000033H
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T72573[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 50		; 00000032H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72572[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 49		; 00000031H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	BYTE PTR __$EHRec$[esp+264], 48		; 00000030H
	lea	ecx, DWORD PTR $T72571[esp+256]
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebp
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 97   : 				if (!wreckage->vehicle.IsEmpty() && !wreckage->wreckage.IsEmpty())

	mov	eax, DWORD PTR _wreckage$59127[esp+256]
	cmp	DWORD PTR [eax+4], 0
	je	$LN11@Load
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+4], 0
	je	$LN11@Load
	cmp	DWORD PTR [ecx], 0
	je	$LN11@Load
	mov	ecx, DWORD PTR [eax+12]
	test	ecx, ecx
	je	SHORT $LN11@Load
	cmp	DWORD PTR [ecx+4], 0
	je	SHORT $LN11@Load
	cmp	DWORD PTR [ecx], 0
	je	SHORT $LN11@Load

; 98   : 				{
; 99   : 					nc_DefinitionClass *Definition = nc_DefinitionMgrClass::Find_Named_Definition(wreckage->wreckage.GetString(), true);

	mov	eax, ecx
	test	eax, eax
	je	SHORT $LN307@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN308@Load
$LN307@Load:
	xor	eax, eax
$LN308@Load:
	push	1
	push	eax
	call	?Find_Named_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PBD_N@Z ; nc_DefinitionMgrClass::Find_Named_Definition
	add	esp, 8

; 100  : 					if (Definition && Definition->Get_Class_ID() == 0x3010)

	test	eax, eax
	je	SHORT $LN10@Load
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12304				; 00003010H
	jne	SHORT $LN10@Load

; 101  : 						this->m_wreckageList.Add(wreckage);

	mov	edx, DWORD PTR [esi+24]
	mov	edx, DWORD PTR [edx+12]
	lea	ecx, DWORD PTR [esi+24]
	lea	eax, DWORD PTR _wreckage$59127[esp+256]
	push	eax
	call	edx

; 102  : 					else

	jmp	SHORT $LN13@Load
$LN10@Load:

; 103  : 						delete wreckage;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	103					; 00000067H
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _wreckage$59127[esp+268]
	add	esp, 12					; 0000000cH
	test	eax, eax
	mov	ebp, eax
	mov	DWORD PTR $T72574[esp+256], ebp
	je	SHORT $LN13@Load
	mov	DWORD PTR __$EHRec$[esp+264], 52	; 00000034H

; 104  : 				}
; 105  : 				else

	jmp	SHORT $LN445@Load
$LN11@Load:

; 106  : 					delete wreckage;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	106					; 0000006aH
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _wreckage$59127[esp+268]
	add	esp, 12					; 0000000cH
	test	eax, eax
	mov	ebp, eax
	mov	DWORD PTR $T72580[esp+256], ebp
	je	SHORT $LN13@Load
	mov	DWORD PTR __$EHRec$[esp+264], 53	; 00000035H
$LN445@Load:
	add	eax, 8
	mov	ecx, eax
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebp
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	ebp
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN13@Load:
	push	OFFSET ??_C@_0P@NPFEIMOG@WreckagePreset?$AA@
	lea	ecx, DWORD PTR $T72560[esp+260]
	add	edi, 1
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+28]
	lea	edx, DWORD PTR $T72560[esp+256]
	push	edx
	mov	DWORD PTR __$EHRec$[esp+268], 42	; 0000002aH
	call	eax
	cmp	edi, eax
	lea	ecx, DWORD PTR $T72560[esp+256]
	setle	BYTE PTR $T72559[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T72559[esp+256], 0
	jne	$LN14@Load
$LN12@Load:

; 107  : 			}
; 108  : 
; 109  : 			// Destroy animation
; 110  : 			for (int i = 1; i <= this->m_cfg->GetSubCount("DestroyAnimation"); i++)

	push	OFFSET ??_C@_0BB@ELJIIOPD@DestroyAnimation?$AA@
	lea	ecx, DWORD PTR $T72587[esp+260]
	mov	edi, 1
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+28]
	lea	eax, DWORD PTR $T72587[esp+256]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+268], 54	; 00000036H
	call	edx
	cmp	eax, edi
	lea	ecx, DWORD PTR $T72587[esp+256]
	setge	BYTE PTR $T72586[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T72586[esp+256], 0
	je	$LN5@Load
$LN7@Load:

; 111  : 			{
; 112  : 				gzVehicleDestroyAnimStruct* anim = new gzVehicleDestroyAnimStruct;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	112					; 00000070H
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	16					; 00000010H
	call	??2@YAPAXI@Z				; operator new
	mov	ebp, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T72589[esp+256], ebp
	test	ebp, ebp
	mov	DWORD PTR __$EHRec$[esp+264], 55	; 00000037H
	je	SHORT $LN55@Load
	mov	ecx, ebp
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [ebp+8]
	mov	BYTE PTR __$EHRec$[esp+264], 56		; 00000038H
	call	??0aString@@QAE@XZ			; aString::aString
	mov	eax, ebp
	jmp	SHORT $LN56@Load
$LN55@Load:
	xor	eax, eax
$LN56@Load:

; 113  : 				anim->vehicle = this->m_cfg->GetItem(aString::Format("DestroyAnimation.[%d]", i), "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T72594[esp+260]
	mov	DWORD PTR __$EHRec$[esp+268], ebx
	mov	DWORD PTR _anim$59157[esp+260], eax
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	edi
	lea	eax, DWORD PTR $T72595[esp+260]
	push	OFFSET ??_C@_0BG@EHNNBBHG@DestroyAnimation?4?$FL?$CFd?$FN?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+276], 57	; 00000039H
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+16]
	lea	ebp, DWORD PTR $T72594[esp+256]
	push	ebp
	push	eax
	lea	eax, DWORD PTR $T72596[esp+264]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+276], 58		; 0000003aH
	call	edx
	mov	ecx, DWORD PTR _anim$59157[esp+256]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+268], 59		; 0000003bH
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T72596[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 58		; 0000003aH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72595[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 57		; 00000039H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebp
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 114  : 				anim->anim = this->m_cfg->GetData("DestroyAnimation." + anim->vehicle, "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T72597[esp+260]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	OFFSET ??_C@_0BC@CPPIDCAE@DestroyAnimation?4?$AA@
	lea	ecx, DWORD PTR $T72598[esp+260]
	mov	DWORD PTR __$EHRec$[esp+268], 60	; 0000003cH
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	eax, DWORD PTR _anim$59157[esp+256]
	push	eax
	lea	ecx, DWORD PTR $T72598[esp+260]
	push	ecx
	lea	edx, DWORD PTR $T72599[esp+264]
	push	edx
	mov	BYTE PTR __$EHRec$[esp+276], 61		; 0000003dH
	call	??H@YA?AVaString@@ABV0@0@Z		; operator+
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	ebp, DWORD PTR $T72597[esp+256]
	push	ebp
	push	eax
	lea	eax, DWORD PTR $T72600[esp+264]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+276], 62		; 0000003eH
	call	edx
	mov	ecx, DWORD PTR _anim$59157[esp+256]
	push	eax
	add	ecx, 8
	mov	BYTE PTR __$EHRec$[esp+268], 63		; 0000003fH
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T72600[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 62		; 0000003eH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T72599[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 61		; 0000003dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	BYTE PTR __$EHRec$[esp+264], 60		; 0000003cH
	lea	ecx, DWORD PTR $T72598[esp+256]
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebp
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 115  : 				if (!anim->vehicle.IsEmpty() && !anim->anim.IsEmpty())

	mov	eax, DWORD PTR _anim$59157[esp+256]
	cmp	DWORD PTR [eax+4], 0
	je	$LN4@Load
	mov	ecx, DWORD PTR [eax+4]
	cmp	DWORD PTR [ecx+4], 0
	je	$LN4@Load
	cmp	DWORD PTR [ecx], 0
	je	$LN4@Load
	mov	ecx, DWORD PTR [eax+12]
	test	ecx, ecx
	je	SHORT $LN4@Load
	cmp	DWORD PTR [ecx+4], 0
	je	SHORT $LN4@Load
	cmp	DWORD PTR [ecx], 0
	je	SHORT $LN4@Load

; 116  : 				{
; 117  : 					nc_DefinitionClass *Definition = nc_DefinitionMgrClass::Find_Named_Definition(anim->anim.GetString(), true);

	mov	eax, ecx
	test	eax, eax
	je	SHORT $LN383@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN384@Load
$LN383@Load:
	xor	eax, eax
$LN384@Load:
	push	1
	push	eax
	call	?Find_Named_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PBD_N@Z ; nc_DefinitionMgrClass::Find_Named_Definition
	add	esp, 8

; 118  : 					if (Definition && Definition->Get_Class_ID() == 0x3010)

	test	eax, eax
	je	SHORT $LN3@Load
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12304				; 00003010H
	jne	SHORT $LN3@Load

; 119  : 						this->m_destroyAnimList.Add(anim);

	mov	edx, DWORD PTR [esi+40]
	mov	edx, DWORD PTR [edx+12]
	lea	ecx, DWORD PTR [esi+40]
	lea	eax, DWORD PTR _anim$59157[esp+256]
	push	eax
	call	edx

; 120  : 					else

	jmp	SHORT $LN6@Load
$LN3@Load:

; 121  : 						delete anim;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	121					; 00000079H
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _anim$59157[esp+268]
	add	esp, 12					; 0000000cH
	test	eax, eax
	mov	ebp, eax
	mov	DWORD PTR $T72601[esp+256], ebp
	je	SHORT $LN6@Load
	mov	DWORD PTR __$EHRec$[esp+264], 64	; 00000040H

; 122  : 				}
; 123  : 				else

	jmp	SHORT $LN446@Load
$LN4@Load:

; 124  : 					delete anim;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	124					; 0000007cH
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _anim$59157[esp+268]
	add	esp, 12					; 0000000cH
	test	eax, eax
	mov	ebp, eax
	mov	DWORD PTR $T72607[esp+256], ebp
	je	SHORT $LN6@Load
	mov	DWORD PTR __$EHRec$[esp+264], 65	; 00000041H
$LN446@Load:
	lea	ecx, DWORD PTR [eax+8]
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebp
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	ebp
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN6@Load:
	push	OFFSET ??_C@_0BB@ELJIIOPD@DestroyAnimation?$AA@
	lea	ecx, DWORD PTR $T72587[esp+260]
	add	edi, 1
	call	??0aWideString@@QAE@PBD@Z		; aWideString::aWideString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+28]
	lea	edx, DWORD PTR $T72587[esp+256]
	push	edx
	mov	DWORD PTR __$EHRec$[esp+268], 54	; 00000036H
	call	eax
	cmp	edi, eax
	lea	ecx, DWORD PTR $T72587[esp+256]
	setle	BYTE PTR $T72586[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T72586[esp+256], 0
	jne	$LN7@Load
$LN5@Load:

; 125  : 			}
; 126  : 		}
; 127  : 		delete this->m_cfg;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	127					; 0000007fH
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+12]
	add	esp, 12					; 0000000cH
	test	ecx, ecx
	je	SHORT $LN67@Load
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx]
	push	1
	call	eax
$LN67@Load:

; 128  : 		this->m_cfg = NULL;

	mov	DWORD PTR [esi+12], 0
$LN32@Load:

; 129  : 	}
; 130  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+256]
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	pop	ebp
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$0:
	mov	eax, DWORD PTR $T72515[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$1:
	mov	eax, DWORD PTR $T72620[ebp]
	and	eax, 1
	je	$LN73@Load
	and	DWORD PTR $T72620[ebp], -2		; fffffffeH
	lea	ecx, DWORD PTR $T72516[ebp]
	jmp	??1aString@@UAE@XZ
$LN73@Load:
	ret	0
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$2:
	lea	ecx, DWORD PTR $T72521[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$3:
	lea	ecx, DWORD PTR $T72522[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$4:
	lea	ecx, DWORD PTR $T72523[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$5:
	lea	ecx, DWORD PTR $T72524[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$6:
	lea	ecx, DWORD PTR $T72525[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$7:
	lea	ecx, DWORD PTR $T72526[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$8:
	lea	ecx, DWORD PTR $T72527[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$9:
	lea	ecx, DWORD PTR $T72528[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$10:
	lea	ecx, DWORD PTR $T72529[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$11:
	lea	ecx, DWORD PTR $T72530[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$12:
	lea	ecx, DWORD PTR $T72531[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$13:
	lea	ecx, DWORD PTR $T72532[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$14:
	lea	ecx, DWORD PTR $T72533[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$15:
	lea	ecx, DWORD PTR $T72534[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$16:
	lea	ecx, DWORD PTR $T72535[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$17:
	lea	ecx, DWORD PTR $T72536[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$18:
	lea	ecx, DWORD PTR $T72537[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$19:
	lea	ecx, DWORD PTR $T72538[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$20:
	lea	ecx, DWORD PTR $T72539[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$21:
	lea	ecx, DWORD PTR $T72540[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$22:
	lea	ecx, DWORD PTR $T72541[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$23:
	lea	ecx, DWORD PTR $T72543[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$24:
	lea	ecx, DWORD PTR $T72544[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$25:
	lea	ecx, DWORD PTR $T72545[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$26:
	lea	ecx, DWORD PTR _vehName$59083[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$27:
	lea	ecx, DWORD PTR $T72546[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$28:
	lea	ecx, DWORD PTR $T72547[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$29:
	lea	ecx, DWORD PTR $T72548[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$30:
	lea	ecx, DWORD PTR _boneList$59088[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$31:
	lea	ecx, DWORD PTR _boneTok$59095[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$34:
	mov	eax, DWORD PTR $T72552[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$32:
	lea	ecx, DWORD PTR $T72550[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$35:
	lea	ecx, DWORD PTR $T72558[ebp]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$87:
	lea	ecx, DWORD PTR $T72886[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$37:
	lea	ecx, DWORD PTR $T72560[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$38:
	mov	eax, DWORD PTR $T72562[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$92:
	mov	ecx, DWORD PTR $T72562[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$39:
	lea	ecx, DWORD PTR $T72567[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$40:
	lea	ecx, DWORD PTR $T72568[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$41:
	lea	ecx, DWORD PTR $T72569[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$42:
	lea	ecx, DWORD PTR $T72570[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$43:
	lea	ecx, DWORD PTR $T72571[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$44:
	lea	ecx, DWORD PTR $T72572[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$45:
	lea	ecx, DWORD PTR $T72573[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$101:
	mov	ecx, DWORD PTR $T72574[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$105:
	mov	ecx, DWORD PTR $T72580[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$46:
	lea	ecx, DWORD PTR $T72587[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$47:
	mov	eax, DWORD PTR $T72589[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$110:
	mov	ecx, DWORD PTR $T72589[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$48:
	lea	ecx, DWORD PTR $T72594[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$49:
	lea	ecx, DWORD PTR $T72595[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$50:
	lea	ecx, DWORD PTR $T72596[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$51:
	lea	ecx, DWORD PTR $T72597[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$52:
	lea	ecx, DWORD PTR $T72598[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$53:
	lea	ecx, DWORD PTR $T72599[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$54:
	lea	ecx, DWORD PTR $T72600[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$119:
	mov	ecx, DWORD PTR $T72601[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVehicleClass@@UAEXXZ$123:
	mov	ecx, DWORD PTR $T72607[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load@gzSettingsVehicleClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Load@gzSettingsVehicleClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load@gzSettingsVehicleClass@@UAEXXZ ENDP		; gzSettingsVehicleClass::Load
PUBLIC	??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@ ; `string'
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehBind>::gzChatCommand_Reg<gzChat_vehBind>
EXTRN	?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A:BYTE ; gzChatManagerClass::m_chatCommandList
EXTRN	??4aWideString@@QAEAAV0@ABV0@@Z:PROC		; aWideString::operator=
EXTRN	??0aWideString@@QAE@ABVaString@@@Z:PROC		; aWideString::aWideString
;	COMDAT ??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@
; File d:\source code\alib\include\avector.h
CONST	SEGMENT
??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@ DB 'd:\source '
	DB	'code\gzgm\gzchat.h', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -32						; size = 4
$T73247 = -28						; size = 8
$T73246 = -28						; size = 8
$T73244 = -28						; size = 4
$T73239 = -28						; size = 4
$T73237 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_cmdTok$ = 8						; size = 4
_commands$ = 8						; size = 4
$T73245 = 12						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_vehBind>::gzChatCommand_Reg<gzChat_vehBind>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[esp+28]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+48], edi
	je	$LN37@gzChatComm

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

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

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73239[esp+48], esi
	cmp	esi, ebp
	mov	BYTE PTR __$EHRec$[esp+56], 3
	je	SHORT $LN9@gzChatComm
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehBind@@6B@
	mov	ebp, esi
$LN9@gzChatComm:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[esp+44]
	mov	DWORD PTR [ebp+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm
	lea	edi, DWORD PTR [ebp+4]
	npad	6
$LL5@gzChatComm:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T73245[esp+52]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+56]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+56], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T73244[esp+56], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T73245[esp+44]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+48]
$LN3@gzChatComm:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T73246[esp+52]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73246[esp+48]
	push	eax
	lea	ecx, DWORD PTR [ebp+24]
	mov	BYTE PTR __$EHRec$[esp+60], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T73246[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T73247[esp+52]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T73247[esp+48]
	push	ecx
	lea	ecx, DWORD PTR [ebp+32]
	mov	BYTE PTR __$EHRec$[esp+60], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T73247[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4-4], ebp
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@QAE@XZ			; aToken::~aToken
$LN37@gzChatComm:
	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 32					; 00000020H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T73237[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T73239[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T73245[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T73246[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T73247[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_vehBind>::gzChatCommand_Reg<gzChat_vehBind>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehLock>::gzChatCommand_Reg<gzChat_vehLock>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -32						; size = 4
$T73297 = -28						; size = 8
$T73296 = -28						; size = 8
$T73294 = -28						; size = 4
$T73289 = -28						; size = 4
$T73287 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_cmdTok$ = 8						; size = 4
_commands$ = 8						; size = 4
$T73295 = 12						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_vehLock>::gzChatCommand_Reg<gzChat_vehLock>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[esp+28]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+48], edi
	je	$LN37@gzChatComm@2

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

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

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73289[esp+48], esi
	cmp	esi, ebp
	mov	BYTE PTR __$EHRec$[esp+56], 3
	je	SHORT $LN9@gzChatComm@2
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehLock@@6B@
	mov	ebp, esi
$LN9@gzChatComm@2:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[esp+44]
	mov	DWORD PTR [ebp+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@2
	lea	edi, DWORD PTR [ebp+4]
	npad	6
$LL5@gzChatComm@2:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T73295[esp+52]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+56]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+56], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T73294[esp+56], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T73295[esp+44]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@2

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+48]
$LN3@gzChatComm@2:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@2

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T73296[esp+52]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73296[esp+48]
	push	eax
	lea	ecx, DWORD PTR [ebp+24]
	mov	BYTE PTR __$EHRec$[esp+60], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T73296[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@2

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T73297[esp+52]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T73297[esp+48]
	push	ecx
	lea	ecx, DWORD PTR [ebp+32]
	mov	BYTE PTR __$EHRec$[esp+60], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T73297[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@2:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@2
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4-4], ebp
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@2:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@QAE@XZ			; aToken::~aToken
$LN37@gzChatComm@2:
	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 32					; 00000020H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T73287[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T73289[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T73295[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T73296[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T73297[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_vehLock>::gzChatCommand_Reg<gzChat_vehLock>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehUnbind>::gzChatCommand_Reg<gzChat_vehUnbind>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -32						; size = 4
$T73347 = -28						; size = 8
$T73346 = -28						; size = 8
$T73344 = -28						; size = 4
$T73339 = -28						; size = 4
$T73337 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_cmdTok$ = 8						; size = 4
_commands$ = 8						; size = 4
$T73345 = 12						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_vehUnbind>::gzChatCommand_Reg<gzChat_vehUnbind>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[esp+28]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+48], edi
	je	$LN37@gzChatComm@3

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

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

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73339[esp+48], esi
	cmp	esi, ebp
	mov	BYTE PTR __$EHRec$[esp+56], 3
	je	SHORT $LN9@gzChatComm@3
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehUnbind@@6B@
	mov	ebp, esi
$LN9@gzChatComm@3:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[esp+44]
	mov	DWORD PTR [ebp+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@3
	lea	edi, DWORD PTR [ebp+4]
	npad	6
$LL5@gzChatComm@3:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T73345[esp+52]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+56]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+56], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T73344[esp+56], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T73345[esp+44]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@3

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+48]
$LN3@gzChatComm@3:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@3

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T73346[esp+52]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73346[esp+48]
	push	eax
	lea	ecx, DWORD PTR [ebp+24]
	mov	BYTE PTR __$EHRec$[esp+60], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T73346[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@3

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T73347[esp+52]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T73347[esp+48]
	push	ecx
	lea	ecx, DWORD PTR [ebp+32]
	mov	BYTE PTR __$EHRec$[esp+60], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T73347[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@3:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@3
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4-4], ebp
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@3:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@QAE@XZ			; aToken::~aToken
$LN37@gzChatComm@3:
	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 32					; 00000020H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T73337[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T73339[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T73345[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T73346[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T73347[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_vehUnbind>::gzChatCommand_Reg<gzChat_vehUnbind>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehUnlock>::gzChatCommand_Reg<gzChat_vehUnlock>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -32						; size = 4
$T73397 = -28						; size = 8
$T73396 = -28						; size = 8
$T73394 = -28						; size = 4
$T73389 = -28						; size = 4
$T73387 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_cmdTok$ = 8						; size = 4
_commands$ = 8						; size = 4
$T73395 = 12						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_vehUnlock>::gzChatCommand_Reg<gzChat_vehUnlock>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[esp+28]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+48], edi
	je	$LN37@gzChatComm@4

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

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

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73389[esp+48], esi
	cmp	esi, ebp
	mov	BYTE PTR __$EHRec$[esp+56], 3
	je	SHORT $LN9@gzChatComm@4
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehUnlock@@6B@
	mov	ebp, esi
$LN9@gzChatComm@4:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[esp+44]
	mov	DWORD PTR [ebp+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@4
	lea	edi, DWORD PTR [ebp+4]
	npad	6
$LL5@gzChatComm@4:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T73395[esp+52]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+56]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+56], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T73394[esp+56], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T73395[esp+44]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@4

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+48]
$LN3@gzChatComm@4:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@4

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T73396[esp+52]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73396[esp+48]
	push	eax
	lea	ecx, DWORD PTR [ebp+24]
	mov	BYTE PTR __$EHRec$[esp+60], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T73396[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@4

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T73397[esp+52]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T73397[esp+48]
	push	ecx
	lea	ecx, DWORD PTR [ebp+32]
	mov	BYTE PTR __$EHRec$[esp+60], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T73397[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@4:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@4
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4-4], ebp
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@4:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@QAE@XZ			; aToken::~aToken
$LN37@gzChatComm@4:
	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 32					; 00000020H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T73387[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T73389[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T73395[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T73396[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T73397[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_vehUnlock>::gzChatCommand_Reg<gzChat_vehUnlock>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehKick>::gzChatCommand_Reg<gzChat_vehKick>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -32						; size = 4
$T73447 = -28						; size = 8
$T73446 = -28						; size = 8
$T73444 = -28						; size = 4
$T73439 = -28						; size = 4
$T73437 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_cmdTok$ = 8						; size = 4
_commands$ = 8						; size = 4
$T73445 = 12						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_vehKick>::gzChatCommand_Reg<gzChat_vehKick>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[esp+28]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+48], edi
	je	$LN37@gzChatComm@5

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

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

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73439[esp+48], esi
	cmp	esi, ebp
	mov	BYTE PTR __$EHRec$[esp+56], 3
	je	SHORT $LN9@gzChatComm@5
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehKick@@6B@
	mov	ebp, esi
$LN9@gzChatComm@5:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[esp+44]
	mov	DWORD PTR [ebp+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@5
	lea	edi, DWORD PTR [ebp+4]
	npad	6
$LL5@gzChatComm@5:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T73445[esp+52]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+56]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+56], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T73444[esp+56], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T73445[esp+44]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@5

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+48]
$LN3@gzChatComm@5:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@5

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T73446[esp+52]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73446[esp+48]
	push	eax
	lea	ecx, DWORD PTR [ebp+24]
	mov	BYTE PTR __$EHRec$[esp+60], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T73446[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@5

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T73447[esp+52]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T73447[esp+48]
	push	ecx
	lea	ecx, DWORD PTR [ebp+32]
	mov	BYTE PTR __$EHRec$[esp+60], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T73447[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@5:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@5
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4-4], ebp
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@5:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@QAE@XZ			; aToken::~aToken
$LN37@gzChatComm@5:
	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 32					; 00000020H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T73437[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T73439[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T73445[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T73446[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T73447[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_vehKick>::gzChatCommand_Reg<gzChat_vehKick>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehList>::gzChatCommand_Reg<gzChat_vehList>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -32						; size = 4
$T73497 = -28						; size = 8
$T73496 = -28						; size = 8
$T73494 = -28						; size = 4
$T73489 = -28						; size = 4
$T73487 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_cmdTok$ = 8						; size = 4
_commands$ = 8						; size = 4
$T73495 = 12						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_vehList>::gzChatCommand_Reg<gzChat_vehList>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[esp+28]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+48], edi
	je	$LN37@gzChatComm@6

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

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

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73489[esp+48], esi
	cmp	esi, ebp
	mov	BYTE PTR __$EHRec$[esp+56], 3
	je	SHORT $LN9@gzChatComm@6
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehList@@6B@
	mov	ebp, esi
$LN9@gzChatComm@6:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[esp+44]
	mov	DWORD PTR [ebp+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@6
	lea	edi, DWORD PTR [ebp+4]
	npad	6
$LL5@gzChatComm@6:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T73495[esp+52]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+56]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+56], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T73494[esp+56], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T73495[esp+44]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@6

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+48]
$LN3@gzChatComm@6:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@6

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T73496[esp+52]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73496[esp+48]
	push	eax
	lea	ecx, DWORD PTR [ebp+24]
	mov	BYTE PTR __$EHRec$[esp+60], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T73496[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@6

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T73497[esp+52]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T73497[esp+48]
	push	ecx
	lea	ecx, DWORD PTR [ebp+32]
	mov	BYTE PTR __$EHRec$[esp+60], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T73497[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@6:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@6
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4-4], ebp
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@6:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@QAE@XZ			; aToken::~aToken
$LN37@gzChatComm@6:
	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 32					; 00000020H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T73487[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T73489[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T73495[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T73496[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T73497[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_vehList>::gzChatCommand_Reg<gzChat_vehList>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehStatus>::gzChatCommand_Reg<gzChat_vehStatus>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -32						; size = 4
$T73547 = -28						; size = 8
$T73546 = -28						; size = 8
$T73544 = -28						; size = 4
$T73539 = -28						; size = 4
$T73537 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_cmdTok$ = 8						; size = 4
_commands$ = 8						; size = 4
$T73545 = 12						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_vehStatus>::gzChatCommand_Reg<gzChat_vehStatus>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[esp+28]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+48], edi
	je	$LN37@gzChatComm@7

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

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

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73539[esp+48], esi
	cmp	esi, ebp
	mov	BYTE PTR __$EHRec$[esp+56], 3
	je	SHORT $LN9@gzChatComm@7
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_vehStatus@@6B@
	mov	ebp, esi
$LN9@gzChatComm@7:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[esp+44]
	mov	DWORD PTR [ebp+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@7
	lea	edi, DWORD PTR [ebp+4]
	npad	6
$LL5@gzChatComm@7:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T73545[esp+52]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+56]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+56], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T73544[esp+56], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T73545[esp+44]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@7

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+48]
$LN3@gzChatComm@7:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@7

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T73546[esp+52]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73546[esp+48]
	push	eax
	lea	ecx, DWORD PTR [ebp+24]
	mov	BYTE PTR __$EHRec$[esp+60], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T73546[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@7

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T73547[esp+52]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T73547[esp+48]
	push	ecx
	lea	ecx, DWORD PTR [ebp+32]
	mov	BYTE PTR __$EHRec$[esp+60], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T73547[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@7:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@7
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4-4], ebp
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@7:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@QAE@XZ			; aToken::~aToken
$LN37@gzChatComm@7:
	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 32					; 00000020H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T73537[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T73539[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T73545[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T73546[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T73547[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_vehStatus>::gzChatCommand_Reg<gzChat_vehStatus>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_HarvStatus>::gzChatCommand_Reg<gzChat_HarvStatus>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -32						; size = 4
$T73597 = -28						; size = 8
$T73596 = -28						; size = 8
$T73594 = -28						; size = 4
$T73589 = -28						; size = 4
$T73587 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_cmdTok$ = 8						; size = 4
_commands$ = 8						; size = 4
$T73595 = 12						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_HarvStatus>::gzChatCommand_Reg<gzChat_HarvStatus>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[esp+28]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+48], edi
	je	$LN37@gzChatComm@8

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

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

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73589[esp+48], esi
	cmp	esi, ebp
	mov	BYTE PTR __$EHRec$[esp+56], 3
	je	SHORT $LN9@gzChatComm@8
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_HarvStatus@@6B@
	mov	ebp, esi
$LN9@gzChatComm@8:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[esp+44]
	mov	DWORD PTR [ebp+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@8
	lea	edi, DWORD PTR [ebp+4]
	npad	6
$LL5@gzChatComm@8:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T73595[esp+52]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+56]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+56], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T73594[esp+56], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T73595[esp+44]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@8

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+48]
$LN3@gzChatComm@8:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@8

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T73596[esp+52]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73596[esp+48]
	push	eax
	lea	ecx, DWORD PTR [ebp+24]
	mov	BYTE PTR __$EHRec$[esp+60], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T73596[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@8

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T73597[esp+52]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T73597[esp+48]
	push	ecx
	lea	ecx, DWORD PTR [ebp+32]
	mov	BYTE PTR __$EHRec$[esp+60], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T73597[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@8:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm@8
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4-4], ebp
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@8:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@QAE@XZ			; aToken::~aToken
$LN37@gzChatComm@8:
	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 32					; 00000020H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T73587[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T73589[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T73595[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T73596[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T73597[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_HarvStatus>::gzChatCommand_Reg<gzChat_HarvStatus>
PUBLIC	??_C@_0CI@IPBJFLGC@?$CBharvstats?0?$CBharvstatus?0?$CBhstats?0?$CB@ ; `string'
PUBLIC	??_C@_0L@NGNPBHOB@HarvUplink?$AA@		; `string'
PUBLIC	??_C@_0CG@PPHKDIEH@?$CBvstats?0?$CBvstatus?0?$CBvehstats?0?$CBvehs@ ; `string'
PUBLIC	??_C@_09CJCMELCG@VehStatus?$AA@			; `string'
PUBLIC	??_C@_06NBCKLEEL@?$CBvlist?$AA@			; `string'
PUBLIC	??_C@_0L@CLAIEKAD@?$CBvkick?0?$CBvk?$AA@	; `string'
PUBLIC	??_C@_07NALAGJPE@?$CBunlock?$AA@		; `string'
PUBLIC	??_C@_0M@KLHGKFPD@?$CBunbind?0?$CBub?$AA@	; `string'
PUBLIC	??_C@_09EJLPKHJK@?$CBlock?0?$CBbl?$AA@		; `string'
PUBLIC	??_C@_05BEHIMLMA@VehBL?$AA@			; `string'
PUBLIC	??_C@_05GEMJFMOC@?$CBbind?$AA@			; `string'
PUBLIC	??_C@_07BDHIMPIL@VehBind?$AA@			; `string'
PUBLIC	??_7gzManagerVehicle@@6BgzManagerEvent@@@	; gzManagerVehicle::`vftable'
PUBLIC	??_7gzManagerVehicle@@6BgzEvtHandler@@@		; gzManagerVehicle::`vftable'
PUBLIC	??0gzManagerVehicle@@QAE@XZ			; gzManagerVehicle::gzManagerVehicle
PUBLIC	??_R4gzManagerVehicle@@6BgzEvtHandler@@@	; gzManagerVehicle::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzManagerVehicle@@@8			; gzManagerVehicle `RTTI Type Descriptor'
PUBLIC	??_R3gzManagerVehicle@@8			; gzManagerVehicle::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzManagerVehicle@@8			; gzManagerVehicle::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzManagerVehicle@@8		; gzManagerVehicle::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1CE@?0A@EA@gzManagerEvent@@8		; gzManagerEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
PUBLIC	?GetName@gzManagerVehicle@@UAEPBDXZ		; gzManagerVehicle::GetName
PUBLIC	?Think@gzEvtHandler@@UAEXXZ			; gzEvtHandler::Think
PUBLIC	??_R4gzManagerVehicle@@6BgzManagerEvent@@@	; gzManagerVehicle::`RTTI Complete Object Locator'
PUBLIC	?GetName@gzManagerVehicle@@WCE@AEPBDXZ		; [thunk]:gzManagerVehicle::GetName`adjustor{36}'
EXTRN	??_EgzManagerVehicle@@UAEPAXI@Z:PROC		; gzManagerVehicle::`vector deleting destructor'
;	COMDAT ??_R4gzManagerVehicle@@6BgzManagerEvent@@@
; File d:\source code\alib\include\alist.h
rdata$r	SEGMENT
??_R4gzManagerVehicle@@6BgzManagerEvent@@@ DD 00H	; gzManagerVehicle::`RTTI Complete Object Locator'
	DD	024H
	DD	00H
	DD	FLAT:??_R0?AVgzManagerVehicle@@@8
	DD	FLAT:??_R3gzManagerVehicle@@8
rdata$r	ENDS
;	COMDAT ??_R1CE@?0A@EA@gzManagerEvent@@8
rdata$r	SEGMENT
??_R1CE@?0A@EA@gzManagerEvent@@8 DD FLAT:??_R0?AVgzManagerEvent@@@8 ; gzManagerEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
	DD	00H
	DD	024H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzManagerVehicle@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzManagerVehicle@@8 DD FLAT:??_R0?AVgzManagerVehicle@@@8 ; gzManagerVehicle::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzManagerVehicle@@8
rdata$r	ENDS
;	COMDAT ??_R2gzManagerVehicle@@8
rdata$r	SEGMENT
??_R2gzManagerVehicle@@8 DD FLAT:??_R1A@?0A@EA@gzManagerVehicle@@8 ; gzManagerVehicle::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzEvtHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
	DD	FLAT:??_R1CE@?0A@EA@gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R3gzManagerVehicle@@8
rdata$r	SEGMENT
??_R3gzManagerVehicle@@8 DD 00H				; gzManagerVehicle::`RTTI Class Hierarchy Descriptor'
	DD	01H
	DD	04H
	DD	FLAT:??_R2gzManagerVehicle@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzManagerVehicle@@@8
_DATA	SEGMENT
??_R0?AVgzManagerVehicle@@@8 DD FLAT:??_7type_info@@6B@	; gzManagerVehicle `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzManagerVehicle@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzManagerVehicle@@6BgzEvtHandler@@@
rdata$r	SEGMENT
??_R4gzManagerVehicle@@6BgzEvtHandler@@@ DD 00H		; gzManagerVehicle::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzManagerVehicle@@@8
	DD	FLAT:??_R3gzManagerVehicle@@8
rdata$r	ENDS
;	COMDAT ??_C@_0CI@IPBJFLGC@?$CBharvstats?0?$CBharvstatus?0?$CBhstats?0?$CB@
CONST	SEGMENT
??_C@_0CI@IPBJFLGC@?$CBharvstats?0?$CBharvstatus?0?$CBhstats?0?$CB@ DB '!'
	DB	'harvstats,!harvstatus,!hstats,!hstatus', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@NGNPBHOB@HarvUplink?$AA@
CONST	SEGMENT
??_C@_0L@NGNPBHOB@HarvUplink?$AA@ DB 'HarvUplink', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CG@PPHKDIEH@?$CBvstats?0?$CBvstatus?0?$CBvehstats?0?$CBvehs@
CONST	SEGMENT
??_C@_0CG@PPHKDIEH@?$CBvstats?0?$CBvstatus?0?$CBvehstats?0?$CBvehs@ DB '!'
	DB	'vstats,!vstatus,!vehstats,!vehstatus', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09CJCMELCG@VehStatus?$AA@
CONST	SEGMENT
??_C@_09CJCMELCG@VehStatus?$AA@ DB 'VehStatus', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_06NBCKLEEL@?$CBvlist?$AA@
CONST	SEGMENT
??_C@_06NBCKLEEL@?$CBvlist?$AA@ DB '!vlist', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@CLAIEKAD@?$CBvkick?0?$CBvk?$AA@
CONST	SEGMENT
??_C@_0L@CLAIEKAD@?$CBvkick?0?$CBvk?$AA@ DB '!vkick,!vk', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_07NALAGJPE@?$CBunlock?$AA@
CONST	SEGMENT
??_C@_07NALAGJPE@?$CBunlock?$AA@ DB '!unlock', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@KLHGKFPD@?$CBunbind?0?$CBub?$AA@
CONST	SEGMENT
??_C@_0M@KLHGKFPD@?$CBunbind?0?$CBub?$AA@ DB '!unbind,!ub', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09EJLPKHJK@?$CBlock?0?$CBbl?$AA@
CONST	SEGMENT
??_C@_09EJLPKHJK@?$CBlock?0?$CBbl?$AA@ DB '!lock,!bl', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_05BEHIMLMA@VehBL?$AA@
CONST	SEGMENT
??_C@_05BEHIMLMA@VehBL?$AA@ DB 'VehBL', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_05GEMJFMOC@?$CBbind?$AA@
CONST	SEGMENT
??_C@_05GEMJFMOC@?$CBbind?$AA@ DB '!bind', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07BDHIMPIL@VehBind?$AA@
CONST	SEGMENT
??_C@_07BDHIMPIL@VehBind?$AA@ DB 'VehBind', 00H		; `string'
CONST	ENDS
;	COMDAT ??_7gzManagerVehicle@@6BgzManagerEvent@@@
CONST	SEGMENT
??_7gzManagerVehicle@@6BgzManagerEvent@@@ DD FLAT:??_R4gzManagerVehicle@@6BgzManagerEvent@@@ ; gzManagerVehicle::`vftable'
	DD	FLAT:?GetName@gzManagerVehicle@@WCE@AEPBDXZ
	DD	FLAT:?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z
	DD	FLAT:?ChildObjDeletion@gzManagerVehicle@@UAEXPAVgzBase@@@Z
CONST	ENDS
;	COMDAT ??_7gzManagerVehicle@@6BgzEvtHandler@@@
CONST	SEGMENT
??_7gzManagerVehicle@@6BgzEvtHandler@@@ DD FLAT:??_R4gzManagerVehicle@@6BgzEvtHandler@@@ ; gzManagerVehicle::`vftable'
	DD	FLAT:??_EgzManagerVehicle@@UAEPAXI@Z
	DD	FLAT:?GetName@gzManagerVehicle@@UAEPBDXZ
	DD	FLAT:?Delete@gzManagerVehicle@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzManagerVehicle@@UAEXXZ
	DD	FLAT:?Level_Ended@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Think@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@gzManagerVehicle@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@gzManagerVehicle@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@gzManagerVehicle@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzManagerVehicle@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzManagerVehicle@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzManagerVehicle@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0gzManagerVehicle@@QAE@XZ$2
__ehfuncinfo$??0gzManagerVehicle@@QAE@XZ DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0gzManagerVehicle@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
xdata$x	ENDS
;	COMDAT ??0gzManagerVehicle@@QAE@XZ
_TEXT	SEGMENT
_gzChat_HarvStatus_Reg$ = -21				; size = 1
_Chat_vehStatus_Reg$ = -21				; size = 1
_Chat_vehList_Reg$ = -21				; size = 1
_Chat_vehKick_Reg$ = -21				; size = 1
_Chat_vehUnlock_Reg$ = -21				; size = 1
_Chat_vehUnbind_Reg$ = -21				; size = 1
_Chat_vehLock_Reg$ = -21				; size = 1
_Chat_vehBind_Reg$ = -21				; size = 1
_this$ = -20						; size = 4
$T73638 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzManagerVehicle@@QAE@XZ PROC			; gzManagerVehicle::gzManagerVehicle, COMDAT
; _this$ = ecx

; 138  : {

	push	-1
	push	__ehhandler$??0gzManagerVehicle@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 12					; 0000000cH
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+32], esi
	call	??0gzEvtHandler@@QAE@XZ			; gzEvtHandler::gzEvtHandler
	mov	DWORD PTR [esi+36], OFFSET ??_7gzManagerEvent@@6B@
	xor	edi, edi
	mov	DWORD PTR [esi], OFFSET ??_7gzManagerVehicle@@6BgzEvtHandler@@@
	mov	DWORD PTR [esi+36], OFFSET ??_7gzManagerVehicle@@6BgzManagerEvent@@@
	mov	DWORD PTR __$EHRec$[esp+40], edi
	mov	DWORD PTR [esi+44], OFFSET ??_7?$aList@VgzVehicleData@@@@6B@
	mov	DWORD PTR [esi+52], edi
	mov	DWORD PTR [esi+56], edi
	mov	DWORD PTR [esi+48], edi

; 139  : 	this->RegisterEvent(gzEVT_GAME_LEVEL_LOADED);

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

; 140  : 	this->RegisterEvent(gzEVT_OBJECT_CREATE);

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

; 141  : 	this->RegisterEvent(gzEVT_OBJECT_KILL);

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

; 142  : 
; 143  : 	this->m_settings = new gzSettingsVehicleClass;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	143					; 0000008fH
	push	OFFSET ??_C@_0BA@DIMNOBPK@?4?2gzvehicle?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	104					; 00000068H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73638[esp+32], eax
	cmp	eax, edi
	mov	BYTE PTR __$EHRec$[esp+40], 2
	je	SHORT $LN3@gzManagerV
	mov	ecx, eax
	call	??0gzSettingsVehicleClass@@QAE@XZ
	jmp	SHORT $LN4@gzManagerV
$LN3@gzManagerV:
	xor	eax, eax
$LN4@gzManagerV:

; 144  : 
; 145  : 	gzChatCommand_Reg<gzChat_vehBind> Chat_vehBind_Reg("!bind", MSG_ALL | MSG_TEAM, "VehBind");

	push	edi
	push	OFFSET ??_C@_07BDHIMPIL@VehBind?$AA@
	push	3
	push	OFFSET ??_C@_05GEMJFMOC@?$CBbind?$AA@
	lea	ecx, DWORD PTR _Chat_vehBind_Reg$[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], 1
	mov	DWORD PTR [esi+40], eax
	call	??0?$gzChatCommand_Reg@VgzChat_vehBind@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehBind>::gzChatCommand_Reg<gzChat_vehBind>

; 146  : 	gzChatCommand_Reg<gzChat_vehLock> Chat_vehLock_Reg("!lock,!bl", MSG_ALL | MSG_TEAM, "VehBL");

	push	edi
	push	OFFSET ??_C@_05BEHIMLMA@VehBL?$AA@
	push	3
	push	OFFSET ??_C@_09EJLPKHJK@?$CBlock?0?$CBbl?$AA@
	lea	ecx, DWORD PTR _Chat_vehLock_Reg$[esp+48]
	call	??0?$gzChatCommand_Reg@VgzChat_vehLock@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehLock>::gzChatCommand_Reg<gzChat_vehLock>

; 147  : 	gzChatCommand_Reg<gzChat_vehUnbind> Chat_vehUnbind_Reg("!unbind,!ub");

	push	edi
	push	edi
	push	3
	push	OFFSET ??_C@_0M@KLHGKFPD@?$CBunbind?0?$CBub?$AA@
	lea	ecx, DWORD PTR _Chat_vehUnbind_Reg$[esp+48]
	call	??0?$gzChatCommand_Reg@VgzChat_vehUnbind@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehUnbind>::gzChatCommand_Reg<gzChat_vehUnbind>

; 148  : 	gzChatCommand_Reg<gzChat_vehUnlock> Chat_vehUnlock_Reg("!unlock");

	push	edi
	push	edi
	push	3
	push	OFFSET ??_C@_07NALAGJPE@?$CBunlock?$AA@
	lea	ecx, DWORD PTR _Chat_vehUnlock_Reg$[esp+48]
	call	??0?$gzChatCommand_Reg@VgzChat_vehUnlock@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehUnlock>::gzChatCommand_Reg<gzChat_vehUnlock>

; 149  : 	gzChatCommand_Reg<gzChat_vehKick> Chat_vehKick_Reg("!vkick,!vk");

	push	edi
	push	edi
	push	3
	push	OFFSET ??_C@_0L@CLAIEKAD@?$CBvkick?0?$CBvk?$AA@
	lea	ecx, DWORD PTR _Chat_vehKick_Reg$[esp+48]
	call	??0?$gzChatCommand_Reg@VgzChat_vehKick@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehKick>::gzChatCommand_Reg<gzChat_vehKick>

; 150  : 	gzChatCommand_Reg<gzChat_vehList> Chat_vehList_Reg("!vlist");

	push	edi
	push	edi
	push	3
	push	OFFSET ??_C@_06NBCKLEEL@?$CBvlist?$AA@
	lea	ecx, DWORD PTR _Chat_vehList_Reg$[esp+48]
	call	??0?$gzChatCommand_Reg@VgzChat_vehList@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehList>::gzChatCommand_Reg<gzChat_vehList>

; 151  : 	gzChatCommand_Reg<gzChat_vehStatus> Chat_vehStatus_Reg("!vstats,!vstatus,!vehstats,!vehstatus", MSG_ALL | MSG_TEAM, "VehStatus");

	push	edi
	push	OFFSET ??_C@_09CJCMELCG@VehStatus?$AA@
	push	3
	push	OFFSET ??_C@_0CG@PPHKDIEH@?$CBvstats?0?$CBvstatus?0?$CBvehstats?0?$CBvehs@
	lea	ecx, DWORD PTR _Chat_vehStatus_Reg$[esp+48]
	call	??0?$gzChatCommand_Reg@VgzChat_vehStatus@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_vehStatus>::gzChatCommand_Reg<gzChat_vehStatus>

; 152  : 	gzChatCommand_Reg<gzChat_HarvStatus> gzChat_HarvStatus_Reg("!harvstats,!harvstatus,!hstats,!hstatus", MSG_ALL | MSG_TEAM, "HarvUplink");

	push	edi
	push	OFFSET ??_C@_0L@NGNPBHOB@HarvUplink?$AA@
	push	3
	push	OFFSET ??_C@_0CI@IPBJFLGC@?$CBharvstats?0?$CBharvstatus?0?$CBhstats?0?$CB@
	lea	ecx, DWORD PTR _gzChat_HarvStatus_Reg$[esp+48]
	call	??0?$gzChatCommand_Reg@VgzChat_HarvStatus@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_HarvStatus>::gzChatCommand_Reg<gzChat_HarvStatus>

; 153  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 24					; 00000018H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzManagerVehicle@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
__unwindfunclet$??0gzManagerVehicle@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 44					; 0000002cH
	jmp	??1?$aList@VgzVehicleData@@@@UAE@XZ	; aList<gzVehicleData>::~aList<gzVehicleData>
__unwindfunclet$??0gzManagerVehicle@@QAE@XZ$2:
	mov	eax, DWORD PTR $T73638[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$??0gzManagerVehicle@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzManagerVehicle@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzManagerVehicle@@QAE@XZ ENDP			; gzManagerVehicle::gzManagerVehicle
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzevent.h
;	COMDAT ?Think@gzEvtHandler@@UAEXXZ
_TEXT	SEGMENT
?Think@gzEvtHandler@@UAEXXZ PROC			; gzEvtHandler::Think, COMDAT
; _this$ = ecx

; 65   : 	virtual void Think() { };

	ret	0
?Think@gzEvtHandler@@UAEXXZ ENDP			; gzEvtHandler::Think
_TEXT	ENDS
PUBLIC	??_C@_0BB@PEJFOOAK@gzManagerVehicle?$AA@	; `string'
;	COMDAT ??_C@_0BB@PEJFOOAK@gzManagerVehicle?$AA@
; File d:\source code\gzgm\gzvehicle.h
CONST	SEGMENT
??_C@_0BB@PEJFOOAK@gzManagerVehicle?$AA@ DB 'gzManagerVehicle', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzManagerVehicle@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzManagerVehicle@@UAEPBDXZ PROC		; gzManagerVehicle::GetName, COMDAT
; _this$ = ecx

; 133  : 		return "gzManagerVehicle";

	mov	eax, OFFSET ??_C@_0BB@PEJFOOAK@gzManagerVehicle?$AA@

; 134  : 	};

	ret	0
?GetName@gzManagerVehicle@@UAEPBDXZ ENDP		; gzManagerVehicle::GetName
; Function compile flags: /Odtpy
_TEXT	ENDS
;	COMDAT ?GetName@gzManagerVehicle@@WCE@AEPBDXZ
_TEXT	SEGMENT
?GetName@gzManagerVehicle@@WCE@AEPBDXZ PROC		; [thunk]:gzManagerVehicle::GetName`adjustor{36}', COMDAT
	sub	ecx, 36					; 00000024H
	jmp	?GetName@gzManagerVehicle@@UAEPBDXZ	; gzManagerVehicle::GetName
?GetName@gzManagerVehicle@@WCE@AEPBDXZ ENDP		; [thunk]:gzManagerVehicle::GetName`adjustor{36}'
_TEXT	ENDS
PUBLIC	??1gzManagerVehicle@@UAE@XZ			; gzManagerVehicle::~gzManagerVehicle
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzManagerVehicle@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzManagerVehicle@@UAE@XZ$0
__ehfuncinfo$??1gzManagerVehicle@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzManagerVehicle@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzManagerVehicle@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzManagerVehicle@@UAE@XZ PROC			; gzManagerVehicle::~gzManagerVehicle, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzManagerVehicle@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	lea	ecx, DWORD PTR [esi+44]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	mov	DWORD PTR [ecx], OFFSET ??_7?$aList@VgzVehicleData@@@@6B@
	call	?RemoveAll@?$aList@VgzVehicleData@@@@UAEXXZ ; aList<gzVehicleData>::RemoveAll
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1gzManagerVehicle@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
__ehhandler$??1gzManagerVehicle@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzManagerVehicle@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzManagerVehicle@@UAE@XZ ENDP			; gzManagerVehicle::~gzManagerVehicle
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzManagerVehicle@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzManagerVehicle@@UAEPAXI@Z PROC			; gzManagerVehicle::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzManagerVehicle@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@24
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@24:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzManagerVehicle@@UAEPAXI@Z ENDP			; gzManagerVehicle::`scalar deleting destructor'
_TEXT	ENDS
EXTRN	_atexit:PROC
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzinc.h
;	COMDAT ??__EgzCritical@@YAXXZ
text$yc	SEGMENT
??__EgzCritical@@YAXXZ PROC				; `dynamic initializer for 'gzCritical'', COMDAT

; 53   : static aCriticalSection gzCritical;

	push	OFFSET _gzCritical
	call	DWORD PTR __imp__InitializeCriticalSection@4
	push	OFFSET ??__FgzCritical@@YAXXZ		; `dynamic atexit destructor for 'gzCritical''
	call	_atexit
	pop	ecx
	ret	0
??__EgzCritical@@YAXXZ ENDP				; `dynamic initializer for 'gzCritical''
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
text$yc	ENDS
;	COMDAT ??__EgzObserverVehicle_Registrant@@YAXXZ
text$yc	SEGMENT
??__EgzObserverVehicle_Registrant@@YAXXZ PROC		; `dynamic initializer for 'gzObserverVehicle_Registrant'', COMDAT

; 1308 : nc_ScriptRegistrant<gzObserverVehicle> gzObserverVehicle_Registrant("gzObserverVehicle", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BC@HKIMCODC@gzObserverVehicle?$AA@
	mov	ecx, OFFSET ?gzObserverVehicle_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverVehicle@@@@A ; gzObserverVehicle_Registrant
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserverVehicle_Registrant@@YAXXZ ; `dynamic atexit destructor for 'gzObserverVehicle_Registrant''
	mov	DWORD PTR ?gzObserverVehicle_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverVehicle@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVehicle@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserverVehicle_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'gzObserverVehicle_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0P@INNEHIKC@Vehicle?3string?$AA@		; `string'
;	COMDAT ??_C@_0P@INNEHIKC@Vehicle?3string?$AA@
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
??_C@_0P@INNEHIKC@Vehicle?3string?$AA@ DB 'Vehicle:string', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzvehicle.cpp
CONST	ENDS
;	COMDAT ??__EgzObserverVehicleWreckage_Registrant@@YAXXZ
text$yc	SEGMENT
??__EgzObserverVehicleWreckage_Registrant@@YAXXZ PROC	; `dynamic initializer for 'gzObserverVehicleWreckage_Registrant'', COMDAT

; 1376 : nc_ScriptRegistrant<gzObserverVehicleWreckage> gzObserverVehicleWreckage_Registrant("gzObserverVehicleWreckage", "Vehicle:string");

	push	OFFSET ??_C@_0P@INNEHIKC@Vehicle?3string?$AA@
	push	OFFSET ??_C@_0BK@BFLIAKJF@gzObserverVehicleWreckage?$AA@
	mov	ecx, OFFSET ?gzObserverVehicleWreckage_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@A ; gzObserverVehicleWreckage_Registrant
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserverVehicleWreckage_Registrant@@YAXXZ ; `dynamic atexit destructor for 'gzObserverVehicleWreckage_Registrant''
	mov	DWORD PTR ?gzObserverVehicleWreckage_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserverVehicleWreckage_Registrant@@YAXXZ ENDP	; `dynamic initializer for 'gzObserverVehicleWreckage_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Eunbind@@YAXXZ
text$yc	SEGMENT
??__Eunbind@@YAXXZ PROC					; `dynamic initializer for 'unbind'', COMDAT

; 1404 : UnbindConsoleFunction unbind;

	mov	ecx, OFFSET ?unbind@@3VUnbindConsoleFunction@@A ; unbind
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?unbind@@3VUnbindConsoleFunction@@A, OFFSET ??_7UnbindConsoleFunction@@6B@ ; unbind
	ret	0
??__Eunbind@@YAXXZ ENDP					; `dynamic initializer for 'unbind''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__FgzCritical@@YAXXZ
text$yd	SEGMENT
??__FgzCritical@@YAXXZ PROC				; `dynamic atexit destructor for 'gzCritical'', COMDAT
	push	OFFSET _gzCritical
	call	DWORD PTR __imp__DeleteCriticalSection@4
	ret	0
??__FgzCritical@@YAXXZ ENDP				; `dynamic atexit destructor for 'gzCritical''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObserverVehicle_Registrant@@YAXXZ
text$yd	SEGMENT
??__FgzObserverVehicle_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserverVehicle_Registrant'', COMDAT
	mov	ecx, OFFSET ?gzObserverVehicle_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverVehicle@@@@A ; gzObserverVehicle_Registrant
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserverVehicle_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserverVehicle_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObserverVehicleWreckage_Registrant@@YAXXZ
text$yd	SEGMENT
??__FgzObserverVehicleWreckage_Registrant@@YAXXZ PROC	; `dynamic atexit destructor for 'gzObserverVehicleWreckage_Registrant'', COMDAT
	mov	ecx, OFFSET ?gzObserverVehicleWreckage_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@A ; gzObserverVehicleWreckage_Registrant
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserverVehicleWreckage_Registrant@@YAXXZ ENDP	; `dynamic atexit destructor for 'gzObserverVehicleWreckage_Registrant''
text$yd	ENDS
PUBLIC	?gzObserverVehicle_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverVehicle@@@@A ; gzObserverVehicle_Registrant
PUBLIC	?gzObserverVehicleWreckage_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@A ; gzObserverVehicleWreckage_Registrant
PUBLIC	?unbind@@3VUnbindConsoleFunction@@A		; unbind
_BSS	SEGMENT
?gzObserverVehicle_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverVehicle@@@@A DB 010H DUP (?) ; gzObserverVehicle_Registrant
?gzObserverVehicleWreckage_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverVehicleWreckage@@@@A DB 010H DUP (?) ; gzObserverVehicleWreckage_Registrant
?unbind@@3VUnbindConsoleFunction@@A DD 01H DUP (?)	; unbind
_gzCritical DB	018H DUP (?)
_BSS	ENDS
CRT$XCU	SEGMENT
_gzCritical$initializer$ DD FLAT:??__EgzCritical@@YAXXZ
_gzObserverVehicle_Registrant$initializer$ DD FLAT:??__EgzObserverVehicle_Registrant@@YAXXZ
_gzObserverVehicleWreckage_Registrant$initializer$ DD FLAT:??__EgzObserverVehicleWreckage_Registrant@@YAXXZ
_unbind$initializer$ DD FLAT:??__Eunbind@@YAXXZ
CRT$XCU	ENDS
END
